]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
platform/mellanox: Group create/destroy with attribute functions
authorVadim Pasternak <vadimp@mellanox.com>
Tue, 23 Jan 2018 02:50:20 +0000 (18:50 -0800)
committerDarren Hart (VMware) <dvhart@infradead.org>
Wed, 31 Jan 2018 18:36:49 +0000 (10:36 -0800)
Move the mlxreg_hotplug_device_create and _destroy functions up with the
related attribute functions. No functional changes.

Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
[dvhart: refactored commit into smaller functional changes]
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/mellanox/mlxreg-hotplug.c

index 752f756723e0ca9b098f3333d62fa2b226d8470b..e4f7e8efd39766c4d1bf14209c1f8c9f16587291 100644 (file)
@@ -98,6 +98,41 @@ struct mlxreg_hotplug_priv_data {
        u8 fan_cache;
 };
 
+static int mlxreg_hotplug_device_create(struct device *dev,
+                                       struct mlxreg_hotplug_device *item)
+{
+       item->adapter = i2c_get_adapter(item->nr);
+       if (!item->adapter) {
+               dev_err(dev, "Failed to get adapter for bus %d\n",
+                       item->nr);
+               return -EFAULT;
+       }
+
+       item->client = i2c_new_device(item->adapter, &item->brdinfo);
+       if (!item->client) {
+               dev_err(dev, "Failed to create client %s at bus %d at addr 0x%02x\n",
+                       item->brdinfo.type, item->nr, item->brdinfo.addr);
+               i2c_put_adapter(item->adapter);
+               item->adapter = NULL;
+               return -EFAULT;
+       }
+
+       return 0;
+}
+
+static void mlxreg_hotplug_device_destroy(struct mlxreg_hotplug_device *item)
+{
+       if (item->client) {
+               i2c_unregister_device(item->client);
+               item->client = NULL;
+       }
+
+       if (item->adapter) {
+               i2c_put_adapter(item->adapter);
+               item->adapter = NULL;
+       }
+}
+
 static ssize_t mlxreg_hotplug_attr_show(struct device *dev,
                                        struct device_attribute *attr,
                                        char *buf)
@@ -183,41 +218,6 @@ static int mlxreg_hotplug_attr_init(struct mlxreg_hotplug_priv_data *priv)
        return 0;
 }
 
-static int mlxreg_hotplug_device_create(struct device *dev,
-                                       struct mlxreg_hotplug_device *item)
-{
-       item->adapter = i2c_get_adapter(item->nr);
-       if (!item->adapter) {
-               dev_err(dev, "Failed to get adapter for bus %d\n",
-                       item->nr);
-               return -EFAULT;
-       }
-
-       item->client = i2c_new_device(item->adapter, &item->brdinfo);
-       if (!item->client) {
-               dev_err(dev, "Failed to create client %s at bus %d at addr 0x%02x\n",
-                       item->brdinfo.type, item->nr, item->brdinfo.addr);
-               i2c_put_adapter(item->adapter);
-               item->adapter = NULL;
-               return -EFAULT;
-       }
-
-       return 0;
-}
-
-static void mlxreg_hotplug_device_destroy(struct mlxreg_hotplug_device *item)
-{
-       if (item->client) {
-               i2c_unregister_device(item->client);
-               item->client = NULL;
-       }
-
-       if (item->adapter) {
-               i2c_put_adapter(item->adapter);
-               item->adapter = NULL;
-       }
-}
-
 static inline void
 mlxreg_hotplug_work_helper(struct device *dev,
                           struct mlxreg_hotplug_device *item, u8 is_inverse,