[lm-sensors] Asus P4R800-VM with w83627THF sensor

Andy Wright lmsensors at eltofts.homelinux.com
Fri Mar 2 18:22:50 CET 2007


Jean Delvare wrote:
> Support for the secondary Super-I/O address was added to the w83627hf
> driver in kernel 2.6.11. This is the reason why it doesn't work with
> your 2.6.9 kernel. You will need to backport the following patch:
>
> --- linux-2.6.10-rc3/drivers/i2c/chips/w83627hf.c.orig	2004-12-19 12:14:44.000000000 +0100
> +++ linux-2.6.10-rc3/drivers/i2c/chips/w83627hf.c	2004-12-19 12:55:31.000000000 +0100
> @@ -67,9 +67,9 @@
>  MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");
>  
>  /* modified from kernel/include/traps.c */
> -#define	REG	0x2e	/* The register to read/write */
> +static int REG;		/* The register to read/write */
>  #define	DEV	0x07	/* Register: Logical device select */
> -#define	VAL	0x2f	/* The value to read/write */
> +static int VAL;		/* The value to read/write */
>  
>  /* logical device numbers for superio_select (below) */
>  #define W83627HF_LD_FDC		0x00
> @@ -938,10 +938,13 @@
>  	return i2c_detect(adapter, &addr_data, w83627hf_detect);
>  }
>  
> -static int w83627hf_find(int *address)
> +static int w83627hf_find(int sioaddr, int *address)
>  {
>  	u16 val;
>  
> +	REG = sioaddr;
> +	VAL = sioaddr + 1;
> +
>  	superio_enter();
>  	val= superio_inb(DEVID);
>  	if(val != W627_DEVID &&
> @@ -1422,7 +1425,8 @@
>  {
>  	int addr;
>  
> -	if (w83627hf_find(&addr)) {
> +	if (w83627hf_find(0x2e, &addr)
> +	 && w83627hf_find(0x4e, &addr)) {
>  		return -ENODEV;
>  	}
>  	normal_isa[0] = addr;
>
>
>   

Thanks for that Jean,

I'm trying a 2.6.20 kernel at the moment.... looking good so far.

Andy.




More information about the lm-sensors mailing list