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: <303d2869-2273-f643-e8ff-e27675f929dc@gmail.com>
Date:   Tue, 3 Oct 2023 13:57:45 +0300
From:   Ceclan Dumitru-Ioan <mitrutzceclan@...il.com>
To:     Andy Shevchenko <andy@...nel.org>
Cc:     Jonathan Cameron <jic23@...nel.org>, linus.walleij@...aro.org,
        brgl@...ev.pl, linux-gpio@...r.kernel.org,
        Lars-Peter Clausen <lars@...afoo.de>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Michael Walle <michael@...le.cc>,
        Arnd Bergmann <arnd@...db.de>,
        ChiaEn Wu <chiaen_wu@...htek.com>,
        Niklas Schnelle <schnelle@...ux.ibm.com>,
        Leonard Göhrs <l.goehrs@...gutronix.de>,
        Mike Looijmans <mike.looijmans@...ic.nl>,
        Haibo Chen <haibo.chen@....com>,
        Hugo Villeneuve <hvilleneuve@...onoff.com>,
        Ceclan Dumitru <dumitru.ceclan@...log.com>,
        linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] iio: adc: ad7173: add AD7173 driver

On 10/3/23 13:45, Andy Shevchenko wrote:
> Subject:
> Re: [PATCH v2 2/2] iio: adc: ad7173: add AD7173 driver
> From:
> Andy Shevchenko <andy@...nel.org>
> Date:
> 10/3/23, 13:45
> 
> To:
> Ceclan Dumitru-Ioan <mitrutzceclan@...il.com>
> CC:
> Jonathan Cameron <jic23@...nel.org>, linus.walleij@...aro.org, brgl@...ev.pl, linux-gpio@...r.kernel.org, Lars-Peter Clausen <lars@...afoo.de>, Rob Herring <robh+dt@...nel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Conor Dooley <conor+dt@...nel.org>, Michael Walle <michael@...le.cc>, Arnd Bergmann <arnd@...db.de>, ChiaEn Wu <chiaen_wu@...htek.com>, Niklas Schnelle <schnelle@...ux.ibm.com>, Leonard Göhrs <l.goehrs@...gutronix.de>, Mike Looijmans <mike.looijmans@...ic.nl>, Haibo Chen <haibo.chen@....com>, Hugo Villeneuve <hvilleneuve@...onoff.com>, Ceclan Dumitru <dumitru.ceclan@...log.com>, linux-iio@...r.kernel.org, devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
> 
> 
> On Tue, Oct 03, 2023 at 01:33:36PM +0300, Ceclan Dumitru-Ioan wrote:
>> On 9/30/23 17:05, Jonathan Cameron wrote:
>>> On Thu, 28 Sep 2023 15:54:43 +0300
>>> Dumitru Ceclan <mitrutzceclan@...il.com> wrote>> +config AD7173
>>>> +	tristate "Analog Devices AD7173 driver"
>>>> +	depends on SPI_MASTER
>>>> +	select AD_SIGMA_DELTA
>>>> +	select GPIO_REGMAP
>>> If you are selecting it, why does it have if guards in the driver.
>>> I prefer the select here, so drop this if guards.
>> From what i checked, selecting GPIO_REGMAP does not select GPIOLIB but only REGMAP.
>>
>> Also, in the thread from V1 Arnd Bergmann suggested:
>> 	" I think the best way to handle these is to remove both
>> 	 the 'select' and the #ifdef in the driver and instead use
>> 	 'if (IS_ENABLED(CONFIG_GPIOLIB))' to handle optional gpio
>> 	 providers in the code. "
> Why not simply to be dependent on GPIOLIB like other drivers do in this folder?

I followed the suggestion given by Arnd. The full argument:

"From a Kconfig perspective, any user-visible symbol ideally only uses
'depends on', while hidden symbols usually use 'select'.

For the GPIOLIB symbol specifically, we have a mix of both, but the
overall usage is that gpio consumers only use 'depends on',
while some of the providers use 'select'. This risks causing build
breakage from a dependency loop when combined with other symbols
that have the same problem (e.g. I2C), but it tends to work out
as long as a strong hierarchy is kept. In particular, using 'select'
from an arch/*/Kconfig platform option is generally harmless as
long as those don't depend on anything else.

The new driver is a gpio provider and at least ad4130 and
ad5592r uses 'select' here, but then again ad74115 and
ad74113 use 'depends on' and ads7950 uses neither.

I think the best way to handle these is to remove both
the 'select' and the #ifdef in the driver and instead use
'if (IS_ENABLED(CONFIG_GPIOLIB))' to handle optional gpio
providers in the code."

I do not have a lot of experience with this subject.
As such, if you consider the argument invalid, mention it and i will
change to 'depends on'.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ