Skip to content

Commit

Permalink
usb-gadget/f_obex: 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 495702b commit 3da5e4c
Showing 1 changed file with 4 additions and 22 deletions.
26 changes: 4 additions & 22 deletions drivers/usb/gadget/function/f_obex.c
Original file line number Diff line number Diff line change
Expand Up @@ -395,22 +395,6 @@ static inline struct f_serial_opts *to_f_serial_opts(struct config_item *item)
func_inst.group);
}

CONFIGFS_ATTR_STRUCT(f_serial_opts);
static ssize_t f_obex_attr_show(struct config_item *item,
struct configfs_attribute *attr,
char *page)
{
struct f_serial_opts *opts = to_f_serial_opts(item);
struct f_serial_opts_attribute *f_serial_opts_attr =
container_of(attr, struct f_serial_opts_attribute, attr);
ssize_t ret = 0;

if (f_serial_opts_attr->show)
ret = f_serial_opts_attr->show(opts, page);

return ret;
}

static void obex_attr_release(struct config_item *item)
{
struct f_serial_opts *opts = to_f_serial_opts(item);
Expand All @@ -420,19 +404,17 @@ static void obex_attr_release(struct config_item *item)

static struct configfs_item_operations obex_item_ops = {
.release = obex_attr_release,
.show_attribute = f_obex_attr_show,
};

static ssize_t f_obex_port_num_show(struct f_serial_opts *opts, char *page)
static ssize_t f_obex_port_num_show(struct config_item *item, char *page)
{
return sprintf(page, "%u\n", opts->port_num);
return sprintf(page, "%u\n", to_f_serial_opts(item)->port_num);
}

static struct f_serial_opts_attribute f_obex_port_num =
__CONFIGFS_ATTR_RO(port_num, f_obex_port_num_show);
CONFIGFS_ATTR_RO(f_obex_, port_num);

static struct configfs_attribute *acm_attrs[] = {
&f_obex_port_num.attr,
&f_obex_attr_port_num,
NULL,
};

Expand Down

0 comments on commit 3da5e4c

Please sign in to comment.