forked from Minki/linux
usb: gadget: configfs: change config attributes file operation
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>
This commit is contained in:
parent
260d88b79c
commit
c26f1c109d
@ -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,
|
static ssize_t gadget_config_desc_MaxPower_show(struct config_item *item,
|
||||||
char *page)
|
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,
|
static ssize_t gadget_config_desc_MaxPower_store(struct config_item *item,
|
||||||
const char *page, size_t len)
|
const char *page, size_t len)
|
||||||
{
|
{
|
||||||
|
struct config_usb_cfg *cfg = to_config_usb_cfg(item);
|
||||||
u16 val;
|
u16 val;
|
||||||
int ret;
|
int ret;
|
||||||
ret = kstrtou16(page, 0, &val);
|
ret = kstrtou16(page, 0, &val);
|
||||||
@ -521,20 +524,22 @@ static ssize_t gadget_config_desc_MaxPower_store(struct config_item *item,
|
|||||||
return ret;
|
return ret;
|
||||||
if (DIV_ROUND_UP(val, 8) > 0xff)
|
if (DIV_ROUND_UP(val, 8) > 0xff)
|
||||||
return -ERANGE;
|
return -ERANGE;
|
||||||
to_config_usb_cfg(item)->c.MaxPower = val;
|
cfg->c.MaxPower = val;
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t gadget_config_desc_bmAttributes_show(struct config_item *item,
|
static ssize_t gadget_config_desc_bmAttributes_show(struct config_item *item,
|
||||||
char *page)
|
char *page)
|
||||||
{
|
{
|
||||||
return sprintf(page, "0x%02x\n",
|
struct config_usb_cfg *cfg = to_config_usb_cfg(item);
|
||||||
to_config_usb_cfg(item)->c.bmAttributes);
|
|
||||||
|
return sprintf(page, "0x%02x\n", cfg->c.bmAttributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t gadget_config_desc_bmAttributes_store(struct config_item *item,
|
static ssize_t gadget_config_desc_bmAttributes_store(struct config_item *item,
|
||||||
const char *page, size_t len)
|
const char *page, size_t len)
|
||||||
{
|
{
|
||||||
|
struct config_usb_cfg *cfg = to_config_usb_cfg(item);
|
||||||
u8 val;
|
u8 val;
|
||||||
int ret;
|
int ret;
|
||||||
ret = kstrtou8(page, 0, &val);
|
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 |
|
if (val & ~(USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_SELFPOWER |
|
||||||
USB_CONFIG_ATT_WAKEUP))
|
USB_CONFIG_ATT_WAKEUP))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
to_config_usb_cfg(item)->c.bmAttributes = val;
|
cfg->c.bmAttributes = val;
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user