Я пытаюсь научиться писать модуль sysfs и запутался в базовой инициализации. В этом документе рассматривается kobject.h существует несколько различных функций, связанных с созданием записи sysfs.
Судя по всему, функция «kobject_init_and_add» кажется правильной для использования, которая требует следующего:
90 int kobject_init_and_add(struct kobject *kobj,
91 struct kobj_type *ktype, struct kobject *parent,
92 const char *fmt, ...);
struct kobject и struct kobj_type достаточно просты, но я не понимаю, что такое *parent kobject и *fmt cstring.
Далее, после инициализации этих объектов, мне нужно было бы удалить их в функции exit_module, но возможны два варианта: kobject_del и kobject_puts. Каковы различия между ними?
Частично мое замешательство связано с тем фактом, что при поиске ответа в Google я вижу учебные пособия, в которых говорится, что вместо этого следует использовать такие функции, как kobject_register, но на самом деле эта функция не существует.