提交 585b3160 编写于 作者: J Jean Delvare 提交者: Greg Kroah-Hartman

[PATCH] i2c: SMBus PEC support rewrite, 3 of 3

The new SMBus PEC implementation doesn't support PEC emulation on
non-PEC non-I2C SMBus masters, so we can drop all related code.
Signed-off-by: NJean Delvare <khali@linux-fr.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 421ef47b
...@@ -253,13 +253,6 @@ static s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short fl ...@@ -253,13 +253,6 @@ static s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short fl
read_write = I2C_SMBUS_READ; read_write = I2C_SMBUS_READ;
break; 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:
dev_warn(&adap->dev, "Unexpected software PEC transaction %d\n.", size);
return -1;
default: default:
dev_warn(&adap->dev, "Unsupported transaction %d\n", size); dev_warn(&adap->dev, "Unsupported transaction %d\n", size);
return -1; return -1;
......
...@@ -102,8 +102,8 @@ MODULE_PARM_DESC(force_addr, ...@@ -102,8 +102,8 @@ MODULE_PARM_DESC(force_addr,
"EXTREMELY DANGEROUS!"); "EXTREMELY DANGEROUS!");
static int i801_transaction(void); static int i801_transaction(void);
static int i801_block_transaction(union i2c_smbus_data *data, static int i801_block_transaction(union i2c_smbus_data *data, char read_write,
char read_write, int command); int command, int hwpec);
static unsigned short i801_smba; static unsigned short i801_smba;
static struct pci_driver i801_driver; static struct pci_driver i801_driver;
...@@ -249,7 +249,7 @@ static int i801_transaction(void) ...@@ -249,7 +249,7 @@ static int i801_transaction(void)
/* All-inclusive block transaction function */ /* All-inclusive block transaction function */
static int i801_block_transaction(union i2c_smbus_data *data, char read_write, static int i801_block_transaction(union i2c_smbus_data *data, char read_write,
int command) int command, int hwpec)
{ {
int i, len; int i, len;
int smbcmd; int smbcmd;
...@@ -388,7 +388,7 @@ static int i801_block_transaction(union i2c_smbus_data *data, char read_write, ...@@ -388,7 +388,7 @@ static int i801_block_transaction(union i2c_smbus_data *data, char read_write,
goto END; goto END;
} }
if(isich4 && command == I2C_SMBUS_BLOCK_DATA_PEC) { if (hwpec && command == I2C_SMBUS_BLOCK_DATA) {
/* wait for INTR bit as advised by Intel */ /* wait for INTR bit as advised by Intel */
timeout = 0; timeout = 0;
do { do {
...@@ -456,9 +456,6 @@ static s32 i801_access(struct i2c_adapter * adap, u16 addr, ...@@ -456,9 +456,6 @@ static s32 i801_access(struct i2c_adapter * adap, u16 addr,
break; break;
case I2C_SMBUS_BLOCK_DATA: case I2C_SMBUS_BLOCK_DATA:
case I2C_SMBUS_I2C_BLOCK_DATA: case I2C_SMBUS_I2C_BLOCK_DATA:
case I2C_SMBUS_BLOCK_DATA_PEC:
if(hwpec && size == I2C_SMBUS_BLOCK_DATA)
size = I2C_SMBUS_BLOCK_DATA_PEC;
outb_p(((addr & 0x7f) << 1) | (read_write & 0x01), outb_p(((addr & 0x7f) << 1) | (read_write & 0x01),
SMBHSTADD); SMBHSTADD);
outb_p(command, SMBHSTCMD); outb_p(command, SMBHSTCMD);
...@@ -476,7 +473,7 @@ static s32 i801_access(struct i2c_adapter * adap, u16 addr, ...@@ -476,7 +473,7 @@ static s32 i801_access(struct i2c_adapter * adap, u16 addr,
outb_p(1, SMBAUXCTL); /* enable HW PEC */ outb_p(1, SMBAUXCTL); /* enable HW PEC */
} }
if(block) if(block)
ret = i801_block_transaction(data, read_write, size); ret = i801_block_transaction(data, read_write, size, hwpec);
else { else {
outb_p(xact | ENABLE_INT9, SMBHSTCNT); outb_p(xact | ENABLE_INT9, SMBHSTCNT);
ret = i801_transaction(); ret = i801_transaction();
......
...@@ -188,13 +188,6 @@ static s32 nforce2_access(struct i2c_adapter * adap, u16 addr, ...@@ -188,13 +188,6 @@ static s32 nforce2_access(struct i2c_adapter * adap, u16 addr,
dev_err(&adap->dev, "I2C_SMBUS_BLOCK_PROC_CALL not supported!\n"); dev_err(&adap->dev, "I2C_SMBUS_BLOCK_PROC_CALL not supported!\n");
return -1; return -1;
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:
dev_err(&adap->dev, "Unexpected software PEC transaction %d\n.", size);
return -1;
default: default:
dev_err(&adap->dev, "Unsupported transaction %d\n", size); dev_err(&adap->dev, "Unsupported transaction %d\n", size);
return -1; return -1;
......
...@@ -451,10 +451,6 @@ union i2c_smbus_data { ...@@ -451,10 +451,6 @@ union i2c_smbus_data {
#define I2C_SMBUS_BLOCK_DATA 5 #define I2C_SMBUS_BLOCK_DATA 5
#define I2C_SMBUS_I2C_BLOCK_DATA 6 #define I2C_SMBUS_I2C_BLOCK_DATA 6
#define I2C_SMBUS_BLOCK_PROC_CALL 7 /* SMBus 2.0 */ #define I2C_SMBUS_BLOCK_PROC_CALL 7 /* SMBus 2.0 */
#define I2C_SMBUS_BLOCK_DATA_PEC 8 /* SMBus 2.0 */
#define I2C_SMBUS_PROC_CALL_PEC 9 /* SMBus 2.0 */
#define I2C_SMBUS_BLOCK_PROC_CALL_PEC 10 /* SMBus 2.0 */
#define I2C_SMBUS_WORD_DATA_PEC 11 /* SMBus 2.0 */
/* ----- commands for the ioctl like i2c_command call: /* ----- commands for the ioctl like i2c_command call:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册