From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uri Mashiach Date: Wed, 1 Mar 2017 11:12:39 +0200 Subject: [U-Boot] [PATCH v4 3/7] usb: host: xhci-omap: fix double weak board_usb_init functions In-Reply-To: <40984a1d-bd4e-75a8-d3f4-908ef43aa1eb@ti.com> References: <1487857181-8938-1-git-send-email-uri.mashiach@compulab.co.il> <1487857181-8938-4-git-send-email-uri.mashiach@compulab.co.il> <4f505077-e0e6-8ab8-cd88-9200284d2a74@ti.com> <5e033114-02af-2e4b-5ff4-480aaf932d2a@compulab.co.il> <40984a1d-bd4e-75a8-d3f4-908ef43aa1eb@ti.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 02/28/2017 03:13 PM, Roger Quadros wrote: > On 28/02/17 10:00, Uri Mashiach wrote: >> Hi, >> >> On 02/27/2017 06:22 PM, Roger Quadros wrote: >>> Hi, >>> >>> On 23/02/17 15:39, Uri Mashiach wrote: >>>> A weak version of the function board_usb_init is implemented in: >>>> common/usb.c >>>> drivers/usb/host/xhci-omap.c [...] >>>> board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- >>>> board/ti/am43xx/board.c | 4 ++-- >>>> board/ti/am57xx/board.c | 4 ++-- >>>> board/ti/dra7xx/evm.c | 4 ++-- >>>> drivers/usb/host/xhci-omap.c | 17 +++++++++++++++-- >>> >>> What about board/ti/omap5_uevm/evm.c ? >> >> The symbol CONFIG_USB_XHCI_OMAP is not included in the file include/configs/omap5_uevm.h, therefore: >> The file drivers/usb/host/xhci-omap.c is not included in the compilation - no double implementations to fix. >> > > But if someone wants to use the XHCI host he will enable the CONFIG_USB_XHCI_OMAP for omap5_uevm right? > We need to ensure it doesn't break then. > Compilation errors are generated for compilation attempt of U-Boot for the target ti/omap5_uevm with CONFIG_USB_XHCI_OMAP. Maybe the adjustments relevant for the current commit should be applied after the CONFIG_USB_XHCI_OMAP adjustments? Generated error messages: In file included from include/asm/arch/sys_proto.h:12:0, from /home/work/u-boot/board/ti/omap5_uevm/evm.c:12: /home/work/u-boot/board/ti/omap5_uevm/evm.c: In function 'enable_host_clocks': /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:22: error: 'const struct prcm_regs' has no member named 'cm_l3init_usb_otg_ss_clkctrl' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/arch/arm/include/asm/io.h:78:55: note: in definition of macro '__arch_putl' #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:175:35: note: in expansion of macro '__raw_writel' #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:179:23: note: in expansion of macro 'out_arch' #define out_le32(a,v) out_arch(l,le32,a,v) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:2: note: in expansion of macro 'out_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:209:33: note: in expansion of macro 'setbits' #define setbits_le32(addr, set) setbits(le32, addr, set) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:2: note: in expansion of macro 'setbits_le32' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:22: error: 'const struct prcm_regs' has no member named 'cm_l3init_usb_otg_ss_clkctrl' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/arch/arm/include/asm/io.h:78:61: note: in definition of macro '__arch_putl' #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:175:35: note: in expansion of macro '__raw_writel' #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) ^ /home/work/u-boot/include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__cpu_to_le32' #define cpu_to_le32 __cpu_to_le32 ^ /home/work/u-boot/arch/arm/include/asm/io.h:179:23: note: in expansion of macro 'out_arch' #define out_le32(a,v) out_arch(l,le32,a,v) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:2: note: in expansion of macro 'out_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/include/linux/byteorder/generic.h:90:21: note: in expansion of macro '__le32_to_cpu' #define le32_to_cpu __le32_to_cpu ^ /home/work/u-boot/arch/arm/include/asm/io.h:133:25: note: in expansion of macro '__arch_getl' #define __raw_readl(a) __arch_getl(a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:176:49: note: in expansion of macro '__raw_readl' #define in_arch(type,endian,a) endian##_to_cpu(__raw_read##type(a)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:183:20: note: in expansion of macro 'in_arch' #define in_le32(a) in_arch(l,le32,a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:21: note: in expansion of macro 'in_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:209:33: note: in expansion of macro 'setbits' #define setbits_le32(addr, set) setbits(le32, addr, set) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:2: note: in expansion of macro 'setbits_le32' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c: At top level: /home/work/u-boot/board/ti/omap5_uevm/evm.c:269:5: error: redefinition of 'board_usb_init' int board_usb_init(int index, enum usb_init_type init) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:83:5: note: previous definition of 'board_usb_init' was here int board_usb_init(int index, enum usb_init_type init) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c: In function 'board_usb_init': /home/work/u-boot/board/ti/omap5_uevm/evm.c:271:6: warning: unused variable 'ret' [-Wunused-variable] int ret; ^ -- Thanks and Regards, Uri