On Mon, Nov 11, 2024 at 11:07:40AM -0800, Guenter Roeck wrote:
For simpler I2C / I3C devices, there is module_i3c_i2c_driver() which is
supposed to register both the I2C and the I3C drivers and handle the situation
where I3C is not enabled.
That works fine unless the driver uses regmap, but I3C and with it REGMAP_I3C
is not enabled. There is no dummy function for devm_regmap_init_i3c(), so
a probe function for an I2C/I3C driver utilizing regmap can not be built
unless REGMAP_I3C and with it I3C is enabled. Ultimately that means that
I2C/I3C drivers using regmap can not use module_i3c_i2c_driver() to register
the driver.
Am I missing something ? Otherwise, would it be possible to consider
a dummy devm_regmap_init_i3c() function if REGMAP_I3C=n ?
Don't these drivers end up with the same miserable problems with
dependencies on variations of things being configured built in and
modules anyway that mean we build separate SPI and I2C bus wrappers for
the same case with devices that do both I2C and SPI?