[PATCH 06/23] usb-gadget/ether: use per-attribute show and store methods

2015-10-03 Thread Christoph Hellwig
To simplify the configfs interface and remove boilerplate code that also
causes binary bloat.

Signed-off-by: Christoph Hellwig 
Reviewed-by: Andrzej Pietrasiewicz 
---
 drivers/usb/gadget/function/f_ecm.c|  8 ++---
 drivers/usb/gadget/function/f_eem.c|  8 ++---
 drivers/usb/gadget/function/f_ncm.c|  8 ++---
 drivers/usb/gadget/function/f_rndis.c  |  8 ++---
 drivers/usb/gadget/function/f_subset.c |  8 ++---
 drivers/usb/gadget/function/u_ether_configfs.h | 44 +++---
 6 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/drivers/usb/gadget/function/f_ecm.c 
b/drivers/usb/gadget/function/f_ecm.c
index 7b7424f..0106de8 100644
--- a/drivers/usb/gadget/function/f_ecm.c
+++ b/drivers/usb/gadget/function/f_ecm.c
@@ -855,10 +855,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(ecm);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(ecm);
 
 static struct configfs_attribute *ecm_attrs[] = {
-   _ecm_opts_dev_addr.attr,
-   _ecm_opts_host_addr.attr,
-   _ecm_opts_qmult.attr,
-   _ecm_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_eem.c 
b/drivers/usb/gadget/function/f_eem.c
index c9e90de..f965403 100644
--- a/drivers/usb/gadget/function/f_eem.c
+++ b/drivers/usb/gadget/function/f_eem.c
@@ -555,10 +555,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(eem);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(eem);
 
 static struct configfs_attribute *eem_attrs[] = {
-   _eem_opts_dev_addr.attr,
-   _eem_opts_host_addr.attr,
-   _eem_opts_qmult.attr,
-   _eem_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_ncm.c 
b/drivers/usb/gadget/function/f_ncm.c
index 3f05c6bd..01a99e5 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -1503,10 +1503,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(ncm);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(ncm);
 
 static struct configfs_attribute *ncm_attrs[] = {
-   _ncm_opts_dev_addr.attr,
-   _ncm_opts_host_addr.attr,
-   _ncm_opts_qmult.attr,
-   _ncm_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_rndis.c 
b/drivers/usb/gadget/function/f_rndis.c
index 32985da..a04b526 100644
--- a/drivers/usb/gadget/function/f_rndis.c
+++ b/drivers/usb/gadget/function/f_rndis.c
@@ -878,10 +878,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(rndis);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(rndis);
 
 static struct configfs_attribute *rndis_attrs[] = {
-   _rndis_opts_dev_addr.attr,
-   _rndis_opts_host_addr.attr,
-   _rndis_opts_qmult.attr,
-   _rndis_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_subset.c 
b/drivers/usb/gadget/function/f_subset.c
index e3dfa67..055e4ea 100644
--- a/drivers/usb/gadget/function/f_subset.c
+++ b/drivers/usb/gadget/function/f_subset.c
@@ -413,10 +413,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(gether);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(gether);
 
 static struct configfs_attribute *gether_attrs[] = {
-   _gether_opts_dev_addr.attr,
-   _gether_opts_host_addr.attr,
-   _gether_opts_qmult.attr,
-   _gether_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/u_ether_configfs.h 
b/drivers/usb/gadget/function/u_ether_configfs.h
index bcbd301..4f47289 100644
--- a/drivers/usb/gadget/function/u_ether_configfs.h
+++ b/drivers/usb/gadget/function/u_ether_configfs.h
@@ -17,9 +17,6 @@
 #define __U_ETHER_CONFIGFS_H
 
 #define USB_ETHERNET_CONFIGFS_ITEM(_f_)
\
-   CONFIGFS_ATTR_STRUCT(f_##_f_##_opts);   \
-   CONFIGFS_ATTR_OPS(f_##_f_##_opts);  \
-   \
static void _f_##_attr_release(struct config_item *item)\
{   \
struct f_##_f_##_opts *opts = to_f_##_f_##_opts(item);  \
@@ -29,14 +26,13 @@
\
static struct configfs_item_operations _f_##_item_ops = {   \
.release= _f_##_attr_release,   \
-   .show_attribute = f_##_f_##_opts_attr_show, \
-   .store_attribute 

Re: [PATCH 06/23] usb-gadget/ether: use per-attribute show and store methods

2015-09-28 Thread Andrzej Pietrasiewicz

W dniu 25.09.2015 o 15:49, Christoph Hellwig pisze:

Signed-off-by: Christoph Hellwig 


Reviewed-by: Andrzej Pietrasiewicz 


---
  drivers/usb/gadget/function/f_ecm.c|  8 ++---
  drivers/usb/gadget/function/f_eem.c|  8 ++---
  drivers/usb/gadget/function/f_ncm.c|  8 ++---
  drivers/usb/gadget/function/f_rndis.c  |  8 ++---
  drivers/usb/gadget/function/f_subset.c |  8 ++---
  drivers/usb/gadget/function/u_ether_configfs.h | 44 +++---
  6 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/drivers/usb/gadget/function/f_ecm.c 
b/drivers/usb/gadget/function/f_ecm.c
index 7b7424f..0106de8 100644
--- a/drivers/usb/gadget/function/f_ecm.c
+++ b/drivers/usb/gadget/function/f_ecm.c
@@ -855,10 +855,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(ecm);
  USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(ecm);

  static struct configfs_attribute *ecm_attrs[] = {
-   _ecm_opts_dev_addr.attr,
-   _ecm_opts_host_addr.attr,
-   _ecm_opts_qmult.attr,
-   _ecm_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
  };

diff --git a/drivers/usb/gadget/function/f_eem.c 
b/drivers/usb/gadget/function/f_eem.c
index c9e90de..f965403 100644
--- a/drivers/usb/gadget/function/f_eem.c
+++ b/drivers/usb/gadget/function/f_eem.c
@@ -555,10 +555,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(eem);
  USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(eem);

  static struct configfs_attribute *eem_attrs[] = {
-   _eem_opts_dev_addr.attr,
-   _eem_opts_host_addr.attr,
-   _eem_opts_qmult.attr,
-   _eem_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
  };

diff --git a/drivers/usb/gadget/function/f_ncm.c 
b/drivers/usb/gadget/function/f_ncm.c
index 3f05c6bd..01a99e5 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -1503,10 +1503,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(ncm);
  USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(ncm);

  static struct configfs_attribute *ncm_attrs[] = {
-   _ncm_opts_dev_addr.attr,
-   _ncm_opts_host_addr.attr,
-   _ncm_opts_qmult.attr,
-   _ncm_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
  };

diff --git a/drivers/usb/gadget/function/f_rndis.c 
b/drivers/usb/gadget/function/f_rndis.c
index 32985da..a04b526 100644
--- a/drivers/usb/gadget/function/f_rndis.c
+++ b/drivers/usb/gadget/function/f_rndis.c
@@ -878,10 +878,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(rndis);
  USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(rndis);

  static struct configfs_attribute *rndis_attrs[] = {
-   _rndis_opts_dev_addr.attr,
-   _rndis_opts_host_addr.attr,
-   _rndis_opts_qmult.attr,
-   _rndis_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
  };

diff --git a/drivers/usb/gadget/function/f_subset.c 
b/drivers/usb/gadget/function/f_subset.c
index e3dfa67..055e4ea 100644
--- a/drivers/usb/gadget/function/f_subset.c
+++ b/drivers/usb/gadget/function/f_subset.c
@@ -413,10 +413,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(gether);
  USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(gether);

  static struct configfs_attribute *gether_attrs[] = {
-   _gether_opts_dev_addr.attr,
-   _gether_opts_host_addr.attr,
-   _gether_opts_qmult.attr,
-   _gether_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
  };

diff --git a/drivers/usb/gadget/function/u_ether_configfs.h 
b/drivers/usb/gadget/function/u_ether_configfs.h
index bcbd301..4f47289 100644
--- a/drivers/usb/gadget/function/u_ether_configfs.h
+++ b/drivers/usb/gadget/function/u_ether_configfs.h
@@ -17,9 +17,6 @@
  #define __U_ETHER_CONFIGFS_H

  #define USB_ETHERNET_CONFIGFS_ITEM(_f_)   
\
-   CONFIGFS_ATTR_STRUCT(f_##_f_##_opts);   \
-   CONFIGFS_ATTR_OPS(f_##_f_##_opts);  \
-   \
static void _f_##_attr_release(struct config_item *item)\
{   \
struct f_##_f_##_opts *opts = to_f_##_f_##_opts(item);  \
@@ -29,14 +26,13 @@
\
static struct configfs_item_operations _f_##_item_ops = {   \
.release= _f_##_attr_release,   \
-   .show_attribute = f_##_f_##_opts_attr_show, \
-   .store_attribute = 

[PATCH 06/23] usb-gadget/ether: use per-attribute show and store methods

2015-09-25 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig 
---
 drivers/usb/gadget/function/f_ecm.c|  8 ++---
 drivers/usb/gadget/function/f_eem.c|  8 ++---
 drivers/usb/gadget/function/f_ncm.c|  8 ++---
 drivers/usb/gadget/function/f_rndis.c  |  8 ++---
 drivers/usb/gadget/function/f_subset.c |  8 ++---
 drivers/usb/gadget/function/u_ether_configfs.h | 44 +++---
 6 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/drivers/usb/gadget/function/f_ecm.c 
b/drivers/usb/gadget/function/f_ecm.c
index 7b7424f..0106de8 100644
--- a/drivers/usb/gadget/function/f_ecm.c
+++ b/drivers/usb/gadget/function/f_ecm.c
@@ -855,10 +855,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(ecm);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(ecm);
 
 static struct configfs_attribute *ecm_attrs[] = {
-   _ecm_opts_dev_addr.attr,
-   _ecm_opts_host_addr.attr,
-   _ecm_opts_qmult.attr,
-   _ecm_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_eem.c 
b/drivers/usb/gadget/function/f_eem.c
index c9e90de..f965403 100644
--- a/drivers/usb/gadget/function/f_eem.c
+++ b/drivers/usb/gadget/function/f_eem.c
@@ -555,10 +555,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(eem);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(eem);
 
 static struct configfs_attribute *eem_attrs[] = {
-   _eem_opts_dev_addr.attr,
-   _eem_opts_host_addr.attr,
-   _eem_opts_qmult.attr,
-   _eem_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_ncm.c 
b/drivers/usb/gadget/function/f_ncm.c
index 3f05c6bd..01a99e5 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -1503,10 +1503,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(ncm);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(ncm);
 
 static struct configfs_attribute *ncm_attrs[] = {
-   _ncm_opts_dev_addr.attr,
-   _ncm_opts_host_addr.attr,
-   _ncm_opts_qmult.attr,
-   _ncm_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_rndis.c 
b/drivers/usb/gadget/function/f_rndis.c
index 32985da..a04b526 100644
--- a/drivers/usb/gadget/function/f_rndis.c
+++ b/drivers/usb/gadget/function/f_rndis.c
@@ -878,10 +878,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(rndis);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(rndis);
 
 static struct configfs_attribute *rndis_attrs[] = {
-   _rndis_opts_dev_addr.attr,
-   _rndis_opts_host_addr.attr,
-   _rndis_opts_qmult.attr,
-   _rndis_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/f_subset.c 
b/drivers/usb/gadget/function/f_subset.c
index e3dfa67..055e4ea 100644
--- a/drivers/usb/gadget/function/f_subset.c
+++ b/drivers/usb/gadget/function/f_subset.c
@@ -413,10 +413,10 @@ USB_ETHERNET_CONFIGFS_ITEM_ATTR_QMULT(gether);
 USB_ETHERNET_CONFIGFS_ITEM_ATTR_IFNAME(gether);
 
 static struct configfs_attribute *gether_attrs[] = {
-   _gether_opts_dev_addr.attr,
-   _gether_opts_host_addr.attr,
-   _gether_opts_qmult.attr,
-   _gether_opts_ifname.attr,
+   _opts_attr_dev_addr,
+   _opts_attr_host_addr,
+   _opts_attr_qmult,
+   _opts_attr_ifname,
NULL,
 };
 
diff --git a/drivers/usb/gadget/function/u_ether_configfs.h 
b/drivers/usb/gadget/function/u_ether_configfs.h
index bcbd301..4f47289 100644
--- a/drivers/usb/gadget/function/u_ether_configfs.h
+++ b/drivers/usb/gadget/function/u_ether_configfs.h
@@ -17,9 +17,6 @@
 #define __U_ETHER_CONFIGFS_H
 
 #define USB_ETHERNET_CONFIGFS_ITEM(_f_)
\
-   CONFIGFS_ATTR_STRUCT(f_##_f_##_opts);   \
-   CONFIGFS_ATTR_OPS(f_##_f_##_opts);  \
-   \
static void _f_##_attr_release(struct config_item *item)\
{   \
struct f_##_f_##_opts *opts = to_f_##_f_##_opts(item);  \
@@ -29,14 +26,13 @@
\
static struct configfs_item_operations _f_##_item_ops = {   \
.release= _f_##_attr_release,   \
-   .show_attribute = f_##_f_##_opts_attr_show, \
-   .store_attribute = f_##_f_##_opts_attr_store,   \
}
 
 #define USB_ETHERNET_CONFIGFS_ITEM_ATTR_DEV_ADDR(_f_)  \
-   static ssize_t