mirror of https://gitee.com/openkylin/linux.git
platform/mellanox: Group create/destroy with attribute functions
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>
This commit is contained in:
parent
3d838f5514
commit
752849e697
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue