Commit 3fa4d734 (usb: phy: rename nop_usb_xceiv => usb_phy_gen_xceiv)
changed the conditional around the declaration of usb_nop_xceiv_register
from
#if defined(CONFIG_NOP_USB_XCEIV) ||
(defined(CONFIG_NOP_USB_XCEIV_MODULE) && defined(MODULE))
to
#if IS_ENABLED(CONFIG_NOP_USB_XCEIV)
While that looks the same, it is semantically different. The first expression
is true if CONFIG_NOP_USB_XCEIV is built as module and if the including
code is built as module. The second expression is true if code depending on
CONFIG_NOP_USB_XCEIV if built as module or into the kernel.
As a result, the arm:allmodconfig build fails with
arch/arm/mach-omap2/built-in.o: In function `omap3_evm_init':
arch/arm/mach-omap2/board-omap3evm.c:703: undefined reference to
`usb_nop_xceiv_register'
Fix the problem by reverting to the old conditional.
Cc: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
29 lines
711 B
C
29 lines
711 B
C
#ifndef __LINUX_USB_NOP_XCEIV_H
|
|
#define __LINUX_USB_NOP_XCEIV_H
|
|
|
|
#include <linux/usb/otg.h>
|
|
|
|
struct usb_phy_gen_xceiv_platform_data {
|
|
enum usb_phy_type type;
|
|
unsigned long clk_rate;
|
|
|
|
/* if set fails with -EPROBE_DEFER if can't get regulator */
|
|
unsigned int needs_vcc:1;
|
|
unsigned int needs_reset:1;
|
|
};
|
|
|
|
#if defined(CONFIG_NOP_USB_XCEIV) || (defined(CONFIG_NOP_USB_XCEIV_MODULE) && defined(MODULE))
|
|
/* sometimes transceivers are accessed only through e.g. ULPI */
|
|
extern void usb_nop_xceiv_register(void);
|
|
extern void usb_nop_xceiv_unregister(void);
|
|
#else
|
|
static inline void usb_nop_xceiv_register(void)
|
|
{
|
|
}
|
|
|
|
static inline void usb_nop_xceiv_unregister(void)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
#endif /* __LINUX_USB_NOP_XCEIV_H */
|