Message ID | 20180709142426.26999-2-mpe@ellerman.id.au (mailing list archive) |
---|---|
State | Accepted |
Commit | 64de5d8d0457c325e2226c9c7efb37b1f772076c |
Headers | show |
Series | [1/2] powerpc: Add ppc32_allmodconfig defconfig target | expand |
On 07/09/18 07:24, Michael Ellerman wrote: > Similarly as we just did for 32-bit, add phony targets for generating > a little endian and Book3E allmodconfig. These aren't covered by the > regular allmodconfig, which is big endian and Book3S due to the way > the Kconfig symbols are structured. [adding Felipe Balbi] Is book3e allmodconfig not seen/used very much? Besides the patches that I have already sent, I am seeing a build problem with ppc64_book3e_allmodconfig, where we have: CONFIG_USB_PHY=y CONFIG_FSL_USB2_OTG=y but CONFIG_USB_OTG_FSM=m In drivers/usb/phy/Kconfig, FSL_USB2_OTG depends on USB_OTG_FSM (among other things), but! FSL_USB2_OTG is a bool symbol, depending on a tristate symbol. This often causes problems. In this case it causes errors with a builtin driver trying to use symbols that are built in a loadable module: drivers/usb/phy/phy-fsl-usb.o: In function `.fsl_otg_ioctl': phy-fsl-usb.c:(.text.fsl_otg_ioctl+0xb4): undefined reference to `.otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `.fsl_otg_start_srp': phy-fsl-usb.c:(.text.fsl_otg_start_srp+0x4c): undefined reference to `.otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `.fsl_otg_set_host': phy-fsl-usb.c:(.text.fsl_otg_set_host+0xd0): undefined reference to `.otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `.fsl_otg_start_hnp': phy-fsl-usb.c:(.text.fsl_otg_start_hnp+0x68): undefined reference to `.otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `.show_fsl_usb2_otg_state': phy-fsl-usb.c:(.text.show_fsl_usb2_otg_state+0x154): undefined reference to `.usb_otg_state_string' drivers/usb/phy/phy-fsl-usb.o: In function `.a_wait_enum': (.text.a_wait_enum+0x4c): undefined reference to `.otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `.fsl_otg_set_peripheral': phy-fsl-usb.c:(.text.fsl_otg_set_peripheral+0x84): undefined reference to `.usb_gadget_vbus_disconnect' phy-fsl-usb.c:(.text.fsl_otg_set_peripheral+0x9c): undefined reference to `.otg_statemachine' > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > --- > arch/powerpc/Makefile | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 2556c2182789..48e887f03a6c 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -359,6 +359,16 @@ ppc32_allmodconfig: > $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ > -f $(srctree)/Makefile allmodconfig > > +PHONY += ppc64le_allmodconfig > +ppc64le_allmodconfig: > + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.config \ > + -f $(srctree)/Makefile allmodconfig > + > +PHONY += ppc64_book3e_allmodconfig > +ppc64_book3e_allmodconfig: > + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \ > + -f $(srctree)/Makefile allmodconfig > + > define archhelp > @echo '* zImage - Build default images selected by kernel config' > @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' > thanks,
Hi Randy, Randy Dunlap <rdunlap@infradead.org> writes: > On 07/09/18 07:24, Michael Ellerman wrote: >> Similarly as we just did for 32-bit, add phony targets for generating >> a little endian and Book3E allmodconfig. These aren't covered by the >> regular allmodconfig, which is big endian and Book3S due to the way >> the Kconfig symbols are structured. > > [adding Felipe Balbi] > > Is book3e allmodconfig not seen/used very much? Seems so :) > Besides the patches that I have already sent, I am seeing a build problem > with ppc64_book3e_allmodconfig, where we have: > > CONFIG_USB_PHY=y > CONFIG_FSL_USB2_OTG=y > but > CONFIG_USB_OTG_FSM=m > > In drivers/usb/phy/Kconfig, FSL_USB2_OTG depends on USB_OTG_FSM (among > other things), but! FSL_USB2_OTG is a bool symbol, depending on a > tristate symbol. This often causes problems. In this case it causes errors > with a builtin driver trying to use symbols that are built in a loadable module: > > drivers/usb/phy/phy-fsl-usb.o: In function `.fsl_otg_ioctl': > phy-fsl-usb.c:(.text.fsl_otg_ioctl+0xb4): undefined reference to `.otg_statemachine' Do we just need something like? diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig index d7312eed6088..91ea3083e7ad 100644 --- a/drivers/usb/phy/Kconfig +++ b/drivers/usb/phy/Kconfig @@ -21,7 +21,7 @@ config AB8500_USB config FSL_USB2_OTG bool "Freescale USB OTG Transceiver Driver" - depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM + depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help cheers
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 2556c2182789..48e887f03a6c 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -359,6 +359,16 @@ ppc32_allmodconfig: $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ -f $(srctree)/Makefile allmodconfig +PHONY += ppc64le_allmodconfig +ppc64le_allmodconfig: + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.config \ + -f $(srctree)/Makefile allmodconfig + +PHONY += ppc64_book3e_allmodconfig +ppc64_book3e_allmodconfig: + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \ + -f $(srctree)/Makefile allmodconfig + define archhelp @echo '* zImage - Build default images selected by kernel config' @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
Similarly as we just did for 32-bit, add phony targets for generating a little endian and Book3E allmodconfig. These aren't covered by the regular allmodconfig, which is big endian and Book3S due to the way the Kconfig symbols are structured. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- arch/powerpc/Makefile | 10 ++++++++++ 1 file changed, 10 insertions(+)