On Fri, Mar 7, 2014 at 6:34 PM, Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote: > On Fri, Mar 07, 2014 at 11:07:51AM +0100, Maxime Ripard wrote: >> Hi Russell, >> >> On Fri, Mar 07, 2014 at 09:52:23AM +0000, Russell King - ARM Linux wrote: >> > On Tue, Mar 04, 2014 at 05:28:37PM +0100, Maxime Ripard wrote: >> > > The Allwinner A31 SoC using that IP has a reset controller maintaining >> > > it reset unless told otherwise. >> > > >> > > Add some optional reset support to the driver. >> > > >> > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> >> > > Reviewed-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> >> > > Tested-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> >> > >> > This appears to be causing some build errors in Olof's next builder >> > for many of the ARM platforms which make use of this: >> > >> > drivers/i2c/busses/i2c-mv64xxx.c:924: undefined reference to `reset_control_assert' >> > drivers/i2c/busses/i2c-mv64xxx.c:904: undefined reference to `reset_control_assert' >> > drivers/i2c/busses/i2c-mv64xxx.c:771: undefined reference to `devm_reset_control_get' >> > drivers/i2c/busses/i2c-mv64xxx.c:778: undefined reference to `reset_control_deassert' >> >> The reset framework doesn't define its functions when its not >> selected, and somehow I think it was not here. What's odd is that >> there is an explicit select on RESET_CONTROLLER in the Kconfig. Maybe >> it's the circular dependency issue that has been reported that cause >> this and Wolfram sent a patch for: http://patchwork.ozlabs.org/patch/327573/ > > If that patch has been taken, then yes, it will have caused the above - > because now we have Dove and Kirkwood platforms trying to build this > driver without RESET_CONTROLLER being set. > > The problem with depending on RESET_CONTROLLER is that then these > platforms end up without their I2C controller - because there's nothing > which enables RESET_CONTROLLER in their configuration. > > Since RESET_CONTROLLER is not required for those platforms, it really > should be optional - and I think the real fix is for the reset controller > support to provide stub functions. Philipp Zabel suggested that adding a _optional variant that provides stubs and doesn't depend on RESET_CONTROLLER is probably better. This keeps the compile time checks for drivers requiring it. See: https://lkml.org/lkml/2014/1/10/220 I ended up dropping my patch though. Cheers, ChenYu -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html