Skip to content

Commit

Permalink
usb: roles: Introduce stubs for the exiting functions in role.h
Browse files Browse the repository at this point in the history
This patch adds stubs for the exiting functions while
CONFIG_USB_ROLE_SWITCH does not enabled.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1567070558-29417-6-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Yu Chen authored and Greg Kroah-Hartman committed Sep 3, 2019
1 parent 3ef8685 commit 9776076
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions include/linux/usb/role.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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 */

0 comments on commit 9776076

Please sign in to comment.