MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
Fixes: 3abee4579484 ("mfd: Add simple regmap based I2C driver")
Signed-off-by: Robert Marko <[email protected]>
---
drivers/mfd/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 61992edf6a4d..2de69892b631 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -1204,6 +1204,7 @@ config MFD_SI476X_CORE
config MFD_SIMPLE_MFD_I2C
tristate
depends on I2C
+ select MFD_CORE
select REGMAP_I2C
help
This driver creates a single register map with the intention for it
--
2.33.1
On Tue, 02 Nov 2021, Robert Marko wrote:
> MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
>
> aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
> drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
What is your use-case?
How are you enabling this symbol?
> Fixes: 3abee4579484 ("mfd: Add simple regmap based I2C driver")
> Signed-off-by: Robert Marko <[email protected]>
> ---
> drivers/mfd/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 61992edf6a4d..2de69892b631 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -1204,6 +1204,7 @@ config MFD_SI476X_CORE
> config MFD_SIMPLE_MFD_I2C
> tristate
> depends on I2C
> + select MFD_CORE
> select REGMAP_I2C
> help
> This driver creates a single register map with the intention for it
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Tue, Nov 2, 2021 at 12:17 PM Lee Jones <[email protected]> wrote:
>
> On Tue, 02 Nov 2021, Robert Marko wrote:
>
> > MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
> >
> > aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
> > drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
>
> What is your use-case?
>
> How are you enabling this symbol?
Hi Lee,
I am adding a symbol like MFD_SL28CPLD does that you can depend on and
that simply
selects the MFD_SIMPLE_MFD_I2C and I have hit this issue since the
MFD_CORE is not selected.
Regards,
Robert
>
> > Fixes: 3abee4579484 ("mfd: Add simple regmap based I2C driver")
> > Signed-off-by: Robert Marko <[email protected]>
> > ---
> > drivers/mfd/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > index 61992edf6a4d..2de69892b631 100644
> > --- a/drivers/mfd/Kconfig
> > +++ b/drivers/mfd/Kconfig
> > @@ -1204,6 +1204,7 @@ config MFD_SI476X_CORE
> > config MFD_SIMPLE_MFD_I2C
> > tristate
> > depends on I2C
> > + select MFD_CORE
> > select REGMAP_I2C
> > help
> > This driver creates a single register map with the intention for it
>
> --
> Lee Jones [李琼斯]
> Senior Technical Lead - Developer Services
> Linaro.org │ Open source software for Arm SoCs
> Follow Linaro: Facebook | Twitter | Blog
--
Robert Marko
Staff Embedded Linux Engineer
Sartura Ltd.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: [email protected]
Web: http://www.sartura.hr
On Tue, 02 Nov 2021, Robert Marko wrote:
> On Tue, Nov 2, 2021 at 12:17 PM Lee Jones <[email protected]> wrote:
> >
> > On Tue, 02 Nov 2021, Robert Marko wrote:
> >
> > > MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
> > >
> > > aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
> > > drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
> >
> > What is your use-case?
> >
> > How are you enabling this symbol?
>
> Hi Lee,
> I am adding a symbol like MFD_SL28CPLD does that you can depend on and
> that simply
> selects the MFD_SIMPLE_MFD_I2C and I have hit this issue since the
> MFD_CORE is not selected.
That's interesting.
I wonder how MFD_SL28CPLD selects it?
> > > Fixes: 3abee4579484 ("mfd: Add simple regmap based I2C driver")
> > > Signed-off-by: Robert Marko <[email protected]>
> > > ---
> > > drivers/mfd/Kconfig | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > > index 61992edf6a4d..2de69892b631 100644
> > > --- a/drivers/mfd/Kconfig
> > > +++ b/drivers/mfd/Kconfig
> > > @@ -1204,6 +1204,7 @@ config MFD_SI476X_CORE
> > > config MFD_SIMPLE_MFD_I2C
> > > tristate
> > > depends on I2C
> > > + select MFD_CORE
> > > select REGMAP_I2C
> > > help
> > > This driver creates a single register map with the intention for it
> >
>
>
>
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Tue, Nov 2, 2021 at 12:35 PM Lee Jones <[email protected]> wrote:
>
> On Tue, 02 Nov 2021, Robert Marko wrote:
>
> > On Tue, Nov 2, 2021 at 12:17 PM Lee Jones <[email protected]> wrote:
> > >
> > > On Tue, 02 Nov 2021, Robert Marko wrote:
> > >
> > > > MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
> > > >
> > > > aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
> > > > drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
> > >
> > > What is your use-case?
> > >
> > > How are you enabling this symbol?
> >
> > Hi Lee,
> > I am adding a symbol like MFD_SL28CPLD does that you can depend on and
> > that simply
> > selects the MFD_SIMPLE_MFD_I2C and I have hit this issue since the
> > MFD_CORE is not selected.
>
> That's interesting.
>
> I wonder how MFD_SL28CPLD selects it?
It doesn't, it just selects MFD_SIMPLE_MFD_I2C
MFD_CORE is probably selected by something else masking this issue.
Regards,
Robert
>
> > > > Fixes: 3abee4579484 ("mfd: Add simple regmap based I2C driver")
> > > > Signed-off-by: Robert Marko <[email protected]>
> > > > ---
> > > > drivers/mfd/Kconfig | 1 +
> > > > 1 file changed, 1 insertion(+)
> > > >
> > > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > > > index 61992edf6a4d..2de69892b631 100644
> > > > --- a/drivers/mfd/Kconfig
> > > > +++ b/drivers/mfd/Kconfig
> > > > @@ -1204,6 +1204,7 @@ config MFD_SI476X_CORE
> > > > config MFD_SIMPLE_MFD_I2C
> > > > tristate
> > > > depends on I2C
> > > > + select MFD_CORE
> > > > select REGMAP_I2C
> > > > help
> > > > This driver creates a single register map with the intention for it
> > >
> >
> >
> >
>
> --
> Lee Jones [李琼斯]
> Senior Technical Lead - Developer Services
> Linaro.org │ Open source software for Arm SoCs
> Follow Linaro: Facebook | Twitter | Blog
--
Robert Marko
Staff Embedded Linux Engineer
Sartura Ltd.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: [email protected]
Web: http://www.sartura.hr
Am 2021-11-02 12:17, schrieb Lee Jones:
> On Tue, 02 Nov 2021, Robert Marko wrote:
>
>> MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build
>> error:
>>
>> aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function
>> `simple_mfd_i2c_probe':
>> drivers/mfd/simple-mfd-i2c.c:55: undefined reference to
>> `devm_mfd_add_devices'
>
> What is your use-case?
>
> How are you enabling this symbol?
Mh? drivers/mfd/simple-mfd-i2c.c is using devm_mfd_add_devices which
is provided by drivers/mfd/core.c. So select MFD_CORE is clearly
missing here, no? I mean most of the MFD drivers do a "select MFD_CORE".
-michael
On Tue, 02 Nov 2021, Michael Walle wrote:
> Am 2021-11-02 12:17, schrieb Lee Jones:
> > On Tue, 02 Nov 2021, Robert Marko wrote:
> >
> > > MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build
> > > error:
> > >
> > > aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function
> > > `simple_mfd_i2c_probe':
> > > drivers/mfd/simple-mfd-i2c.c:55: undefined reference to
> > > `devm_mfd_add_devices'
> >
> > What is your use-case?
> >
> > How are you enabling this symbol?
>
> Mh? drivers/mfd/simple-mfd-i2c.c is using devm_mfd_add_devices which
> is provided by drivers/mfd/core.c. So select MFD_CORE is clearly
> missing here, no? I mean most of the MFD drivers do a "select MFD_CORE".
I'm not debating that. The patch is fine.
I am however, interested in how MFD_CORE is enabled for MFD_SL28CPLD.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
On Tue, 02 Nov 2021, Robert Marko wrote:
> On Tue, Nov 2, 2021 at 12:35 PM Lee Jones <[email protected]> wrote:
> >
> > On Tue, 02 Nov 2021, Robert Marko wrote:
> >
> > > On Tue, Nov 2, 2021 at 12:17 PM Lee Jones <[email protected]> wrote:
> > > >
> > > > On Tue, 02 Nov 2021, Robert Marko wrote:
> > > >
> > > > > MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
> > > > >
> > > > > aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
> > > > > drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
> > > >
> > > > What is your use-case?
> > > >
> > > > How are you enabling this symbol?
> > >
> > > Hi Lee,
> > > I am adding a symbol like MFD_SL28CPLD does that you can depend on and
> > > that simply
> > > selects the MFD_SIMPLE_MFD_I2C and I have hit this issue since the
> > > MFD_CORE is not selected.
> >
> > That's interesting.
> >
> > I wonder how MFD_SL28CPLD selects it?
>
> It doesn't, it just selects MFD_SIMPLE_MFD_I2C
>
> MFD_CORE is probably selected by something else masking this issue.
Right. That's what I'm trying to get to the bottom of.
Don't worry, the patch will be accepted.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Am 3. November 2021 08:32:28 MEZ schrieb Lee Jones <[email protected]>:
>On Tue, 02 Nov 2021, Michael Walle wrote:
>
>> Am 2021-11-02 12:17, schrieb Lee Jones:
>> > On Tue, 02 Nov 2021, Robert Marko wrote:
>> >
>> > > MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build
>> > > error:
>> > >
>> > > aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function
>> > > `simple_mfd_i2c_probe':
>> > > drivers/mfd/simple-mfd-i2c.c:55: undefined reference to
>> > > `devm_mfd_add_devices'
>> >
>> > What is your use-case?
>> >
>> > How are you enabling this symbol?
>>
>> Mh? drivers/mfd/simple-mfd-i2c.c is using devm_mfd_add_devices which
>> is provided by drivers/mfd/core.c. So select MFD_CORE is clearly
>> missing here, no? I mean most of the MFD drivers do a "select MFD_CORE".
>
>I'm not debating that. The patch is fine.
>
>I am however, interested in how MFD_CORE is enabled for MFD_SL28CPLD.
Because I'm mostly using the arch defconfig (arm64) it
must have missed it because it was probably already
enabled by another mfd driver.
-michael
On Tue, 02 Nov 2021, Robert Marko wrote:
> MFD_SIMPLE_MFD_I2C should select the MFD_CORE to a prevent build error:
>
> aarch64-linux-ld: drivers/mfd/simple-mfd-i2c.o: in function `simple_mfd_i2c_probe':
> drivers/mfd/simple-mfd-i2c.c:55: undefined reference to `devm_mfd_add_devices'
>
> Fixes: 3abee4579484 ("mfd: Add simple regmap based I2C driver")
> Signed-off-by: Robert Marko <[email protected]>
> ---
> drivers/mfd/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
In case you missed it, this patch was merged in v5.16-rc1.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog