lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <feda265f-f7ba-4017-a08d-b35916aafe96@roeck-us.net>
Date: Wed, 13 Nov 2024 06:15:38 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Mark Brown <broonie@...nel.org>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
 Frank Li <Frank.Li@....com>
Subject: Re: regmap I3C support

On 11/13/24 06:01, Mark Brown wrote:
> 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?

Not really. There is no equivalent to module_i3c_i2c_driver() to handle both
I2C and SPI variants of a chip. Also, SPI and I2C/I3C are not interdependent,
while I3C automatically selects I2C. That means it does make sense to handle
I2C and I3C in the same driver, but not I2C and SPI.

Sure, separate wrappers can be used, but that makes module_i3c_i2c_driver()
pointless.

Guenter


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ