Jean Delvare a écrit : > As kind is now hard-coded to -1, there is room for code clean-ups. Acked-by: Corentin LABBE <corentin.labbe@xxxxxxxxxxx> > > Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> > CC: Corentin Labbe <corentin.labbe@xxxxxxxxxxx> > Cc: Mark M. Hoffman <mhoffman@xxxxxxxxxxxxx> > Cc: Juerg Haefliger <juergh@xxxxxxxxx> > Cc: Riku Voipio <riku.vipio@xxxxxx> > Cc: Hans J. Koch <hjk@xxxxxxxxxxxxx> > Cc: Rudolf Marek <r.marek@xxxxxxxxxxxx> > --- > drivers/hwmon/adm1029.c | 57 +++++++++++---------------------------- > > --- linux-2.6.32-rc3.orig/drivers/hwmon/adm1029.c 2009-10-06 10:33:15.000000000 +0200 > +++ linux-2.6.32-rc3/drivers/hwmon/adm1029.c 2009-10-06 12:53:55.000000000 +0200 > @@ -301,59 +301,36 @@ static int adm1029_detect(struct i2c_cli > struct i2c_board_info *info) > { > struct i2c_adapter *adapter = client->adapter; > + u8 man_id, chip_id, temp_devices_installed, nb_fan_support; > > if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) > return -ENODEV; > > - /* Now we do the detection and identification. A negative kind > - * means that the driver was loaded with no force parameter > - * (default), so we must both detect and identify the chip > - * (actually there is only one possible kind of chip for now, adm1029). > - * A zero kind means that the driver was loaded with the force > - * parameter, the detection step shall be skipped. A positive kind > - * means that the driver was loaded with the force parameter and a > - * given kind of chip is requested, so both the detection and the > - * identification steps are skipped. */ > - > - /* Default to an adm1029 if forced */ > - if (kind == 0) > - kind = adm1029; > - > /* ADM1029 doesn't have CHIP ID, check just MAN ID > * For better detection we check also ADM1029_TEMP_DEVICES_INSTALLED, > * ADM1029_REG_NB_FAN_SUPPORT and compare it with possible values > * documented > */ > > - if (kind <= 0) { /* identification */ > - u8 man_id, chip_id, temp_devices_installed, nb_fan_support; > - > - man_id = i2c_smbus_read_byte_data(client, ADM1029_REG_MAN_ID); > - chip_id = i2c_smbus_read_byte_data(client, ADM1029_REG_CHIP_ID); > - temp_devices_installed = i2c_smbus_read_byte_data(client, > + man_id = i2c_smbus_read_byte_data(client, ADM1029_REG_MAN_ID); > + chip_id = i2c_smbus_read_byte_data(client, ADM1029_REG_CHIP_ID); > + temp_devices_installed = i2c_smbus_read_byte_data(client, > ADM1029_REG_TEMP_DEVICES_INSTALLED); > - nb_fan_support = i2c_smbus_read_byte_data(client, > + nb_fan_support = i2c_smbus_read_byte_data(client, > ADM1029_REG_NB_FAN_SUPPORT); > - /* 0x41 is Analog Devices */ > - if (man_id == 0x41 && (temp_devices_installed & 0xf9) == 0x01 > - && nb_fan_support == 0x03) { > - if ((chip_id & 0xF0) == 0x00) { > - kind = adm1029; > - } else { > - /* There are no "official" CHIP ID, so actually > - * we use Major/Minor revision for that */ > - printk(KERN_INFO > - "adm1029: Unknown major revision %x, " > - "please let us know\n", chip_id); > - } > - } > - > - if (kind <= 0) { /* identification failed */ > - pr_debug("adm1029: Unsupported chip (man_id=0x%02X, " > - "chip_id=0x%02X)\n", man_id, chip_id); > - return -ENODEV; > - } > + /* 0x41 is Analog Devices */ > + if (man_id != 0x41 || (temp_devices_installed & 0xf9) != 0x01 > + || nb_fan_support != 0x03) > + return -ENODEV; > + > + if ((chip_id & 0xF0) != 0x00) { > + /* There are no "official" CHIP ID, so actually > + * we use Major/Minor revision for that */ > + pr_info("adm1029: Unknown major revision %x, " > + "please let us know\n", chip_id); > + return -ENODEV; > } > + > strlcpy(info->type, "adm1029", I2C_NAME_SIZE); > > return 0; _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors