eeprom: ee1004: Improve check for SMBUS features
We have to read 512 bytes only, therefore read performance isn't really a concern. Don't bother the user if i2c block read isn't supported. For i2c_smbus_read_i2c_block_data_or_emulated() to work it's sufficient if I2C_FUNC_SMBUS_READ_I2C_BLOCK or I2C_FUNC_SMBUS_READ_BYTE_DATA is supported. Therefore remove the check for I2C_FUNC_SMBUS_READ_WORD_DATA. In addition check for I2C_FUNC_SMBUS_WRITE_BYTE (included in I2C_FUNC_SMBUS_BYTE) which is needed for setting the page. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Link: https://lore.kernel.org/r/840c668e-6310-e933-e50e-5abeaecfb39c@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b97ba92e29
commit
08e5138aa4
|
@ -167,23 +167,13 @@ static int ee1004_probe(struct i2c_client *client,
|
|||
const struct i2c_device_id *id)
|
||||
{
|
||||
int err, cnr = 0;
|
||||
const char *slow = NULL;
|
||||
|
||||
/* Make sure we can operate on this adapter */
|
||||
if (!i2c_check_functionality(client->adapter,
|
||||
I2C_FUNC_SMBUS_READ_BYTE |
|
||||
I2C_FUNC_SMBUS_READ_I2C_BLOCK)) {
|
||||
if (i2c_check_functionality(client->adapter,
|
||||
I2C_FUNC_SMBUS_READ_BYTE |
|
||||
I2C_FUNC_SMBUS_READ_WORD_DATA))
|
||||
slow = "word";
|
||||
else if (i2c_check_functionality(client->adapter,
|
||||
I2C_FUNC_SMBUS_READ_BYTE |
|
||||
I2C_FUNC_SMBUS_READ_BYTE_DATA))
|
||||
slow = "byte";
|
||||
else
|
||||
return -EPFNOSUPPORT;
|
||||
}
|
||||
I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_READ_I2C_BLOCK) &&
|
||||
!i2c_check_functionality(client->adapter,
|
||||
I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_READ_BYTE_DATA))
|
||||
return -EPFNOSUPPORT;
|
||||
|
||||
/* Use 2 dummy devices for page select command */
|
||||
mutex_lock(&ee1004_bus_lock);
|
||||
|
@ -218,10 +208,6 @@ static int ee1004_probe(struct i2c_client *client,
|
|||
dev_info(&client->dev,
|
||||
"%u byte EE1004-compliant SPD EEPROM, read-only\n",
|
||||
EE1004_EEPROM_SIZE);
|
||||
if (slow)
|
||||
dev_notice(&client->dev,
|
||||
"Falling back to %s reads, performance will suffer\n",
|
||||
slow);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue