From 3f80014c47cd3a2508f1b72a4d90f1c1747cff4a Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Thu, 19 Jan 2012 20:58:13 -0800 Subject: [PATCH] --- yaml --- r: 292211 b: refs/heads/master c: e200c14f60765ee3be6517659ec8fea06e299e39 h: refs/heads/master i: 292209: c50a543dfdc7531bc0e0a867a97b0940c18256d4 292207: 0e0766adea2518df3ada657dd6e0da3cdc094a8f v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/lm70.c | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index f93125a1411b..564b5451dc8c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 01d9def5bae959de5d420a2fc09fcc58106513fa +refs/heads/master: e200c14f60765ee3be6517659ec8fea06e299e39 diff --git a/trunk/drivers/hwmon/lm70.c b/trunk/drivers/hwmon/lm70.c index 9c12ef3b863b..61c2ffbb9dd0 100644 --- a/trunk/drivers/hwmon/lm70.c +++ b/trunk/drivers/hwmon/lm70.c @@ -156,13 +156,6 @@ static int __devinit lm70_probe(struct spi_device *spi) mutex_init(&p_lm70->lock); p_lm70->chip = chip; - /* sysfs hook */ - p_lm70->hwmon_dev = hwmon_device_register(&spi->dev); - if (IS_ERR(p_lm70->hwmon_dev)) { - dev_dbg(&spi->dev, "hwmon_device_register failed.\n"); - status = PTR_ERR(p_lm70->hwmon_dev); - goto out_dev_reg_failed; - } spi_set_drvdata(spi, p_lm70); if ((status = device_create_file(&spi->dev, &dev_attr_temp1_input)) @@ -171,12 +164,20 @@ static int __devinit lm70_probe(struct spi_device *spi) goto out_dev_create_file_failed; } + /* sysfs hook */ + p_lm70->hwmon_dev = hwmon_device_register(&spi->dev); + if (IS_ERR(p_lm70->hwmon_dev)) { + dev_dbg(&spi->dev, "hwmon_device_register failed.\n"); + status = PTR_ERR(p_lm70->hwmon_dev); + goto out_dev_reg_failed; + } + return 0; +out_dev_reg_failed: + device_remove_file(&spi->dev, &dev_attr_name); out_dev_create_file_failed: device_remove_file(&spi->dev, &dev_attr_temp1_input); - hwmon_device_unregister(p_lm70->hwmon_dev); -out_dev_reg_failed: spi_set_drvdata(spi, NULL); kfree(p_lm70); return status; @@ -186,9 +187,9 @@ static int __devexit lm70_remove(struct spi_device *spi) { struct lm70 *p_lm70 = spi_get_drvdata(spi); + hwmon_device_unregister(p_lm70->hwmon_dev); device_remove_file(&spi->dev, &dev_attr_temp1_input); device_remove_file(&spi->dev, &dev_attr_name); - hwmon_device_unregister(p_lm70->hwmon_dev); spi_set_drvdata(spi, NULL); kfree(p_lm70);