Re: [PATCH v2 1/1]: iio: light: rpr0521: add missing Kconfig dependencies

From: Paul Gazzillo
Date: Mon Nov 14 2022 - 11:22:21 EST


On 11/12/2022, Jonathan Cameron wrote:
> On Fri, 11 Nov 2022 10:25:39 -0500
> Paul Gazzillo <paul@xxxxxxxxx> wrote:
>
> > On 11/11/2022, Andy Shevchenko wrote:
> > > On Thu, Nov 10, 2022 at 04:47:29PM -0500, Paul Gazzillo wrote:
> > > > Fix an implicit declaration of function error for rpr0521 under some configs
> > > >
> > > > When CONFIG_RPR0521 is enabled without CONFIG_IIO_TRIGGERED_BUFFER,
> > > > the build results in "implicit declaration of function" errors, e.g.,
> > > > drivers/iio/light/rpr0521.c:434:3: error: implicit declaration of function
> > > > 'iio_trigger_poll_chained' [-Werror=implicit-function-declaration]
> > > > 434 | iio_trigger_poll_chained(data->drdy_trigger0);
> > > > | ^~~~~~~~~~~~~~~~~~~~~~~~
> > > >
> > > > This fix adds select dependencies to RPR0521's configuration declaration.
> > > >
> > > > Signed-off-by: Paul Gazzillo <paul@xxxxxxxxx>
> > > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=216678
> > >
> > > No need to create a bugzilla report on such tiny issues that do actually not
> > > affect the working configurations.
> >
> > Understood. Thanks for your help!
>
> I wonder why it has taken so long for this build issue to get reported?
>

There seem to be lots of combinations of configuration options that
don't get tested or even built (understandably, given the enormous
number of options), leaving Kconfig with an incomplete picture of
dependencies. There's just too many to test, though if users are only
using some predefined .config files (or testers are using only
allyesconfig) they may not encounter these corner cases that slip
through Kconfig (and maybe these cases aren't really very high
impact). Our team's been researching how to better test across
configurations; one of our tools for finding unmet Kconfig dependency
bugs (kismet) is now being run by Intel's kernel test robot, but we're
also working on how to improve run-time testing as well, and I ran
across a configuration that triggered this build error. In case
you're interested, here's our current tooling:
https://github.com/paulgazz/kmax
Let me know if you have any related painpoints that this work might
help with. I work in academia with funding that encourages
open-sourcing the results, so it's great to have real-world problems
that can provide a tangible benefit.

> Ah well. This is missing a fixes tag. I added
> Fixes: e12ffd241c00 ("iio: light: rpr0521 triggered buffer")

Thank you!

>
> Applied to the fixes-togreg branch of iio.git.
>
> Thanks,
>
> Jonathan
>
>
>
> >
> > >
> > > FWIW,
> > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > >
> > > > ---
> > > > V1 -> V2: Cleaned up commit message per reviewer comments and added link
> > > > to bug report.
> > > >
> > > > drivers/iio/light/Kconfig | 2 ++
> > > > 1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/drivers/iio/light/Kconfig b/drivers/iio/light/Kconfig
> > > > index 7cf6e8490123..0d4447df7200 100644
> > > > --- a/drivers/iio/light/Kconfig
> > > > +++ b/drivers/iio/light/Kconfig
> > > > @@ -293,6 +293,8 @@ config RPR0521
> > > > tristate "ROHM RPR0521 ALS and proximity sensor driver"
> > > > depends on I2C
> > > > select REGMAP_I2C
> > > > + select IIO_BUFFER
> > > > + select IIO_TRIGGERED_BUFFER
> > > > help
> > > > Say Y here if you want to build support for ROHM's RPR0521
> > > > ambient light and proximity sensor device.
> > > > --
> > > > 2.25.1
> > >
> > > --
> > > With Best Regards,
> > > Andy Shevchenko
> >
> > Best,
> > Paul