Re: [PATCH] mfd: Make MFD_AS3722 depend on I2C=y

From: Geert Uytterhoeven
Date: Tue Nov 19 2013 - 03:20:48 EST


On Tue, Nov 19, 2013 at 12:19 AM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:
> On 11/18/2013 10:25 AM, Michal Marek wrote:
>> MFD_AS3722 can only be builtin, so it needs I2C builtin as well.
>> With I2C=m, we get:
>>
>> drivers/mfd/as3722.c:372: undefined reference to `devm_regmap_init_i2c'
>> drivers/built-in.o: In function `as3722_i2c_driver_init':
>> drivers/mfd/as3722.c:444: undefined reference to `i2c_register_driver'
>> drivers/built-in.o: In function `as3722_i2c_driver_exit':
>> drivers/mfd/as3722.c:444: undefined reference to `i2c_del_driver'
>
> Shouldn't Kconfig handle this; if a Boolean config option depends on a
> tri-state config option, shouldn't it automatically validate that the
> tri-state is "y" not "m"?

Unfortunately not. While tristate is always used to declare code modules,
bool can be used to declare two different things: code modules or optional
features.

For optional features, "depends on x" means "depends on x=y or x=m".
For code modules, "depends on x" should really by "depends on x=y".

To handle this automatically, we need to introduce a new Kconfig symbol,
and convert all the thousands existing ones...

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/