[PATCH v18 2/8] mfd: simple-mfd-i2c: Add a Kconfig name

Guenter Roeck linux at roeck-us.net
Sat Mar 19 07:48:17 PDT 2022


On 3/19/22 02:28, Geert Uytterhoeven wrote:
> Hi Alistair,
> 
> On Sat, Mar 19, 2022 at 3:36 AM Alistair Francis <alistair23 at gmail.com> wrote:
>> On Tue, Mar 8, 2022 at 8:53 PM Geert Uytterhoeven <geert at linux-m68k.org> wrote:
>>> Thanks for your patch, which is now commit bae5a4acef67db88
>>> ("mfd: simple-mfd-i2c: Add a Kconfig name") in mfd/for-mfd-next.
>>>
>>> On Mon, Jan 24, 2022 at 1:24 PM Alistair Francis <alistair at alistair23.me> wrote:
>>>> Add a Kconfig name to the "Simple Multi-Functional Device support (I2C)"
>>>> device so that it can be enabled via menuconfig.
>>>
>>> Which still does not explain why this would be needed...
>>>
>>>> Signed-off-by: Alistair Francis <alistair at alistair23.me>
>>>> Acked-for-MFD-by: Lee Jones <lee.jones at linaro.org>
>>>
>>>> --- a/drivers/mfd/Kconfig
>>>> +++ b/drivers/mfd/Kconfig
>>>> @@ -1188,7 +1188,7 @@ config MFD_SI476X_CORE
>>>>            module will be called si476x-core.
>>>>
>>>>   config MFD_SIMPLE_MFD_I2C
>>>> -       tristate
>>>> +       tristate "Simple Multi-Functional Device support (I2C)"
>>>>          depends on I2C
>>>>          select MFD_CORE
>>>>          select REGMAP_I2C
>>>
>>> The help text states:
>>>
>>> | This driver creates a single register map with the intention for it
>>> | to be shared by all sub-devices.
>>>
>>> Yes, that's what MFD does?
>>>
>>> | Once the register map has been successfully initialised, any
>>> | sub-devices represented by child nodes in Device Tree will be
>>> | subsequently registered.
>>>
>>> OK...?
>>>
>>> Still, no clue about what this driver really does, and why and when
>>> it would be needed.
>>>
>>> There is one driver symbol that selects MFD_SIMPLE_MFD_I2C.
>>> There are no driver symbols that depend on this symbol.
>>>
>>> If you have a driver in the pipeline that can make use of this,
>>> can't it just select MFD_SIMPLE_MFD_I2C, so the symbol itself can
>>> stay invisible?
>>
>> My patch "mfd: simple-mfd-i2c: Enable support for the silergy,sy7636a"
>> allows using this driver for the silergy,sy7636a MFD. So it's nice to
>> be able to enable and disable it as required.
> 
> So after that patch, enabling MFD_SIMPLE_MFD_I2C will enable
> support for an ever-growing random bunch of devices, none of which
> is described in the help text?
> To me, ghat doesn't look like the way to go forward...
> 

I am probably missing something. Why not something like the following ?

config MFD_SY7636A
         tristate "Silergy SY7636A voltage regulator"
         depends on I2C
         select MFD_SIMPLE_MFD_I2C
         help
           Enable support for Silergy SY7636A voltage regulator.

           To enable support for building sub-devices as modules,
           choose M here.


This would be quite similar to MFD_SL28CPLD which essentially does
the same (and, unless I am missing something, doesn't have its own
driver either). Sub-devices would then depend on MFD_SY7636A.

Guenter

> Gr{oetje,eeting}s,
> 
>                          Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                  -- Linus Torvalds




More information about the linux-arm-kernel mailing list