[U-Boot] [PATCH v4 3/7] usb: host: xhci-omap: fix double weak board_usb_init functions
Roger Quadros
rogerq at ti.com
Wed Mar 1 15:13:00 UTC 2017
On 01/03/17 11:12, Uri Mashiach wrote:
> 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?
I'm fine with that.
>
> 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;
> ^
--
cheers,
-roger
More information about the U-Boot
mailing list