]> err.no Git - linux-2.6/blobdiff - drivers/hwmon/f71882fg.c
hwmon: (lm75) Drop legacy i2c driver
[linux-2.6] / drivers / hwmon / f71882fg.c
index b4ff0f9a6af03b1572daeef56f74e180264ac0cd..67067e9a323edba1aecf50bf40c089fc56857436 100644 (file)
 
 #define FAN_MIN_DETECT                 366 /* Lowest detectable fanspeed */
 
+static unsigned short force_id;
+module_param(force_id, ushort, 0);
+MODULE_PARM_DESC(force_id, "Override the detected device ID");
+
 static struct platform_device *f71882fg_pdev = NULL;
 
 /* Super-I/O Function prototypes */
@@ -83,11 +87,9 @@ static inline void superio_enter(int base);
 static inline void superio_select(int base, int ld);
 static inline void superio_exit(int base);
 
-static inline u16 fan_from_reg ( u16 reg );
-
 struct f71882fg_data {
        unsigned short addr;
-       struct class_device *class_dev;
+       struct device *hwmon_dev;
 
        struct mutex update_lock;
        char valid;                     /* !=0 if following fields are valid */
@@ -112,10 +114,6 @@ struct f71882fg_data {
        u8      temp_diode_open;
 };
 
-static u8 f71882fg_read8(struct f71882fg_data *data, u8 reg);
-static u16 f71882fg_read16(struct f71882fg_data *data, u8 reg);
-static void f71882fg_write8(struct f71882fg_data *data, u8 reg, u8 val);
-
 /* Sysfs in*/
 static ssize_t show_in(struct device *dev, struct device_attribute *devattr,
        char *buf);
@@ -781,9 +779,9 @@ static int __devinit f71882fg_probe(struct platform_device * pdev)
                }
        }
 
-       data->class_dev = hwmon_device_register(&pdev->dev);
-       if (IS_ERR(data->class_dev)) {
-               err = PTR_ERR(data->class_dev);
+       data->hwmon_dev = hwmon_device_register(&pdev->dev);
+       if (IS_ERR(data->hwmon_dev)) {
+               err = PTR_ERR(data->hwmon_dev);
                goto exit_unregister_sysfs;
        }
 
@@ -811,7 +809,7 @@ static int __devexit f71882fg_remove(struct platform_device *pdev)
        struct f71882fg_data *data = platform_get_drvdata(pdev);
 
        platform_set_drvdata(pdev, NULL);
-       hwmon_device_unregister(data->class_dev);
+       hwmon_device_unregister(data->hwmon_dev);
 
        for (i = 0; i < ARRAY_SIZE(f71882fg_dev_attr); i++)
                device_remove_file(&pdev->dev, &f71882fg_dev_attr[i]);
@@ -843,7 +841,7 @@ static int __init f71882fg_find(int sioaddr, unsigned short *address)
                goto exit;
        }
 
-       devid = superio_inw(sioaddr, SIO_REG_DEVID);
+       devid = force_id ? force_id : superio_inw(sioaddr, SIO_REG_DEVID);
        if (devid != SIO_F71882_ID) {
                printk(KERN_INFO DRVNAME ": Unsupported Fintek device\n");
                goto exit;