* [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B and @ 2010-07-02 9:23 ` Guenter Roeck 0 siblings, 0 replies; 12+ messages in thread From: Guenter Roeck @ 2010-07-02 9:23 UTC (permalink / raw) To: Jim Cromie, H Hartley Sweeten, Andrew Morton, Guenter Roeck, Jean Delvare, Ethan Lawrence Cc: lm-sensors, linux-kernel, lars4910, birdie, jadcock, binximeng, Guenter Roeck Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> --- Key relevant difference between W83667HG and W83667HG-B are the Chip ID as well as the fan output and step output register addresses. Those differences are addressed with this patch. There are other relevant changes in the mapping of input sensors to fan control (W83667HG datasheet chapter 8.7, W83667HG-B datasheet chapter 8.5). However, control of those mappings is not implemented in the driver, thus the respective changes should not have an impact on driver operation. Changes made in this patch are based on information from datasheets only. The patch has not yet been tested with real hardware. The patch will have to be tested with real hardware before it is integrated, and is thus submitted as RFC. Changes in v2: - Removed dash from hwmon device name. - Moved global array pointers to per-device data. - Added chip detection for W83667HG-I (assumed to be identical to W83667HG; needs to be validated). --- drivers/hwmon/w83627ehf.c | 57 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 49 insertions(+), 8 deletions(-) diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c index 0dcaba9..099454b 100644 --- a/drivers/hwmon/w83627ehf.c +++ b/drivers/hwmon/w83627ehf.c @@ -39,6 +39,8 @@ w83627dhg 9 5 4 3 0xa020 0xc1 0x5ca3 w83627dhg-p 9 5 4 3 0xb070 0xc1 0x5ca3 w83667hg 9 5 3 3 0xa510 0xc1 0x5ca3 + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 + w83667hg-b 9 5 3 3 0xb350 0xc1 0x5ca3 */ #include <linux/module.h> @@ -55,7 +57,7 @@ #include <linux/io.h> #include "lm75.h" -enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg }; +enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg, w83667hg_b }; /* used to set data->name = w83627ehf_device_names[data->sio_kind] */ static const char * w83627ehf_device_names[] = { @@ -63,6 +65,7 @@ static const char * w83627ehf_device_names[] = { "w83627dhg", "w83627dhg", "w83667hg", + "w83667hg", }; static unsigned short force_id; @@ -91,6 +94,8 @@ MODULE_PARM_DESC(force_id, "Override the detected device ID"); #define SIO_W83627DHG_ID 0xa020 #define SIO_W83627DHG_P_ID 0xb070 #define SIO_W83667HG_ID 0xa510 +#define SIO_W83667HG_I_ID 0xb340 +#define SIO_W83667HG_B_ID 0xb350 #define SIO_ID_MASK 0xFFF0 static inline void @@ -201,8 +206,14 @@ static const u8 W83627EHF_REG_TOLERANCE[] = { 0x07, 0x07, 0x14, 0x62 }; static const u8 W83627EHF_REG_FAN_START_OUTPUT[] = { 0x0a, 0x0b, 0x16, 0x65 }; static const u8 W83627EHF_REG_FAN_STOP_OUTPUT[] = { 0x08, 0x09, 0x15, 0x64 }; static const u8 W83627EHF_REG_FAN_STOP_TIME[] = { 0x0c, 0x0d, 0x17, 0x66 }; -static const u8 W83627EHF_REG_FAN_MAX_OUTPUT[] = { 0xff, 0x67, 0xff, 0x69 }; -static const u8 W83627EHF_REG_FAN_STEP_OUTPUT[] = { 0xff, 0x68, 0xff, 0x6a }; + +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_COMMON[] + = { 0xff, 0x67, 0xff, 0x69 }; +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_COMMON[] + = { 0xff, 0x68, 0xff, 0x6a }; + +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B[] = { 0x67, 0x69, 0x6b }; +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B[] = { 0x68, 0x6a, 0x6c }; /* * Conversions @@ -277,6 +288,11 @@ struct w83627ehf_data { struct device *hwmon_dev; struct mutex lock; + const u8 *REG_FAN_START_OUTPUT; + const u8 *REG_FAN_STOP_OUTPUT; + const u8 *REG_FAN_MAX_OUTPUT; + const u8 *REG_FAN_STEP_OUTPUT; + struct mutex update_lock; char valid; /* !=0 if following fields are valid */ unsigned long last_updated; /* In jiffies */ @@ -1126,7 +1142,7 @@ store_##reg(struct device *dev, struct device_attribute *attr, \ u32 val = SENSORS_LIMIT(simple_strtoul(buf, NULL, 10), 1, 255); \ mutex_lock(&data->update_lock); \ data->reg[nr] = val; \ - w83627ehf_write_value(data, W83627EHF_REG_##REG[nr], val); \ + w83627ehf_write_value(data, data->REG_##REG[nr], val); \ mutex_unlock(&data->update_lock); \ return count; \ } @@ -1343,22 +1359,37 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) /* 627EHG and 627EHF have 10 voltage inputs; 627DHG and 667HG have 9 */ data->in_num = (sio_data->kind = w83627ehf) ? 10 : 9; /* 667HG has 3 pwms */ - data->pwm_num = (sio_data->kind = w83667hg) ? 3 : 4; + data->pwm_num = (sio_data->kind = w83667hg + || sio_data->kind = w83667hg_b) ? 3 : 4; /* Check temp3 configuration bit for 667HG */ - if (sio_data->kind = w83667hg) { + if (sio_data->kind = w83667hg || sio_data->kind = w83667hg_b) { data->temp3_disable = w83627ehf_read_value(data, W83627EHF_REG_TEMP_CONFIG[1]) & 0x01; data->in6_skip = !data->temp3_disable; } + data->REG_FAN_START_OUTPUT = W83627EHF_REG_FAN_START_OUTPUT; + data->REG_FAN_STOP_OUTPUT = W83627EHF_REG_FAN_STOP_OUTPUT; + if (sio_data->kind = w83667hg_b) { + data->REG_FAN_MAX_OUTPUT + = W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B; + data->REG_FAN_STEP_OUTPUT + = W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B; + } else { + data->REG_FAN_MAX_OUTPUT + = W83627EHF_REG_FAN_MAX_OUTPUT_COMMON; + data->REG_FAN_STEP_OUTPUT + = W83627EHF_REG_FAN_STEP_OUTPUT_COMMON; + } + /* Initialize the chip */ w83627ehf_init_device(data); data->vrm = vid_which_vrm(); superio_enter(sio_data->sioreg); /* Read VID value */ - if (sio_data->kind = w83667hg) { + if (sio_data->kind = w83667hg || sio_data->kind = w83667hg_b) { /* W83667HG has different pins for VID input and output, so we can get the VID input values directly at logical device D 0xe3. */ @@ -1409,7 +1440,7 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) } /* fan4 and fan5 share some pins with the GPIO and serial flash */ - if (sio_data->kind = w83667hg) { + if (sio_data->kind = w83667hg || sio_data->kind = w83667hg_b) { fan5pin = superio_inb(sio_data->sioreg, 0x27) & 0x20; fan4pin = superio_inb(sio_data->sioreg, 0x27) & 0x40; } else { @@ -1556,6 +1587,8 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, static const char __initdata sio_name_W83627DHG[] = "W83627DHG"; static const char __initdata sio_name_W83627DHG_P[] = "W83627DHG-P"; static const char __initdata sio_name_W83667HG[] = "W83667HG"; + static const char __initdata sio_name_W83667HG_I[] = "W83667HG-I"; + static const char __initdata sio_name_W83667HG_B[] = "W83667HG-B"; u16 val; const char *sio_name; @@ -1588,6 +1621,14 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, sio_data->kind = w83667hg; sio_name = sio_name_W83667HG; break; + case SIO_W83667HG_I_ID: + sio_data->kind = w83667hg; + sio_name = sio_name_W83667HG_I; + break; + case SIO_W83667HG_B_ID: + sio_data->kind = w83667hg_b; + sio_name = sio_name_W83667HG_B; + break; default: if (val != 0xffff) pr_debug(DRVNAME ": unsupported chip ID: 0x%04x\n", -- 1.7.0.87.g0901d _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver. @ 2010-07-02 9:23 ` Guenter Roeck 0 siblings, 0 replies; 12+ messages in thread From: Guenter Roeck @ 2010-07-02 9:23 UTC (permalink / raw) To: Jim Cromie, H Hartley Sweeten, Andrew Morton, Guenter Roeck, Jean Delvare, Ethan Lawrence Cc: lm-sensors, linux-kernel, lars4910, birdie, jadcock, binximeng, Guenter Roeck Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> --- Key relevant difference between W83667HG and W83667HG-B are the Chip ID as well as the fan output and step output register addresses. Those differences are addressed with this patch. There are other relevant changes in the mapping of input sensors to fan control (W83667HG datasheet chapter 8.7, W83667HG-B datasheet chapter 8.5). However, control of those mappings is not implemented in the driver, thus the respective changes should not have an impact on driver operation. Changes made in this patch are based on information from datasheets only. The patch has not yet been tested with real hardware. The patch will have to be tested with real hardware before it is integrated, and is thus submitted as RFC. Changes in v2: - Removed dash from hwmon device name. - Moved global array pointers to per-device data. - Added chip detection for W83667HG-I (assumed to be identical to W83667HG; needs to be validated). --- drivers/hwmon/w83627ehf.c | 57 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 49 insertions(+), 8 deletions(-) diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c index 0dcaba9..099454b 100644 --- a/drivers/hwmon/w83627ehf.c +++ b/drivers/hwmon/w83627ehf.c @@ -39,6 +39,8 @@ w83627dhg 9 5 4 3 0xa020 0xc1 0x5ca3 w83627dhg-p 9 5 4 3 0xb070 0xc1 0x5ca3 w83667hg 9 5 3 3 0xa510 0xc1 0x5ca3 + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 + w83667hg-b 9 5 3 3 0xb350 0xc1 0x5ca3 */ #include <linux/module.h> @@ -55,7 +57,7 @@ #include <linux/io.h> #include "lm75.h" -enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg }; +enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg, w83667hg_b }; /* used to set data->name = w83627ehf_device_names[data->sio_kind] */ static const char * w83627ehf_device_names[] = { @@ -63,6 +65,7 @@ static const char * w83627ehf_device_names[] = { "w83627dhg", "w83627dhg", "w83667hg", + "w83667hg", }; static unsigned short force_id; @@ -91,6 +94,8 @@ MODULE_PARM_DESC(force_id, "Override the detected device ID"); #define SIO_W83627DHG_ID 0xa020 #define SIO_W83627DHG_P_ID 0xb070 #define SIO_W83667HG_ID 0xa510 +#define SIO_W83667HG_I_ID 0xb340 +#define SIO_W83667HG_B_ID 0xb350 #define SIO_ID_MASK 0xFFF0 static inline void @@ -201,8 +206,14 @@ static const u8 W83627EHF_REG_TOLERANCE[] = { 0x07, 0x07, 0x14, 0x62 }; static const u8 W83627EHF_REG_FAN_START_OUTPUT[] = { 0x0a, 0x0b, 0x16, 0x65 }; static const u8 W83627EHF_REG_FAN_STOP_OUTPUT[] = { 0x08, 0x09, 0x15, 0x64 }; static const u8 W83627EHF_REG_FAN_STOP_TIME[] = { 0x0c, 0x0d, 0x17, 0x66 }; -static const u8 W83627EHF_REG_FAN_MAX_OUTPUT[] = { 0xff, 0x67, 0xff, 0x69 }; -static const u8 W83627EHF_REG_FAN_STEP_OUTPUT[] = { 0xff, 0x68, 0xff, 0x6a }; + +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_COMMON[] + = { 0xff, 0x67, 0xff, 0x69 }; +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_COMMON[] + = { 0xff, 0x68, 0xff, 0x6a }; + +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B[] = { 0x67, 0x69, 0x6b }; +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B[] = { 0x68, 0x6a, 0x6c }; /* * Conversions @@ -277,6 +288,11 @@ struct w83627ehf_data { struct device *hwmon_dev; struct mutex lock; + const u8 *REG_FAN_START_OUTPUT; + const u8 *REG_FAN_STOP_OUTPUT; + const u8 *REG_FAN_MAX_OUTPUT; + const u8 *REG_FAN_STEP_OUTPUT; + struct mutex update_lock; char valid; /* !=0 if following fields are valid */ unsigned long last_updated; /* In jiffies */ @@ -1126,7 +1142,7 @@ store_##reg(struct device *dev, struct device_attribute *attr, \ u32 val = SENSORS_LIMIT(simple_strtoul(buf, NULL, 10), 1, 255); \ mutex_lock(&data->update_lock); \ data->reg[nr] = val; \ - w83627ehf_write_value(data, W83627EHF_REG_##REG[nr], val); \ + w83627ehf_write_value(data, data->REG_##REG[nr], val); \ mutex_unlock(&data->update_lock); \ return count; \ } @@ -1343,22 +1359,37 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) /* 627EHG and 627EHF have 10 voltage inputs; 627DHG and 667HG have 9 */ data->in_num = (sio_data->kind == w83627ehf) ? 10 : 9; /* 667HG has 3 pwms */ - data->pwm_num = (sio_data->kind == w83667hg) ? 3 : 4; + data->pwm_num = (sio_data->kind == w83667hg + || sio_data->kind == w83667hg_b) ? 3 : 4; /* Check temp3 configuration bit for 667HG */ - if (sio_data->kind == w83667hg) { + if (sio_data->kind == w83667hg || sio_data->kind == w83667hg_b) { data->temp3_disable = w83627ehf_read_value(data, W83627EHF_REG_TEMP_CONFIG[1]) & 0x01; data->in6_skip = !data->temp3_disable; } + data->REG_FAN_START_OUTPUT = W83627EHF_REG_FAN_START_OUTPUT; + data->REG_FAN_STOP_OUTPUT = W83627EHF_REG_FAN_STOP_OUTPUT; + if (sio_data->kind == w83667hg_b) { + data->REG_FAN_MAX_OUTPUT + = W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B; + data->REG_FAN_STEP_OUTPUT + = W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B; + } else { + data->REG_FAN_MAX_OUTPUT + = W83627EHF_REG_FAN_MAX_OUTPUT_COMMON; + data->REG_FAN_STEP_OUTPUT + = W83627EHF_REG_FAN_STEP_OUTPUT_COMMON; + } + /* Initialize the chip */ w83627ehf_init_device(data); data->vrm = vid_which_vrm(); superio_enter(sio_data->sioreg); /* Read VID value */ - if (sio_data->kind == w83667hg) { + if (sio_data->kind == w83667hg || sio_data->kind == w83667hg_b) { /* W83667HG has different pins for VID input and output, so we can get the VID input values directly at logical device D 0xe3. */ @@ -1409,7 +1440,7 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) } /* fan4 and fan5 share some pins with the GPIO and serial flash */ - if (sio_data->kind == w83667hg) { + if (sio_data->kind == w83667hg || sio_data->kind == w83667hg_b) { fan5pin = superio_inb(sio_data->sioreg, 0x27) & 0x20; fan4pin = superio_inb(sio_data->sioreg, 0x27) & 0x40; } else { @@ -1556,6 +1587,8 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, static const char __initdata sio_name_W83627DHG[] = "W83627DHG"; static const char __initdata sio_name_W83627DHG_P[] = "W83627DHG-P"; static const char __initdata sio_name_W83667HG[] = "W83667HG"; + static const char __initdata sio_name_W83667HG_I[] = "W83667HG-I"; + static const char __initdata sio_name_W83667HG_B[] = "W83667HG-B"; u16 val; const char *sio_name; @@ -1588,6 +1621,14 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, sio_data->kind = w83667hg; sio_name = sio_name_W83667HG; break; + case SIO_W83667HG_I_ID: + sio_data->kind = w83667hg; + sio_name = sio_name_W83667HG_I; + break; + case SIO_W83667HG_B_ID: + sio_data->kind = w83667hg_b; + sio_name = sio_name_W83667HG_B; + break; default: if (val != 0xffff) pr_debug(DRVNAME ": unsupported chip ID: 0x%04x\n", -- 1.7.0.87.g0901d ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B 2010-07-02 9:23 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Guenter Roeck @ 2010-07-03 8:35 ` Jean Delvare -1 siblings, 0 replies; 12+ messages in thread From: Jean Delvare @ 2010-07-03 8:35 UTC (permalink / raw) To: Guenter Roeck Cc: Jim Cromie, H Hartley Sweeten, Andrew Morton, Guenter Roeck, Ethan Lawrence, lm-sensors, linux-kernel, lars4910, birdie, jadcock, binximeng Hi Guenter, On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> > --- > Key relevant difference between W83667HG and W83667HG-B are the Chip ID as well > as the fan output and step output register addresses. Those differences are > addressed with this patch. > > There are other relevant changes in the mapping of input sensors to fan > control (W83667HG datasheet chapter 8.7, W83667HG-B datasheet chapter 8.5). > However, control of those mappings is not implemented in the driver, thus the > respective changes should not have an impact on driver operation. > > Changes made in this patch are based on information from datasheets only. The > patch has not yet been tested with real hardware. The patch will have to be > tested with real hardware before it is integrated, and is thus submitted as RFC. > > Changes in v2: > - Removed dash from hwmon device name. > - Moved global array pointers to per-device data. > - Added chip detection for W83667HG-I > (assumed to be identical to W83667HG; needs to be validated). > --- > drivers/hwmon/w83627ehf.c | 57 ++++++++++++++++++++++++++++++++++++++------ > 1 files changed, 49 insertions(+), 8 deletions(-) > > diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c > index 0dcaba9..099454b 100644 > --- a/drivers/hwmon/w83627ehf.c > +++ b/drivers/hwmon/w83627ehf.c > @@ -39,6 +39,8 @@ > w83627dhg 9 5 4 3 0xa020 0xc1 0x5ca3 > w83627dhg-p 9 5 4 3 0xb070 0xc1 0x5ca3 > w83667hg 9 5 3 3 0xa510 0xc1 0x5ca3 > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 As discussed before, this one is a 677 series, not 667. That being said, I admit that the device ID proximity between the 667HG-B and the 677HG-I is troubling, and invites to optimism as far as compatibility between these two chips is concerned. > + w83667hg-b 9 5 3 3 0xb350 0xc1 0x5ca3 > */ > > #include <linux/module.h> > @@ -55,7 +57,7 @@ > #include <linux/io.h> > #include "lm75.h" > > -enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg }; > +enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg, w83667hg_b }; > > /* used to set data->name = w83627ehf_device_names[data->sio_kind] */ > static const char * w83627ehf_device_names[] = { > @@ -63,6 +65,7 @@ static const char * w83627ehf_device_names[] = { > "w83627dhg", > "w83627dhg", > "w83667hg", > + "w83667hg", > }; > > static unsigned short force_id; > @@ -91,6 +94,8 @@ MODULE_PARM_DESC(force_id, "Override the detected device ID"); > #define SIO_W83627DHG_ID 0xa020 > #define SIO_W83627DHG_P_ID 0xb070 > #define SIO_W83667HG_ID 0xa510 > +#define SIO_W83667HG_I_ID 0xb340 > +#define SIO_W83667HG_B_ID 0xb350 > #define SIO_ID_MASK 0xFFF0 > > static inline void > @@ -201,8 +206,14 @@ static const u8 W83627EHF_REG_TOLERANCE[] = { 0x07, 0x07, 0x14, 0x62 }; > static const u8 W83627EHF_REG_FAN_START_OUTPUT[] = { 0x0a, 0x0b, 0x16, 0x65 }; > static const u8 W83627EHF_REG_FAN_STOP_OUTPUT[] = { 0x08, 0x09, 0x15, 0x64 }; > static const u8 W83627EHF_REG_FAN_STOP_TIME[] = { 0x0c, 0x0d, 0x17, 0x66 }; > -static const u8 W83627EHF_REG_FAN_MAX_OUTPUT[] = { 0xff, 0x67, 0xff, 0x69 }; > -static const u8 W83627EHF_REG_FAN_STEP_OUTPUT[] = { 0xff, 0x68, 0xff, 0x6a }; > + > +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_COMMON[] > + = { 0xff, 0x67, 0xff, 0x69 }; > +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_COMMON[] > + = { 0xff, 0x68, 0xff, 0x6a }; > + > +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B[] = { 0x67, 0x69, 0x6b }; > +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B[] = { 0x68, 0x6a, 0x6c }; > > /* > * Conversions > @@ -277,6 +288,11 @@ struct w83627ehf_data { > struct device *hwmon_dev; > struct mutex lock; > > + const u8 *REG_FAN_START_OUTPUT; > + const u8 *REG_FAN_STOP_OUTPUT; > + const u8 *REG_FAN_MAX_OUTPUT; > + const u8 *REG_FAN_STEP_OUTPUT; > + > struct mutex update_lock; > char valid; /* !=0 if following fields are valid */ > unsigned long last_updated; /* In jiffies */ > @@ -1126,7 +1142,7 @@ store_##reg(struct device *dev, struct device_attribute *attr, \ > u32 val = SENSORS_LIMIT(simple_strtoul(buf, NULL, 10), 1, 255); \ > mutex_lock(&data->update_lock); \ > data->reg[nr] = val; \ > - w83627ehf_write_value(data, W83627EHF_REG_##REG[nr], val); \ > + w83627ehf_write_value(data, data->REG_##REG[nr], val); \ > mutex_unlock(&data->update_lock); \ > return count; \ > } > @@ -1343,22 +1359,37 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) > /* 627EHG and 627EHF have 10 voltage inputs; 627DHG and 667HG have 9 */ > data->in_num = (sio_data->kind = w83627ehf) ? 10 : 9; > /* 667HG has 3 pwms */ > - data->pwm_num = (sio_data->kind = w83667hg) ? 3 : 4; > + data->pwm_num = (sio_data->kind = w83667hg > + || sio_data->kind = w83667hg_b) ? 3 : 4; > > /* Check temp3 configuration bit for 667HG */ > - if (sio_data->kind = w83667hg) { > + if (sio_data->kind = w83667hg || sio_data->kind = w83667hg_b) { > data->temp3_disable = w83627ehf_read_value(data, > W83627EHF_REG_TEMP_CONFIG[1]) & 0x01; > data->in6_skip = !data->temp3_disable; > } > > + data->REG_FAN_START_OUTPUT = W83627EHF_REG_FAN_START_OUTPUT; > + data->REG_FAN_STOP_OUTPUT = W83627EHF_REG_FAN_STOP_OUTPUT; > + if (sio_data->kind = w83667hg_b) { > + data->REG_FAN_MAX_OUTPUT > + = W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B; > + data->REG_FAN_STEP_OUTPUT > + = W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B; > + } else { > + data->REG_FAN_MAX_OUTPUT > + = W83627EHF_REG_FAN_MAX_OUTPUT_COMMON; > + data->REG_FAN_STEP_OUTPUT > + = W83627EHF_REG_FAN_STEP_OUTPUT_COMMON; > + } > + > /* Initialize the chip */ > w83627ehf_init_device(data); > > data->vrm = vid_which_vrm(); > superio_enter(sio_data->sioreg); > /* Read VID value */ > - if (sio_data->kind = w83667hg) { > + if (sio_data->kind = w83667hg || sio_data->kind = w83667hg_b) { > /* W83667HG has different pins for VID input and output, so > we can get the VID input values directly at logical device D > 0xe3. */ > @@ -1409,7 +1440,7 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) > } > > /* fan4 and fan5 share some pins with the GPIO and serial flash */ > - if (sio_data->kind = w83667hg) { > + if (sio_data->kind = w83667hg || sio_data->kind = w83667hg_b) { > fan5pin = superio_inb(sio_data->sioreg, 0x27) & 0x20; > fan4pin = superio_inb(sio_data->sioreg, 0x27) & 0x40; > } else { > @@ -1556,6 +1587,8 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, > static const char __initdata sio_name_W83627DHG[] = "W83627DHG"; > static const char __initdata sio_name_W83627DHG_P[] = "W83627DHG-P"; > static const char __initdata sio_name_W83667HG[] = "W83667HG"; > + static const char __initdata sio_name_W83667HG_I[] = "W83667HG-I"; > + static const char __initdata sio_name_W83667HG_B[] = "W83667HG-B"; > > u16 val; > const char *sio_name; > @@ -1588,6 +1621,14 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, > sio_data->kind = w83667hg; > sio_name = sio_name_W83667HG; > break; > + case SIO_W83667HG_I_ID: > + sio_data->kind = w83667hg; > + sio_name = sio_name_W83667HG_I; > + break; > + case SIO_W83667HG_B_ID: > + sio_data->kind = w83667hg_b; > + sio_name = sio_name_W83667HG_B; > + break; > default: > if (val != 0xffff) > pr_debug(DRVNAME ": unsupported chip ID: 0x%04x\n", Other than this, I have no objection, your patch looks sane. After your next iteration, I'll publish a standalone driver with your patch, for easier testing. -- Jean Delvare _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver. @ 2010-07-03 8:35 ` Jean Delvare 0 siblings, 0 replies; 12+ messages in thread From: Jean Delvare @ 2010-07-03 8:35 UTC (permalink / raw) To: Guenter Roeck Cc: Jim Cromie, H Hartley Sweeten, Andrew Morton, Guenter Roeck, Ethan Lawrence, lm-sensors, linux-kernel, lars4910, birdie, jadcock, binximeng Hi Guenter, On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> > --- > Key relevant difference between W83667HG and W83667HG-B are the Chip ID as well > as the fan output and step output register addresses. Those differences are > addressed with this patch. > > There are other relevant changes in the mapping of input sensors to fan > control (W83667HG datasheet chapter 8.7, W83667HG-B datasheet chapter 8.5). > However, control of those mappings is not implemented in the driver, thus the > respective changes should not have an impact on driver operation. > > Changes made in this patch are based on information from datasheets only. The > patch has not yet been tested with real hardware. The patch will have to be > tested with real hardware before it is integrated, and is thus submitted as RFC. > > Changes in v2: > - Removed dash from hwmon device name. > - Moved global array pointers to per-device data. > - Added chip detection for W83667HG-I > (assumed to be identical to W83667HG; needs to be validated). > --- > drivers/hwmon/w83627ehf.c | 57 ++++++++++++++++++++++++++++++++++++++------ > 1 files changed, 49 insertions(+), 8 deletions(-) > > diff --git a/drivers/hwmon/w83627ehf.c b/drivers/hwmon/w83627ehf.c > index 0dcaba9..099454b 100644 > --- a/drivers/hwmon/w83627ehf.c > +++ b/drivers/hwmon/w83627ehf.c > @@ -39,6 +39,8 @@ > w83627dhg 9 5 4 3 0xa020 0xc1 0x5ca3 > w83627dhg-p 9 5 4 3 0xb070 0xc1 0x5ca3 > w83667hg 9 5 3 3 0xa510 0xc1 0x5ca3 > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 As discussed before, this one is a 677 series, not 667. That being said, I admit that the device ID proximity between the 667HG-B and the 677HG-I is troubling, and invites to optimism as far as compatibility between these two chips is concerned. > + w83667hg-b 9 5 3 3 0xb350 0xc1 0x5ca3 > */ > > #include <linux/module.h> > @@ -55,7 +57,7 @@ > #include <linux/io.h> > #include "lm75.h" > > -enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg }; > +enum kinds { w83627ehf, w83627dhg, w83627dhg_p, w83667hg, w83667hg_b }; > > /* used to set data->name = w83627ehf_device_names[data->sio_kind] */ > static const char * w83627ehf_device_names[] = { > @@ -63,6 +65,7 @@ static const char * w83627ehf_device_names[] = { > "w83627dhg", > "w83627dhg", > "w83667hg", > + "w83667hg", > }; > > static unsigned short force_id; > @@ -91,6 +94,8 @@ MODULE_PARM_DESC(force_id, "Override the detected device ID"); > #define SIO_W83627DHG_ID 0xa020 > #define SIO_W83627DHG_P_ID 0xb070 > #define SIO_W83667HG_ID 0xa510 > +#define SIO_W83667HG_I_ID 0xb340 > +#define SIO_W83667HG_B_ID 0xb350 > #define SIO_ID_MASK 0xFFF0 > > static inline void > @@ -201,8 +206,14 @@ static const u8 W83627EHF_REG_TOLERANCE[] = { 0x07, 0x07, 0x14, 0x62 }; > static const u8 W83627EHF_REG_FAN_START_OUTPUT[] = { 0x0a, 0x0b, 0x16, 0x65 }; > static const u8 W83627EHF_REG_FAN_STOP_OUTPUT[] = { 0x08, 0x09, 0x15, 0x64 }; > static const u8 W83627EHF_REG_FAN_STOP_TIME[] = { 0x0c, 0x0d, 0x17, 0x66 }; > -static const u8 W83627EHF_REG_FAN_MAX_OUTPUT[] = { 0xff, 0x67, 0xff, 0x69 }; > -static const u8 W83627EHF_REG_FAN_STEP_OUTPUT[] = { 0xff, 0x68, 0xff, 0x6a }; > + > +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_COMMON[] > + = { 0xff, 0x67, 0xff, 0x69 }; > +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_COMMON[] > + = { 0xff, 0x68, 0xff, 0x6a }; > + > +static const u8 W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B[] = { 0x67, 0x69, 0x6b }; > +static const u8 W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B[] = { 0x68, 0x6a, 0x6c }; > > /* > * Conversions > @@ -277,6 +288,11 @@ struct w83627ehf_data { > struct device *hwmon_dev; > struct mutex lock; > > + const u8 *REG_FAN_START_OUTPUT; > + const u8 *REG_FAN_STOP_OUTPUT; > + const u8 *REG_FAN_MAX_OUTPUT; > + const u8 *REG_FAN_STEP_OUTPUT; > + > struct mutex update_lock; > char valid; /* !=0 if following fields are valid */ > unsigned long last_updated; /* In jiffies */ > @@ -1126,7 +1142,7 @@ store_##reg(struct device *dev, struct device_attribute *attr, \ > u32 val = SENSORS_LIMIT(simple_strtoul(buf, NULL, 10), 1, 255); \ > mutex_lock(&data->update_lock); \ > data->reg[nr] = val; \ > - w83627ehf_write_value(data, W83627EHF_REG_##REG[nr], val); \ > + w83627ehf_write_value(data, data->REG_##REG[nr], val); \ > mutex_unlock(&data->update_lock); \ > return count; \ > } > @@ -1343,22 +1359,37 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) > /* 627EHG and 627EHF have 10 voltage inputs; 627DHG and 667HG have 9 */ > data->in_num = (sio_data->kind == w83627ehf) ? 10 : 9; > /* 667HG has 3 pwms */ > - data->pwm_num = (sio_data->kind == w83667hg) ? 3 : 4; > + data->pwm_num = (sio_data->kind == w83667hg > + || sio_data->kind == w83667hg_b) ? 3 : 4; > > /* Check temp3 configuration bit for 667HG */ > - if (sio_data->kind == w83667hg) { > + if (sio_data->kind == w83667hg || sio_data->kind == w83667hg_b) { > data->temp3_disable = w83627ehf_read_value(data, > W83627EHF_REG_TEMP_CONFIG[1]) & 0x01; > data->in6_skip = !data->temp3_disable; > } > > + data->REG_FAN_START_OUTPUT = W83627EHF_REG_FAN_START_OUTPUT; > + data->REG_FAN_STOP_OUTPUT = W83627EHF_REG_FAN_STOP_OUTPUT; > + if (sio_data->kind == w83667hg_b) { > + data->REG_FAN_MAX_OUTPUT > + = W83627EHF_REG_FAN_MAX_OUTPUT_W83667_B; > + data->REG_FAN_STEP_OUTPUT > + = W83627EHF_REG_FAN_STEP_OUTPUT_W83667_B; > + } else { > + data->REG_FAN_MAX_OUTPUT > + = W83627EHF_REG_FAN_MAX_OUTPUT_COMMON; > + data->REG_FAN_STEP_OUTPUT > + = W83627EHF_REG_FAN_STEP_OUTPUT_COMMON; > + } > + > /* Initialize the chip */ > w83627ehf_init_device(data); > > data->vrm = vid_which_vrm(); > superio_enter(sio_data->sioreg); > /* Read VID value */ > - if (sio_data->kind == w83667hg) { > + if (sio_data->kind == w83667hg || sio_data->kind == w83667hg_b) { > /* W83667HG has different pins for VID input and output, so > we can get the VID input values directly at logical device D > 0xe3. */ > @@ -1409,7 +1440,7 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev) > } > > /* fan4 and fan5 share some pins with the GPIO and serial flash */ > - if (sio_data->kind == w83667hg) { > + if (sio_data->kind == w83667hg || sio_data->kind == w83667hg_b) { > fan5pin = superio_inb(sio_data->sioreg, 0x27) & 0x20; > fan4pin = superio_inb(sio_data->sioreg, 0x27) & 0x40; > } else { > @@ -1556,6 +1587,8 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, > static const char __initdata sio_name_W83627DHG[] = "W83627DHG"; > static const char __initdata sio_name_W83627DHG_P[] = "W83627DHG-P"; > static const char __initdata sio_name_W83667HG[] = "W83667HG"; > + static const char __initdata sio_name_W83667HG_I[] = "W83667HG-I"; > + static const char __initdata sio_name_W83667HG_B[] = "W83667HG-B"; > > u16 val; > const char *sio_name; > @@ -1588,6 +1621,14 @@ static int __init w83627ehf_find(int sioaddr, unsigned short *addr, > sio_data->kind = w83667hg; > sio_name = sio_name_W83667HG; > break; > + case SIO_W83667HG_I_ID: > + sio_data->kind = w83667hg; > + sio_name = sio_name_W83667HG_I; > + break; > + case SIO_W83667HG_B_ID: > + sio_data->kind = w83667hg_b; > + sio_name = sio_name_W83667HG_B; > + break; > default: > if (val != 0xffff) > pr_debug(DRVNAME ": unsupported chip ID: 0x%04x\n", Other than this, I have no objection, your patch looks sane. After your next iteration, I'll publish a standalone driver with your patch, for easier testing. -- Jean Delvare ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B 2010-07-03 8:35 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Jean Delvare @ 2010-07-03 10:15 ` 宾西蒙 -1 siblings, 0 replies; 12+ messages in thread From: 宾西蒙 @ 2010-07-03 10:15 UTC (permalink / raw) To: Jean Delvare Cc: Guenter Roeck, Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors, linux-kernel, lars4910, birdie, jadcock 在 2010-07-03六的 10:35 +0200,Jean Delvare写道: > Hi Guenter, > > On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 > > As discussed before, this one is a 677 series, not 667. That being > said, I admit that the device ID proximity between the 667HG-B and the > 677HG-I is troubling, and invites to optimism as far as compatibility > between these two chips is concerned. I think we got something confused here, I was looking for the W836 *seven* 7 HG-I driver (which has ID 0xb470) and not the W836 *six* 7 HG-I one, although maybe someone else might benefit from that one. It has at least 5 fans, with 3 pwm and 1 voltage regulatory. Using the w83667hg driver, I can only see the speed of fan2 and fan3 in sensors output. the w83627dhg-p already seems to read out 3 of the 5 fan speeds. The temperatures seem rather wonky, I might need to compare with the bios readings some more. _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver. @ 2010-07-03 10:15 ` 宾西蒙 0 siblings, 0 replies; 12+ messages in thread From: 宾西蒙 @ 2010-07-03 10:15 UTC (permalink / raw) To: Jean Delvare Cc: Guenter Roeck, Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors, linux-kernel, lars4910, birdie, jadcock 在 2010-07-03六的 10:35 +0200,Jean Delvare写道: > Hi Guenter, > > On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 > > As discussed before, this one is a 677 series, not 667. That being > said, I admit that the device ID proximity between the 667HG-B and the > 677HG-I is troubling, and invites to optimism as far as compatibility > between these two chips is concerned. I think we got something confused here, I was looking for the W836 *seven* 7 HG-I driver (which has ID 0xb470) and not the W836 *six* 7 HG-I one, although maybe someone else might benefit from that one. It has at least 5 fans, with 3 pwm and 1 voltage regulatory. Using the w83667hg driver, I can only see the speed of fan2 and fan3 in sensors output. the w83627dhg-p already seems to read out 3 of the 5 fan speeds. The temperatures seem rather wonky, I might need to compare with the bios readings some more. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B 2010-07-03 10:15 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver 宾西蒙 @ 2010-07-03 20:56 ` Jean Delvare -1 siblings, 0 replies; 12+ messages in thread From: Jean Delvare @ 2010-07-03 20:56 UTC (permalink / raw) To: 宾西蒙 Cc: Guenter Roeck, Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors, linux-kernel, lars4910, birdie, jadcock Hi 宾西蒙, On Sat, 03 Jul 2010 12:15:48 +0200, 宾西蒙 wrote: > 在 2010-07-03六的 10:35 +0200,Jean Delvare写道: > > Hi Guenter, > > > > On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > > > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 > > > > As discussed before, this one is a 677 series, not 667. That being > > said, I admit that the device ID proximity between the 667HG-B and the > > 677HG-I is troubling, and invites to optimism as far as compatibility > > between these two chips is concerned. > > I think we got something confused here, I was looking for the W836 > *seven* 7 HG-I driver (which has ID 0xb470) and not the W836 *six* 7 > HG-I one, although maybe someone else might benefit from that one. Yes, there was some confusion. For one thing, the W83667HG-I does not exist. And for another, I have no idea where Guenter found the device id 0xb340. None of the Nuvoton W836x7HG datasheets I have mention this ID. All I know of is 0xb350 for the W83667HG-B and 0xb470 for the W83677HG-I (which apparently was renamed to something different meanwhile.) -- Jean Delvare _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver. @ 2010-07-03 20:56 ` Jean Delvare 0 siblings, 0 replies; 12+ messages in thread From: Jean Delvare @ 2010-07-03 20:56 UTC (permalink / raw) To: 宾西蒙 Cc: Guenter Roeck, Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors, linux-kernel, lars4910, birdie, jadcock Hi 宾西蒙, On Sat, 03 Jul 2010 12:15:48 +0200, 宾西蒙 wrote: > 在 2010-07-03六的 10:35 +0200,Jean Delvare写道: > > Hi Guenter, > > > > On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > > > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 > > > > As discussed before, this one is a 677 series, not 667. That being > > said, I admit that the device ID proximity between the 667HG-B and the > > 677HG-I is troubling, and invites to optimism as far as compatibility > > between these two chips is concerned. > > I think we got something confused here, I was looking for the W836 > *seven* 7 HG-I driver (which has ID 0xb470) and not the W836 *six* 7 > HG-I one, although maybe someone else might benefit from that one. Yes, there was some confusion. For one thing, the W83667HG-I does not exist. And for another, I have no idea where Guenter found the device id 0xb340. None of the Nuvoton W836x7HG datasheets I have mention this ID. All I know of is 0xb350 for the W83667HG-B and 0xb470 for the W83677HG-I (which apparently was renamed to something different meanwhile.) -- Jean Delvare ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B 2010-07-03 20:56 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Jean Delvare @ 2010-07-03 21:28 ` Guenter Roeck -1 siblings, 0 replies; 12+ messages in thread From: Guenter Roeck @ 2010-07-03 21:28 UTC (permalink / raw) To: Jean Delvare Cc: 宾西蒙, Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, lars4910@hotmail.com, birdie@permonline.ru, jadcock@cox.net On Sat, Jul 03, 2010 at 04:56:13PM -0400, Jean Delvare wrote: > Hi 宾西蒙, > > On Sat, 03 Jul 2010 12:15:48 +0200, 宾西蒙 wrote: > > 在 2010-07-03六的 10:35 +0200,Jean Delvare写道: > > > Hi Guenter, > > > > > > On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > > > > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 > > > > > > As discussed before, this one is a 677 series, not 667. That being > > > said, I admit that the device ID proximity between the 667HG-B and the > > > 677HG-I is troubling, and invites to optimism as far as compatibility > > > between these two chips is concerned. > > > > I think we got something confused here, I was looking for the W836 > > *seven* 7 HG-I driver (which has ID 0xb470) and not the W836 *six* 7 > > HG-I one, although maybe someone else might benefit from that one. > > Yes, there was some confusion. For one thing, the W83667HG-I does not > exist. And for another, I have no idea where Guenter found the device > id 0xb340. None of the Nuvoton W836x7HG datasheets I have mention this > ID. All I know of is 0xb350 for the W83667HG-B and 0xb470 for the > W83677HG-I (which apparently was renamed to something different > meanwhile.) > > -- > Jean Delvare Most likely I just got it wrong. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver. @ 2010-07-03 21:28 ` Guenter Roeck 0 siblings, 0 replies; 12+ messages in thread From: Guenter Roeck @ 2010-07-03 21:28 UTC (permalink / raw) To: Jean Delvare Cc: 宾西蒙, Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, lars4910@hotmail.com, birdie@permonline.ru, jadcock@cox.net On Sat, Jul 03, 2010 at 04:56:13PM -0400, Jean Delvare wrote: > Hi 宾西蒙, > > On Sat, 03 Jul 2010 12:15:48 +0200, 宾西蒙 wrote: > > 在 2010-07-03六的 10:35 +0200,Jean Delvare写道: > > > Hi Guenter, > > > > > > On Fri, 2 Jul 2010 02:23:26 -0700, Guenter Roeck wrote: > > > > + w83667hg-i 9 5 3 3 0xb340 0xc1 0x5ca3 > > > > > > As discussed before, this one is a 677 series, not 667. That being > > > said, I admit that the device ID proximity between the 667HG-B and the > > > 677HG-I is troubling, and invites to optimism as far as compatibility > > > between these two chips is concerned. > > > > I think we got something confused here, I was looking for the W836 > > *seven* 7 HG-I driver (which has ID 0xb470) and not the W836 *six* 7 > > HG-I one, although maybe someone else might benefit from that one. > > Yes, there was some confusion. For one thing, the W83667HG-I does not > exist. And for another, I have no idea where Guenter found the device > id 0xb340. None of the Nuvoton W836x7HG datasheets I have mention this > ID. All I know of is 0xb350 for the W83667HG-B and 0xb470 for the > W83677HG-I (which apparently was renamed to something different > meanwhile.) > > -- > Jean Delvare Most likely I just got it wrong. Guenter ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B 2010-07-03 8:35 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Jean Delvare @ 2010-07-03 15:11 ` Guenter Roeck -1 siblings, 0 replies; 12+ messages in thread From: Guenter Roeck @ 2010-07-03 15:11 UTC (permalink / raw) To: Jean Delvare Cc: Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, lars4910@hotmail.com, birdie@permonline.ru, jadcock@cox.net, binximeng@gmail.com On Sat, Jul 03, 2010 at 04:35:36AM -0400, Jean Delvare wrote: [...] > > Other than this, I have no objection, your patch looks sane. > > After your next iteration, I'll publish a standalone driver with your > patch, for easier testing. > I submitted v3 a minute ago. I had to make a couple of additional changes, so you'll have to at least browse through it again. This is still a single patch. There are some generic changes, though, so I plan to split it into a generic patch and a -B specific patch next time around. Would be great to get some test feedback first, though. Guenter _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver. @ 2010-07-03 15:11 ` Guenter Roeck 0 siblings, 0 replies; 12+ messages in thread From: Guenter Roeck @ 2010-07-03 15:11 UTC (permalink / raw) To: Jean Delvare Cc: Jim Cromie, H Hartley Sweeten, Andrew Morton, Ethan Lawrence, lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, lars4910@hotmail.com, birdie@permonline.ru, jadcock@cox.net, binximeng@gmail.com On Sat, Jul 03, 2010 at 04:35:36AM -0400, Jean Delvare wrote: [...] > > Other than this, I have no objection, your patch looks sane. > > After your next iteration, I'll publish a standalone driver with your > patch, for easier testing. > I submitted v3 a minute ago. I had to make a couple of additional changes, so you'll have to at least browse through it again. This is still a single patch. There are some generic changes, though, so I plan to split it into a generic patch and a -B specific patch next time around. Would be great to get some test feedback first, though. Guenter ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2010-07-03 21:29 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-02 9:23 [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B and Guenter Roeck 2010-07-02 9:23 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Guenter Roeck 2010-07-03 8:35 ` [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B Jean Delvare 2010-07-03 8:35 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Jean Delvare 2010-07-03 10:15 ` [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B 宾西蒙 2010-07-03 10:15 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver 宾西蒙 2010-07-03 20:56 ` [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B Jean Delvare 2010-07-03 20:56 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Jean Delvare 2010-07-03 21:28 ` [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B Guenter Roeck 2010-07-03 21:28 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Guenter Roeck 2010-07-03 15:11 ` [lm-sensors] [PATCH/RFC v2] hwmon: Add support for W83667HG-B Guenter Roeck 2010-07-03 15:11 ` [PATCH/RFC v2] hwmon: Add support for W83667HG-B and W83667HG-I to w83627ehf driver Guenter Roeck
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.