Revert "usb/gadget: storage_common: make attribute operations more generic"
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Tue, 14 Jan 2014 13:26:43 +0000 (14:26 +0100)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:46:12 +0000 (11:46 +0900)
This reverts commit 724a908e741cbd713c95f2a2cedb6a4c7d97ed38.

drivers/usb/gadget/f_mass_storage.c
drivers/usb/gadget/storage_common.c
drivers/usb/gadget/storage_common.h

index aaa8349..0a2b3ae 100644 (file)
@@ -2570,71 +2570,14 @@ static int fsg_main_thread(void *common_)
 
 /*************************** DEVICE ATTRIBUTES ***************************/
 
-static ssize_t sysfs_fsg_show_ro(struct device *dev,
-                                struct device_attribute *attr,
-                                char *buf)
-{
-       struct fsg_lun          *curlun = fsg_lun_from_dev(dev);
-
-       return fsg_show_ro(curlun, buf);
-}
-
-static ssize_t sysfs_fsg_show_nofua(struct device *dev,
-                                   struct device_attribute *attr,
-                                   char *buf)
-{
-       struct fsg_lun          *curlun = fsg_lun_from_dev(dev);
-
-       return fsg_show_nofua(curlun, buf);
-}
-
-static ssize_t sysfs_fsg_show_file(struct device *dev,
-                                  struct device_attribute *attr,
-                                  char *buf)
-{
-       struct fsg_lun          *curlun = fsg_lun_from_dev(dev);
-       struct rw_semaphore     *filesem = dev_get_drvdata(dev);
-
-       return fsg_show_file(curlun, filesem, buf);
-}
-
-static ssize_t sysfs_fsg_store_ro(struct device *dev,
-                                 struct device_attribute *attr,
-                                 const char *buf, size_t count)
-{
-       struct fsg_lun          *curlun = fsg_lun_from_dev(dev);
-       struct rw_semaphore     *filesem = dev_get_drvdata(dev);
-
-       return fsg_store_ro(curlun, filesem, buf, count);
-}
-
-static ssize_t sysfs_fsg_store_nofua(struct device *dev,
-                                    struct device_attribute *attr,
-                                    const char *buf, size_t count)
-{
-       struct fsg_lun          *curlun = fsg_lun_from_dev(dev);
-
-       return fsg_store_nofua(curlun, buf, count);
-}
-
-static ssize_t sysfs_fsg_store_file(struct device *dev,
-                                   struct device_attribute *attr,
-                                   const char *buf, size_t count)
-{
-       struct fsg_lun          *curlun = fsg_lun_from_dev(dev);
-       struct rw_semaphore     *filesem = dev_get_drvdata(dev);
-
-       return fsg_store_file(curlun, filesem, buf, count);
-}
-
-static DEVICE_ATTR(ro, 0644, sysfs_fsg_show_ro, sysfs_fsg_store_ro);
-static DEVICE_ATTR(nofua, 0644, sysfs_fsg_show_nofua, sysfs_fsg_store_nofua);
-static DEVICE_ATTR(file, 0644, sysfs_fsg_show_file, sysfs_fsg_store_file);
+static DEVICE_ATTR(ro, 0644, fsg_show_ro, fsg_store_ro);
+static DEVICE_ATTR(nofua, 0644, fsg_show_nofua, fsg_store_nofua);
+static DEVICE_ATTR(file, 0644, fsg_show_file, fsg_store_file);
 
 static struct device_attribute dev_attr_ro_cdrom =
-       __ATTR(ro, 0444, sysfs_fsg_show_ro, NULL);
+       __ATTR(ro, 0444, fsg_show_ro, NULL);
 static struct device_attribute dev_attr_file_nonremovable =
-       __ATTR(file, 0444, sysfs_fsg_show_file, NULL);
+       __ATTR(file, 0444, fsg_show_file, NULL);
 
 
 /****************************** FSG COMMON ******************************/
index ab83d11..942324c 100644 (file)
 
 #include "storage_common.h"
 
+static inline struct fsg_lun *fsg_lun_from_dev(struct device *dev)
+{
+       return container_of(dev, struct fsg_lun, dev);
+}
+
 /* There is only one interface. */
 
 struct usb_interface_descriptor fsg_intf_desc = {
@@ -319,23 +324,31 @@ EXPORT_SYMBOL(store_cdrom_address);
 /*-------------------------------------------------------------------------*/
 
 
-ssize_t fsg_show_ro(struct fsg_lun *curlun, char *buf)
+ssize_t fsg_show_ro(struct device *dev, struct device_attribute *attr,
+                          char *buf)
 {
+       struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
+
        return sprintf(buf, "%d\n", fsg_lun_is_open(curlun)
                                  ? curlun->ro
                                  : curlun->initially_ro);
 }
 EXPORT_SYMBOL(fsg_show_ro);
 
-ssize_t fsg_show_nofua(struct fsg_lun *curlun, char *buf)
+ssize_t fsg_show_nofua(struct device *dev, struct device_attribute *attr,
+                             char *buf)
 {
+       struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
+
        return sprintf(buf, "%u\n", curlun->nofua);
 }
 EXPORT_SYMBOL(fsg_show_nofua);
 
-ssize_t fsg_show_file(struct fsg_lun *curlun, struct rw_semaphore *filesem,
-                     char *buf)
+ssize_t fsg_show_file(struct device *dev, struct device_attribute *attr,
+                            char *buf)
 {
+       struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
+       struct rw_semaphore     *filesem = dev_get_drvdata(dev);
        char            *p;
        ssize_t         rc;
 
@@ -360,10 +373,12 @@ ssize_t fsg_show_file(struct fsg_lun *curlun, struct rw_semaphore *filesem,
 EXPORT_SYMBOL(fsg_show_file);
 
 
-ssize_t fsg_store_ro(struct fsg_lun *curlun, struct rw_semaphore *filesem,
+ssize_t fsg_store_ro(struct device *dev, struct device_attribute *attr,
                            const char *buf, size_t count)
 {
        ssize_t         rc;
+       struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
+       struct rw_semaphore     *filesem = dev_get_drvdata(dev);
        unsigned        ro;
 
        rc = kstrtouint(buf, 2, &ro);
@@ -389,8 +404,11 @@ ssize_t fsg_store_ro(struct fsg_lun *curlun, struct rw_semaphore *filesem,
 }
 EXPORT_SYMBOL(fsg_store_ro);
 
-ssize_t fsg_store_nofua(struct fsg_lun *curlun, const char *buf, size_t count)
+ssize_t fsg_store_nofua(struct device *dev,
+                              struct device_attribute *attr,
+                              const char *buf, size_t count)
 {
+       struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
        unsigned        nofua;
        int             ret;
 
@@ -408,9 +426,11 @@ ssize_t fsg_store_nofua(struct fsg_lun *curlun, const char *buf, size_t count)
 }
 EXPORT_SYMBOL(fsg_store_nofua);
 
-ssize_t fsg_store_file(struct fsg_lun *curlun, struct rw_semaphore *filesem,
-                      const char *buf, size_t count)
+ssize_t fsg_store_file(struct device *dev, struct device_attribute *attr,
+                             const char *buf, size_t count)
 {
+       struct fsg_lun  *curlun = fsg_lun_from_dev(dev);
+       struct rw_semaphore     *filesem = dev_get_drvdata(dev);
        int             rc = 0;
 
        if (curlun->prevent_medium_removal && fsg_lun_is_open(curlun)) {
index aa8bf94..9955477 100644 (file)
@@ -181,11 +181,6 @@ static inline u32 get_unaligned_be24(u8 *buf)
        return 0xffffff & (u32) get_unaligned_be32(buf - 1);
 }
 
-static inline struct fsg_lun *fsg_lun_from_dev(struct device *dev)
-{
-       return container_of(dev, struct fsg_lun, dev);
-}
-
 enum {
        FSG_STRING_INTERFACE
 };
@@ -210,14 +205,18 @@ void fsg_lun_close(struct fsg_lun *curlun);
 int fsg_lun_open(struct fsg_lun *curlun, const char *filename);
 int fsg_lun_fsync_sub(struct fsg_lun *curlun);
 void store_cdrom_address(u8 *dest, int msf, u32 addr);
-ssize_t fsg_show_ro(struct fsg_lun *curlun, char *buf);
-ssize_t fsg_show_nofua(struct fsg_lun *curlun, char *buf);
-ssize_t fsg_show_file(struct fsg_lun *curlun, struct rw_semaphore *filesem,
+ssize_t fsg_show_ro(struct device *dev, struct device_attribute *attr,
+                   char *buf);
+ssize_t fsg_show_nofua(struct device *dev, struct device_attribute *attr,
+                      char *buf);
+ssize_t fsg_show_file(struct device *dev, struct device_attribute *attr,
                      char *buf);
-ssize_t fsg_store_ro(struct fsg_lun *curlun, struct rw_semaphore *filesem,
+ssize_t fsg_store_ro(struct device *dev, struct device_attribute *attr,
                     const char *buf, size_t count);
-ssize_t fsg_store_nofua(struct fsg_lun *curlun, const char *buf, size_t count);
-ssize_t fsg_store_file(struct fsg_lun *curlun, struct rw_semaphore *filesem,
+ssize_t fsg_store_nofua(struct device *dev,
+                       struct device_attribute *attr,
+                       const char *buf, size_t count);
+ssize_t fsg_store_file(struct device *dev, struct device_attribute *attr,
                       const char *buf, size_t count);
 
 #endif /* USB_STORAGE_COMMON_H */