提交 67f921d1 编写于 作者: J Jean Delvare 提交者: Mark M. Hoffman

hwmon: (lm70) Add a name attribute

Add a name attribute to the lm70 devices. This is required for
libsensors to recognize them.

Also drop the "+" before the temperature value, even though it did
not cause problems to libsensors, other hardware monitoring drivers
don't print it, so it's more consistent that way.
Signed-off-by: NJean Delvare <khali@linux-fr.org>
Acked-by: NHans de Goede <j.w.r.degoede@hhs.nl>
Acked-by: NKaiwan <kaiwan@designergraphix.com>
Signed-off-by: NMark M. Hoffman <mhoffman@lightlink.com>
上级 471c6068
...@@ -81,7 +81,7 @@ static ssize_t lm70_sense_temp(struct device *dev, ...@@ -81,7 +81,7 @@ static ssize_t lm70_sense_temp(struct device *dev,
* So it's equivalent to multiplying by 0.25 * 1000 = 250. * So it's equivalent to multiplying by 0.25 * 1000 = 250.
*/ */
val = ((int)raw/32) * 250; val = ((int)raw/32) * 250;
status = sprintf(buf, "%+d\n", val); /* millidegrees Celsius */ status = sprintf(buf, "%d\n", val); /* millidegrees Celsius */
out: out:
up(&p_lm70->sem); up(&p_lm70->sem);
return status; return status;
...@@ -89,6 +89,14 @@ static ssize_t lm70_sense_temp(struct device *dev, ...@@ -89,6 +89,14 @@ static ssize_t lm70_sense_temp(struct device *dev,
static DEVICE_ATTR(temp1_input, S_IRUGO, lm70_sense_temp, NULL); static DEVICE_ATTR(temp1_input, S_IRUGO, lm70_sense_temp, NULL);
static ssize_t lm70_show_name(struct device *dev, struct device_attribute
*devattr, char *buf)
{
return sprintf(buf, "lm70\n");
}
static DEVICE_ATTR(name, S_IRUGO, lm70_show_name, NULL);
/*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/
static int __devinit lm70_probe(struct spi_device *spi) static int __devinit lm70_probe(struct spi_device *spi)
...@@ -115,7 +123,8 @@ static int __devinit lm70_probe(struct spi_device *spi) ...@@ -115,7 +123,8 @@ static int __devinit lm70_probe(struct spi_device *spi)
} }
dev_set_drvdata(&spi->dev, p_lm70); dev_set_drvdata(&spi->dev, p_lm70);
if ((status = device_create_file(&spi->dev, &dev_attr_temp1_input))) { if ((status = device_create_file(&spi->dev, &dev_attr_temp1_input))
|| (status = device_create_file(&spi->dev, &dev_attr_name))) {
dev_dbg(&spi->dev, "device_create_file failure.\n"); dev_dbg(&spi->dev, "device_create_file failure.\n");
goto out_dev_create_file_failed; goto out_dev_create_file_failed;
} }
...@@ -123,6 +132,7 @@ static int __devinit lm70_probe(struct spi_device *spi) ...@@ -123,6 +132,7 @@ static int __devinit lm70_probe(struct spi_device *spi)
return 0; return 0;
out_dev_create_file_failed: out_dev_create_file_failed:
device_remove_file(&spi->dev, &dev_attr_temp1_input);
hwmon_device_unregister(p_lm70->cdev); hwmon_device_unregister(p_lm70->cdev);
out_dev_reg_failed: out_dev_reg_failed:
dev_set_drvdata(&spi->dev, NULL); dev_set_drvdata(&spi->dev, NULL);
...@@ -135,6 +145,7 @@ static int __devexit lm70_remove(struct spi_device *spi) ...@@ -135,6 +145,7 @@ static int __devexit lm70_remove(struct spi_device *spi)
struct lm70 *p_lm70 = dev_get_drvdata(&spi->dev); struct lm70 *p_lm70 = dev_get_drvdata(&spi->dev);
device_remove_file(&spi->dev, &dev_attr_temp1_input); device_remove_file(&spi->dev, &dev_attr_temp1_input);
device_remove_file(&spi->dev, &dev_attr_name);
hwmon_device_unregister(p_lm70->cdev); hwmon_device_unregister(p_lm70->cdev);
dev_set_drvdata(&spi->dev, NULL); dev_set_drvdata(&spi->dev, NULL);
kfree(p_lm70); kfree(p_lm70);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册