Add the member platform_data in the usb_hub_port to store port's platform related data. Provide usb_set_hub_port_platform_data() and usb_get_hub_port_platform_data() to access the member. Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> --- drivers/usb/core/hub.c | 22 ++++++++++++++++++++++ drivers/usb/core/usb.h | 4 ++++ 2 files changed, 26 insertions(+), 0 deletions(-) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 51bf5d4..ac7bd89 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -40,6 +40,7 @@ struct usb_hub_port { void *port_owner; struct usb_device *child; + unsigned long platform_data; }; struct usb_hub { @@ -4163,3 +4164,24 @@ int usb_get_hub_child_device(struct usb_device *hdev, int port1, return 0; } +int usb_set_hub_port_platform_data(struct usb_device *hdev, int port1, + unsigned long data) +{ + struct usb_hub *hub = hdev_to_hub(hdev); + + if (port1 > hdev->maxchild || port1 < 1) + return -EINVAL; + hub->port_data[port1 - 1].platform_data = data; + return 0; +} + +int usb_get_hub_port_platform_data(struct usb_device *hdev, int port1, + unsigned long *data) +{ + struct usb_hub *hub = hdev_to_hub(hdev); + + if (port1 > hdev->maxchild || port1 < 1) + return -EINVAL; + *data = hub->port_data[port1 - 1].platform_data; + return 0; +} diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h index 636d98e..694c78d 100644 --- a/drivers/usb/core/usb.h +++ b/drivers/usb/core/usb.h @@ -154,6 +154,10 @@ extern void usb_notify_add_device(struct usb_device *udev); extern void usb_notify_remove_device(struct usb_device *udev); extern void usb_notify_add_bus(struct usb_bus *ubus); extern void usb_notify_remove_bus(struct usb_bus *ubus); +extern int usb_get_hub_port_platform_data(struct usb_device *hdev, + int port1, unsigned long *data); +extern int usb_set_hub_port_platform_data(struct usb_device *hdev, + int port1, unsigned long data); #ifdef CONFIG_ACPI extern int usb_acpi_register(void); -- 1.7.6.rc2.8.g28eb -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html