On Fri, Mar 29, 2019 at 12:14:04PM +0800, Yu Chen wrote: > This patch adds stubs for the exiting functions while > CONFIG_USB_ROLE_SWITCH does not enabled. > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Cc: John Stultz <john.stultz@xxxxxxxxxx> > Signed-off-by: Yu Chen <chenyu56@xxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > include/linux/usb/role.h | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/include/linux/usb/role.h b/include/linux/usb/role.h > index c05ffa6abda9..da2b9641b877 100644 > --- a/include/linux/usb/role.h > +++ b/include/linux/usb/role.h > @@ -42,6 +42,8 @@ struct usb_role_switch_desc { > bool allow_userspace_control; > }; > > + > +#if IS_ENABLED(CONFIG_USB_ROLE_SWITCH) > int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role); > enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw); > struct usb_role_switch *usb_role_switch_get(struct device *dev); > @@ -51,5 +53,33 @@ struct usb_role_switch * > usb_role_switch_register(struct device *parent, > const struct usb_role_switch_desc *desc); > void usb_role_switch_unregister(struct usb_role_switch *sw); > +#else > +static inline int usb_role_switch_set_role(struct usb_role_switch *sw, > + enum usb_role role) > +{ > + return 0; > +} > + > +static inline enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw) > +{ > + return USB_ROLE_NONE; > +} > + > +static inline struct usb_role_switch *usb_role_switch_get(struct device *dev) > +{ > + return ERR_PTR(-ENODEV); > +} > + > +static inline void usb_role_switch_put(struct usb_role_switch *sw) { } > + > +static inline struct usb_role_switch * > +usb_role_switch_register(struct device *parent, > + const struct usb_role_switch_desc *desc) > +{ > + return ERR_PTR(-ENODEV); > +} > + > +static inline void usb_role_switch_unregister(struct usb_role_switch *sw) { } > +#endif > > #endif /* __LINUX_USB_ROLE_H */ > -- > 2.15.0-rc2 thanks, -- heikki