Message ID | 20211004232103.23893-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: typec: STUSB160X should select REGMAP_I2C | expand |
On 10/5/21 1:21 AM, Randy Dunlap wrote: > REGMAP_I2C is not a user visible kconfig symbol so driver configs > should not "depend on" it. They should depend on I2C and then > select REGMAP_I2C. > > If this worked, it was only because some other driver had set/enabled > REGMAP_I2C. > > Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Thanks for your patch. Reviewed-by: Amelie Delaunay <amelie.delaunay@foss.st.com> > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Cc: Amelie Delaunay <amelie.delaunay@st.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: linux-usb@vger.kernel.org > --- > drivers/usb/typec/Kconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > --- lnx-515-rc4.orig/drivers/usb/typec/Kconfig > +++ lnx-515-rc4/drivers/usb/typec/Kconfig > @@ -65,9 +65,9 @@ config TYPEC_HD3SS3220 > > config TYPEC_STUSB160X > tristate "STMicroelectronics STUSB160x Type-C controller driver" > - depends on I2C > - depends on REGMAP_I2C > depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH > + depends on I2C > + select REGMAP_I2C > help > Say Y or M here if your system has STMicroelectronics STUSB160x > Type-C port controller. >
On Mon, Oct 04, 2021 at 04:21:03PM -0700, Randy Dunlap wrote: > REGMAP_I2C is not a user visible kconfig symbol so driver configs > should not "depend on" it. They should depend on I2C and then > select REGMAP_I2C. > > If this worked, it was only because some other driver had set/enabled > REGMAP_I2C. > > Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Cc: Amelie Delaunay <amelie.delaunay@st.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: linux-usb@vger.kernel.org Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > drivers/usb/typec/Kconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > --- lnx-515-rc4.orig/drivers/usb/typec/Kconfig > +++ lnx-515-rc4/drivers/usb/typec/Kconfig > @@ -65,9 +65,9 @@ config TYPEC_HD3SS3220 > > config TYPEC_STUSB160X > tristate "STMicroelectronics STUSB160x Type-C controller driver" > - depends on I2C > - depends on REGMAP_I2C > depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH > + depends on I2C > + select REGMAP_I2C > help > Say Y or M here if your system has STMicroelectronics STUSB160x > Type-C port controller.
On Mon, Oct 04, 2021 at 04:21:03PM -0700, Randy Dunlap wrote: > REGMAP_I2C is not a user visible kconfig symbol so driver configs > should not "depend on" it. They should depend on I2C and then > select REGMAP_I2C. > > If this worked, it was only because some other driver had set/enabled > REGMAP_I2C. > > Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Cc: Amelie Delaunay <amelie.delaunay@st.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: linux-usb@vger.kernel.org > --- > drivers/usb/typec/Kconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) With this applied, I get the following build error: drivers/of/Kconfig:69:error: recursive dependency detected! drivers/of/Kconfig:69: symbol OF_IRQ depends on IRQ_DOMAIN kernel/irq/Kconfig:59: symbol IRQ_DOMAIN is selected by REGMAP drivers/base/regmap/Kconfig:7: symbol REGMAP default is visible depending on REGMAP_I2C drivers/base/regmap/Kconfig:20:symbol REGMAP_I2C is selected by TYPEC_STUSB160X drivers/usb/typec/Kconfig:66: symbol TYPEC_STUSB160X depends on USB_ROLE_SWITCH drivers/usb/roles/Kconfig:3: symbol USB_ROLE_SWITCH is selected by USB_MUSB_MEDIATEK drivers/usb/musb/Kconfig:119: symbol USB_MUSB_MEDIATEK depends on GENERIC_PHY drivers/phy/Kconfig:8: symbol GENERIC_PHY is selected by PHY_BCM_NS_USB3 drivers/phy/broadcom/Kconfig:49: symbol PHY_BCM_NS_USB3 depends on MDIO_BUS drivers/net/mdio/Kconfig:13: symbol MDIO_BUS depends on MDIO_DEVICE drivers/net/mdio/Kconfig:6: symbol MDIO_DEVICE is selected by PHYLIB drivers/net/phy/Kconfig:16: symbol PHYLIB is selected by ARC_EMAC_CORE drivers/net/ethernet/arc/Kconfig:19: symbol ARC_EMAC_CORE is selected by ARC_EMAC drivers/net/ethernet/arc/Kconfig:25: symbol ARC_EMAC depends on OF_IRQ For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations" So I can't take it as-is :( thanks, greg k-h
On 10/5/21 4:48 AM, Greg Kroah-Hartman wrote: > On Mon, Oct 04, 2021 at 04:21:03PM -0700, Randy Dunlap wrote: >> REGMAP_I2C is not a user visible kconfig symbol so driver configs >> should not "depend on" it. They should depend on I2C and then >> select REGMAP_I2C. >> >> If this worked, it was only because some other driver had set/enabled >> REGMAP_I2C. >> >> Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family") >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> >> Cc: Amelie Delaunay <amelie.delaunay@st.com> >> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> >> Cc: linux-usb@vger.kernel.org >> --- >> drivers/usb/typec/Kconfig | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) > > With this applied, I get the following build error: > > drivers/of/Kconfig:69:error: recursive dependency detected! > drivers/of/Kconfig:69: symbol OF_IRQ depends on IRQ_DOMAIN > kernel/irq/Kconfig:59: symbol IRQ_DOMAIN is selected by REGMAP > drivers/base/regmap/Kconfig:7: symbol REGMAP default is visible depending on REGMAP_I2C > drivers/base/regmap/Kconfig:20:symbol REGMAP_I2C is selected by TYPEC_STUSB160X > drivers/usb/typec/Kconfig:66: symbol TYPEC_STUSB160X depends on USB_ROLE_SWITCH > drivers/usb/roles/Kconfig:3: symbol USB_ROLE_SWITCH is selected by USB_MUSB_MEDIATEK > drivers/usb/musb/Kconfig:119: symbol USB_MUSB_MEDIATEK depends on GENERIC_PHY > drivers/phy/Kconfig:8: symbol GENERIC_PHY is selected by PHY_BCM_NS_USB3 > drivers/phy/broadcom/Kconfig:49: symbol PHY_BCM_NS_USB3 depends on MDIO_BUS > drivers/net/mdio/Kconfig:13: symbol MDIO_BUS depends on MDIO_DEVICE > drivers/net/mdio/Kconfig:6: symbol MDIO_DEVICE is selected by PHYLIB > drivers/net/phy/Kconfig:16: symbol PHYLIB is selected by ARC_EMAC_CORE > drivers/net/ethernet/arc/Kconfig:19: symbol ARC_EMAC_CORE is selected by ARC_EMAC > drivers/net/ethernet/arc/Kconfig:25: symbol ARC_EMAC depends on OF_IRQ > For a resolution refer to Documentation/kbuild/kconfig-language.rst > subsection "Kconfig recursive dependency limitations" > > So I can't take it as-is :( Darn, I never saw that, but I'll look into it. thanks.
On 10/5/21 12:04 PM, Randy Dunlap wrote: > On 10/5/21 4:48 AM, Greg Kroah-Hartman wrote: >> On Mon, Oct 04, 2021 at 04:21:03PM -0700, Randy Dunlap wrote: >>> REGMAP_I2C is not a user visible kconfig symbol so driver configs >>> should not "depend on" it. They should depend on I2C and then >>> select REGMAP_I2C. >>> >>> If this worked, it was only because some other driver had set/enabled >>> REGMAP_I2C. >>> >>> Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family") >>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >>> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> >>> Cc: Amelie Delaunay <amelie.delaunay@st.com> >>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> >>> Cc: linux-usb@vger.kernel.org >>> --- >>> drivers/usb/typec/Kconfig | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> With this applied, I get the following build error: >> >> drivers/of/Kconfig:69:error: recursive dependency detected! >> drivers/of/Kconfig:69: symbol OF_IRQ depends on IRQ_DOMAIN >> kernel/irq/Kconfig:59: symbol IRQ_DOMAIN is selected by REGMAP >> drivers/base/regmap/Kconfig:7: symbol REGMAP default is visible depending on REGMAP_I2C >> drivers/base/regmap/Kconfig:20:symbol REGMAP_I2C is selected by TYPEC_STUSB160X >> drivers/usb/typec/Kconfig:66: symbol TYPEC_STUSB160X depends on USB_ROLE_SWITCH >> drivers/usb/roles/Kconfig:3: symbol USB_ROLE_SWITCH is selected by USB_MUSB_MEDIATEK >> drivers/usb/musb/Kconfig:119: symbol USB_MUSB_MEDIATEK depends on GENERIC_PHY >> drivers/phy/Kconfig:8: symbol GENERIC_PHY is selected by PHY_BCM_NS_USB3 >> drivers/phy/broadcom/Kconfig:49: symbol PHY_BCM_NS_USB3 depends on MDIO_BUS >> drivers/net/mdio/Kconfig:13: symbol MDIO_BUS depends on MDIO_DEVICE >> drivers/net/mdio/Kconfig:6: symbol MDIO_DEVICE is selected by PHYLIB >> drivers/net/phy/Kconfig:16: symbol PHYLIB is selected by ARC_EMAC_CORE >> drivers/net/ethernet/arc/Kconfig:19: symbol ARC_EMAC_CORE is selected by ARC_EMAC >> drivers/net/ethernet/arc/Kconfig:25: symbol ARC_EMAC depends on OF_IRQ >> For a resolution refer to Documentation/kbuild/kconfig-language.rst >> subsection "Kconfig recursive dependency limitations" >> >> So I can't take it as-is :( > > Darn, I never saw that, but I'll look into it. Yeah, I easily see that in linux-next instead of mainline. Still digging into it. :(
--- lnx-515-rc4.orig/drivers/usb/typec/Kconfig +++ lnx-515-rc4/drivers/usb/typec/Kconfig @@ -65,9 +65,9 @@ config TYPEC_HD3SS3220 config TYPEC_STUSB160X tristate "STMicroelectronics STUSB160x Type-C controller driver" - depends on I2C - depends on REGMAP_I2C depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH + depends on I2C + select REGMAP_I2C help Say Y or M here if your system has STMicroelectronics STUSB160x Type-C port controller.
REGMAP_I2C is not a user visible kconfig symbol so driver configs should not "depend on" it. They should depend on I2C and then select REGMAP_I2C. If this worked, it was only because some other driver had set/enabled REGMAP_I2C. Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Amelie Delaunay <amelie.delaunay@st.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-usb@vger.kernel.org --- drivers/usb/typec/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)