From: chenqiwu <chenqiwu@xxxxxxxxxx> Use kobj_to_dev() API instead of container_of(). Signed-off-by: chenqiwu <chenqiwu@xxxxxxxxxx> --- drivers/usb/core/sysfs.c | 6 +++--- drivers/usb/roles/class.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c index f19694e..9f4320b 100644 --- a/drivers/usb/core/sysfs.c +++ b/drivers/usb/core/sysfs.c @@ -849,7 +849,7 @@ static ssize_t remove_store(struct device *dev, struct device_attribute *attr, static umode_t dev_string_attrs_are_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, struct device, kobj); + struct device *dev = kobj_to_dev(kobj); struct usb_device *udev = to_usb_device(dev); if (a == &dev_attr_manufacturer.attr) { @@ -883,7 +883,7 @@ static umode_t dev_string_attrs_are_visible(struct kobject *kobj, struct bin_attribute *attr, char *buf, loff_t off, size_t count) { - struct device *dev = container_of(kobj, struct device, kobj); + struct device *dev = kobj_to_dev(kobj); struct usb_device *udev = to_usb_device(dev); size_t nleft = count; size_t srclen, n; @@ -1233,7 +1233,7 @@ static ssize_t interface_authorized_store(struct device *dev, static umode_t intf_assoc_attrs_are_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, struct device, kobj); + struct device *dev = kobj_to_dev(kobj); struct usb_interface *intf = to_usb_interface(dev); if (intf->intf_assoc == NULL) diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c index 63a00ff..486b0b1 100644 --- a/drivers/usb/roles/class.c +++ b/drivers/usb/roles/class.c @@ -199,7 +199,7 @@ struct usb_role_switch * static umode_t usb_role_switch_is_visible(struct kobject *kobj, struct attribute *attr, int n) { - struct device *dev = container_of(kobj, typeof(*dev), kobj); + struct device *dev = kobj_to_dev(kobj); struct usb_role_switch *sw = to_role_switch(dev); if (sw->allow_userspace_control) -- 1.9.1