On 14/08/2023 23:44, James Ogletree wrote: >>>> I don't think this is a module. >>> >>> It can be compiled as a module with CONFIG_INPUT_CS40L50=m. However, there is a >>> typo in the Kconfig entry description: the module will be called “cs40l50” not “cs40l50-core”. >>> That will be fixed. >> >> Really, *this* unit file can be compiled as module? Where is the >> module_xxx_driver() then? >> > > As I understand it, the “module_XXX_driver()” has nothing to do with whether or not the file is built as a module, rather it just provides code to attach the driver to a bus. But this is a bus-agnostic, separate module (not a driver in itself) that provides implementation to cs40l26-i2c or cs40l26-spi drivers, which do contain that macro as they should. This doesn’t appear to be an uncommon pattern. I see now in the Makefile that it can be indeed built as module and compiled on its own. It's fine then. Best regards, Krzysztof