Подтвердить что ты не робот

Мои атрибуты слишком яркие, что мне делать?

В драйвере устройства linux создание атрибутов sysfs в probe слишком затянуто - в частности, он испытывает состояние гонки с помощью пользовательского пространства, Рекомендуемое обходное решение заключается в добавлении ваших атрибутов в различные группы атрибутов по умолчанию, чтобы их можно было автоматически создать перед зондом. Для драйвера устройства struct device_driver содержит const struct attribute_group **groups для этой цели.

Однако struct attribute_group получил поле для двоичных атрибутов в Linux 3.11. С более старыми ядрами (в частности, 3.4), как драйвер устройства должен создавать двоичные атрибуты sysfs перед зондом?

4b9b3361

Ответ 1

Цитата (акцент мой) Грег Кроа-Хартман из комментария к запрос слияния (что было скомбинировано Linus как часть цикла разработки 3.11):

Вот некоторые исправления ядра ядра для 3.11-rc2. Они на самом деле не   bugfixes, но куча новых вспомогательных макросов для правильных драйверов   создавать группы атрибутов, драйверы и подсистемы которых должны   тонну проблем гонки с неправильным созданием файлов sysfs (двоичные и   normal) после того, как пользователю было указано, что устройство присутствует.

Также здесь есть возможность создавать двоичные файлы как группы атрибутов, чтобы решить это условие гонки, чего было невозможно сделать до этого, так что по моей вине водители были сломаны.

Таким образом, похоже, что на старых ядрах действительно нет способа решить эту проблему.