1#ifndef __LINUX_USB_NOP_XCEIV_H 2#define __LINUX_USB_NOP_XCEIV_H 3 4#include <linux/usb/otg.h> 5#include <linux/gpio/consumer.h> 6 7struct usb_phy_generic_platform_data { 8 enum usb_phy_type type; 9 unsigned long clk_rate; 10 11 /* if set fails with -EPROBE_DEFER if can't get regulator */ 12 unsigned int needs_vcc:1; 13 unsigned int needs_reset:1; /* deprecated */ 14 int gpio_reset; 15 struct gpio_desc *gpiod_vbus; 16}; 17 18#if IS_ENABLED(CONFIG_NOP_USB_XCEIV) 19/* sometimes transceivers are accessed only through e.g. ULPI */ 20extern struct platform_device *usb_phy_generic_register(void); 21extern void usb_phy_generic_unregister(struct platform_device *); 22#else 23static inline struct platform_device *usb_phy_generic_register(void) 24{ 25 return NULL; 26} 27 28static inline void usb_phy_generic_unregister(struct platform_device *pdev) 29{ 30} 31#endif 32 33#endif /* __LINUX_USB_NOP_XCEIV_H */ 34