Skip to content

Commit

Permalink
usb-gadget/f_phonet: use per-attribute show and store methods
Browse files Browse the repository at this point in the history
To simplify the configfs interface and remove boilerplate code that also
causes binary bloat.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
  • Loading branch information
Christoph Hellwig authored and Nicholas Bellinger committed Oct 14, 2015
1 parent 3da5e4c commit 0736390
Showing 1 changed file with 4 additions and 21 deletions.
25 changes: 4 additions & 21 deletions drivers/usb/gadget/function/f_phonet.c
Original file line number Diff line number Diff line change
Expand Up @@ -589,21 +589,6 @@ static inline struct f_phonet_opts *to_f_phonet_opts(struct config_item *item)
func_inst.group);
}

CONFIGFS_ATTR_STRUCT(f_phonet_opts);
static ssize_t f_phonet_attr_show(struct config_item *item,
struct configfs_attribute *attr,
char *page)
{
struct f_phonet_opts *opts = to_f_phonet_opts(item);
struct f_phonet_opts_attribute *f_phonet_opts_attr =
container_of(attr, struct f_phonet_opts_attribute, attr);
ssize_t ret = 0;

if (f_phonet_opts_attr->show)
ret = f_phonet_opts_attr->show(opts, page);
return ret;
}

static void phonet_attr_release(struct config_item *item)
{
struct f_phonet_opts *opts = to_f_phonet_opts(item);
Expand All @@ -613,19 +598,17 @@ static void phonet_attr_release(struct config_item *item)

static struct configfs_item_operations phonet_item_ops = {
.release = phonet_attr_release,
.show_attribute = f_phonet_attr_show,
};

static ssize_t f_phonet_ifname_show(struct f_phonet_opts *opts, char *page)
static ssize_t f_phonet_ifname_show(struct config_item *item, char *page)
{
return gether_get_ifname(opts->net, page, PAGE_SIZE);
return gether_get_ifname(to_f_phonet_opts(item)->net, page, PAGE_SIZE);
}

static struct f_phonet_opts_attribute f_phonet_ifname =
__CONFIGFS_ATTR_RO(ifname, f_phonet_ifname_show);
CONFIGFS_ATTR_RO(f_phonet_, ifname);

static struct configfs_attribute *phonet_attrs[] = {
&f_phonet_ifname.attr,
&f_phonet_attr_ifname,
NULL,
};

Expand Down

0 comments on commit 0736390

Please sign in to comment.