In the definition of struct device,there is a fwnode field defined,
struct device {
...
struct fwnode_handle *fwnode; /* firmware device node */
...
}
And the corresponding file is in include/linux/fwnode.h:
struct fwnode_reference_args {
struct fwnode_handle *fwnode;
unsigned int nargs;
unsigned int args[NR_FWNODE_REFERENCE_ARGS];
};
...
Then I search it on the website, but can not find the detail explaining of this part (fwnode) of kernel so what does it mean? And what does it do? Can you provide a documentation for reference.