Код: Выделить всё
// create class device attributes
ret = add_classdev_attrs(foo->poo->class_device.class, foo_poo_class_attrs);
if (ret) {
LOG_ERR("failed to add FOO poo class device attributes\n");
}
class_set_devdata(foo->poo->class_device.class, foo);
Код: Выделить всё
class_set_devdata(foo->poo->class_device.class, foo);
Я обнаружил, что скомпилировал библиотеки и скомпилировал приложения для устройства, которое больше не поддерживается, Это бывшая военная техника, и у нее были драйверы unobtainium, так что даже получить их источник было невозможно. Я не могу их перекомпилировать, поэтому он должен работать так же, как и раньше.
Библиотеки и инструменты ищут файлы точно в том же месте, где они находились в 2004 году.
Это косвенно создает некоторые отверстия в памяти в виде файлов в папке:
Код: Выделить всё
/sys/class/foo/device0bar
/sys/class/foo/device0baz
/sys/class/foo/device0qux
Что эквивалентно:
Код: Выделить всё
class_set_devdata(foo->poo->class_device.class, foo);
Подробнее здесь: https://stackoverflow.com/questions/793 ... on-drivers
Мобильная версия