在drivers / base / firmware_class.c中,此结构中有dev_attr_loading
的引用:
static struct attribute *fw_dev_attrs[] = {
&dev_attr_loading.attr,
NULL
};
该符号可以在哪里定义或生成?它似乎不在源树或生成的文件中的任何位置。我似乎无法找到构建它的宏。我试图想出更多地方或方式来寻找。
答案 0 :(得分:1)
它实际上在同一个文件中。它是由宏创建的:
static DEVICE_ATTR(loading, 0644, firmware_loading_show, firmware_loading_store);
宏在include / linux / device.h中定义:
#define DEVICE_ATTR(_name, _mode, _show, _store) \
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)
" _name"是什么让我在我的搜索;我没有意识到下划线可以用在宏中。