mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-03 13:38:25 +00:00
patch from Vojtech on _PEC variants
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1660 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
214c6d852e
commit
eff5784a1a
1 file changed
+11
-17
+11
-17
@@ -30,6 +30,7 @@
|
||||
#define __devinit
|
||||
#define __devexit
|
||||
#define __devinitdata
|
||||
#define __devexit_p(x) x
|
||||
struct pci_device_id {
|
||||
unsigned int vendor, device;
|
||||
unsigned int subvendor, subdevice;
|
||||
@@ -233,8 +234,6 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
|
||||
protocol |= AMD_SMB_PRTCL_BYTE_DATA;
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_WORD_DATA_PEC:
|
||||
protocol |= AMD_SMB_PRTCL_PEC;
|
||||
case I2C_SMBUS_WORD_DATA:
|
||||
amd_ec_write(smbus, AMD_SMB_CMD, command);
|
||||
if (read_write == I2C_SMBUS_WRITE) {
|
||||
@@ -244,8 +243,6 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
|
||||
protocol |= AMD_SMB_PRTCL_WORD_DATA | pec;
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_BLOCK_DATA_PEC:
|
||||
protocol |= AMD_SMB_PRTCL_PEC;
|
||||
case I2C_SMBUS_BLOCK_DATA:
|
||||
amd_ec_write(smbus, AMD_SMB_CMD, command);
|
||||
if (read_write == I2C_SMBUS_WRITE) {
|
||||
@@ -267,8 +264,6 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
|
||||
protocol |= AMD_SMB_PRTCL_I2C_BLOCK_DATA;
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_PROC_CALL_PEC:
|
||||
protocol |= AMD_SMB_PRTCL_PEC;
|
||||
case I2C_SMBUS_PROC_CALL:
|
||||
amd_ec_write(smbus, AMD_SMB_CMD, command);
|
||||
amd_ec_write(smbus, AMD_SMB_DATA, data->word);
|
||||
@@ -277,8 +272,6 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
|
||||
read_write = I2C_SMBUS_READ;
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_BLOCK_PROC_CALL_PEC:
|
||||
protocol |= AMD_SMB_PRTCL_PEC;
|
||||
case I2C_SMBUS_BLOCK_PROC_CALL:
|
||||
protocol |= pec;
|
||||
len = min_t(u8, data->block[0], 31);
|
||||
@@ -290,6 +283,13 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
|
||||
read_write = I2C_SMBUS_READ;
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_WORD_DATA_PEC:
|
||||
case I2C_SMBUS_BLOCK_DATA_PEC:
|
||||
case I2C_SMBUS_PROC_CALL_PEC:
|
||||
case I2C_SMBUS_BLOCK_PROC_CALL_PEC:
|
||||
printk(KERN_WARNING "i2c-amd8111.c: Unexpected software PEC transaction %d\n.", size);
|
||||
return -1;
|
||||
|
||||
default:
|
||||
printk(KERN_WARNING "i2c-amd8111.c: Unsupported transaction %d\n", size);
|
||||
return -1;
|
||||
@@ -325,18 +325,14 @@ s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short flags,
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_WORD_DATA:
|
||||
case I2C_SMBUS_WORD_DATA_PEC:
|
||||
case I2C_SMBUS_PROC_CALL:
|
||||
case I2C_SMBUS_PROC_CALL_PEC:
|
||||
amd_ec_read(smbus, AMD_SMB_DATA, temp + 0);
|
||||
amd_ec_read(smbus, AMD_SMB_DATA + 1, temp + 1);
|
||||
data->word = (temp[1] << 8) | temp[0];
|
||||
break;
|
||||
|
||||
case I2C_SMBUS_BLOCK_DATA:
|
||||
case I2C_SMBUS_BLOCK_DATA_PEC:
|
||||
case I2C_SMBUS_BLOCK_PROC_CALL:
|
||||
case I2C_SMBUS_BLOCK_PROC_CALL_PEC:
|
||||
amd_ec_read(smbus, AMD_SMB_BCNT, &len);
|
||||
len = min_t(u8, len, 32);
|
||||
case I2C_SMBUS_I2C_BLOCK_DATA:
|
||||
@@ -362,10 +358,8 @@ void amd8111_dec(struct i2c_adapter *adapter)
|
||||
u32 amd8111_func(struct i2c_adapter *adapter)
|
||||
{
|
||||
return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA |
|
||||
I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_WORD_DATA_PEC |
|
||||
I2C_FUNC_SMBUS_BLOCK_DATA | I2C_FUNC_SMBUS_BLOCK_DATA_PEC |
|
||||
I2C_FUNC_SMBUS_PROC_CALL | I2C_FUNC_SMBUS_PROC_CALL_PEC |
|
||||
I2C_FUNC_SMBUS_BLOCK_PROC_CALL | I2C_FUNC_SMBUS_BLOCK_PROC_CALL_PEC |
|
||||
I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_BLOCK_DATA |
|
||||
I2C_FUNC_SMBUS_PROC_CALL | I2C_FUNC_SMBUS_BLOCK_PROC_CALL |
|
||||
I2C_FUNC_SMBUS_I2C_BLOCK | I2C_FUNC_SMBUS_HWPEC_CALC;
|
||||
}
|
||||
|
||||
@@ -485,7 +479,7 @@ static struct pci_driver amd8111_driver = {
|
||||
.name = "amd8111 smbus 2.0",
|
||||
.id_table = amd8111_id_table,
|
||||
.probe = amd8111_probe,
|
||||
.remove = amd8111_remove,
|
||||
.remove = __devexit_p(amd8111_remove),
|
||||
};
|
||||
|
||||
int __init amd8111_init(void)
|
||||
|
||||
Reference in new issue
Block a user