usb: gadget: configfs: change config attributes file operation
authorLinyu Yuan <quic_linyyuan@quicinc.com>
Tue, 19 Oct 2021 13:26:35 +0000 (21:26 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Oct 2021 09:18:26 +0000 (11:18 +0200)
in order to add trace event in configfs function with same
struct gadget_info *gi parameter,
add struct config_usb_cfg *cfg variable in below functions,
gadget_config_desc_MaxPower_show(),
gadget_config_desc_MaxPower_store(),
gadget_config_desc_bmAttributes_show(),
gadget_config_desc_bmAttributes_store(),
this allow following patch easy change cfg to gi with helper function
cfg_to_gadget_info().

Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
Link: https://lore.kernel.org/r/1634649997-28745-3-git-send-email-quic_linyyuan@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/configfs.c

index 58615dc..36c611d 100644 (file)
@@ -508,12 +508,15 @@ static struct configfs_item_operations gadget_config_item_ops = {
 static ssize_t gadget_config_desc_MaxPower_show(struct config_item *item,
                char *page)
 {
-       return sprintf(page, "%u\n", to_config_usb_cfg(item)->c.MaxPower);
+       struct config_usb_cfg *cfg = to_config_usb_cfg(item);
+
+       return sprintf(page, "%u\n", cfg->c.MaxPower);
 }
 
 static ssize_t gadget_config_desc_MaxPower_store(struct config_item *item,
                const char *page, size_t len)
 {
+       struct config_usb_cfg *cfg = to_config_usb_cfg(item);
        u16 val;
        int ret;
        ret = kstrtou16(page, 0, &val);
@@ -521,20 +524,22 @@ static ssize_t gadget_config_desc_MaxPower_store(struct config_item *item,
                return ret;
        if (DIV_ROUND_UP(val, 8) > 0xff)
                return -ERANGE;
-       to_config_usb_cfg(item)->c.MaxPower = val;
+       cfg->c.MaxPower = val;
        return len;
 }
 
 static ssize_t gadget_config_desc_bmAttributes_show(struct config_item *item,
                char *page)
 {
-       return sprintf(page, "0x%02x\n",
-               to_config_usb_cfg(item)->c.bmAttributes);
+       struct config_usb_cfg *cfg = to_config_usb_cfg(item);
+
+       return sprintf(page, "0x%02x\n", cfg->c.bmAttributes);
 }
 
 static ssize_t gadget_config_desc_bmAttributes_store(struct config_item *item,
                const char *page, size_t len)
 {
+       struct config_usb_cfg *cfg = to_config_usb_cfg(item);
        u8 val;
        int ret;
        ret = kstrtou8(page, 0, &val);
@@ -545,7 +550,7 @@ static ssize_t gadget_config_desc_bmAttributes_store(struct config_item *item,
        if (val & ~(USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_SELFPOWER |
                                USB_CONFIG_ATT_WAKEUP))
                return -EINVAL;
-       to_config_usb_cfg(item)->c.bmAttributes = val;
+       cfg->c.bmAttributes = val;
        return len;
 }