В ядре Linux, учитывая kobject объект, откуда можно узнать , инкапсулирован ли он в device struct?
kobject
device
См. LWN Артикул .
В итоге
struct kobj_type *ktype = get_ktype(kobj); if (ktype == &device_ktype) { struct device *dev = to_dev(kobj); }