diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c index 58e9e11ef32a..fdbd63282e29 100644 --- a/drivers/hwmon/nct6775.c +++ b/drivers/hwmon/nct6775.c @@ -724,8 +724,6 @@ struct nct6775_data { enum kinds kind; const char *name; - struct device *hwmon_dev; - int num_attr_groups; const struct attribute_group *groups[6]; @@ -3260,6 +3258,7 @@ static int nct6775_probe(struct platform_device *pdev) int num_reg_temp; u8 cr2a; struct attribute_group *group; + struct device *hwmon_dev; res = platform_get_resource(pdev, IORESOURCE_IO, 0); if (!devm_request_region(&pdev->dev, res->start, IOREGION_LENGTH, @@ -3861,19 +3860,10 @@ static int nct6775_probe(struct platform_device *pdev) data->groups[data->num_attr_groups++] = group; data->groups[data->num_attr_groups++] = &nct6775_group_other; - data->hwmon_dev = hwmon_device_register_with_groups(dev, data->name, - data, data->groups); - if (IS_ERR(data->hwmon_dev)) - return PTR_ERR(data->hwmon_dev); - - return 0; -} - -static int nct6775_remove(struct platform_device *pdev) -{ - struct nct6775_data *data = platform_get_drvdata(pdev); - - hwmon_device_unregister(data->hwmon_dev); + hwmon_dev = devm_hwmon_device_register_with_groups(dev, data->name, + data, data->groups); + if (IS_ERR(hwmon_dev)) + return PTR_ERR(hwmon_dev); return 0; } @@ -3964,7 +3954,6 @@ static struct platform_driver nct6775_driver = { .pm = NCT6775_DEV_PM_OPS, }, .probe = nct6775_probe, - .remove = nct6775_remove, }; static const char * const nct6775_sio_names[] __initconst = {