lkml.org 
[lkml]   [2023]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 2/2] iio: adc: ad7173: add AD7173 driver
    On Tue, Oct 3, 2023 at 1:57 PM Ceclan Dumitru-Ioan
    <mitrutzceclan@gmail.com> wrote:
    > On 10/3/23 13:45, Andy Shevchenko wrote:
    > > 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@gmail.com> wrote>> +config AD7173

    ...

    > >>>> + 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'.

    I see, I would ask GPIOLIB maintainers about this.
    I don't know if there is any plan to fix this through the entire
    kernel and which way has been chosen for that.


    --
    With Best Regards,
    Andy Shevchenko

    \
     
     \ /
      Last update: 2023-10-03 13:03    [W:4.588 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site