From: Heiner Kallweit <hkallweit1@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH 05/13] eeprom: ee1004: Improve check for SMBUS features
Date: Mon, 24 May 2021 22:12:22 +0200 [thread overview]
Message-ID: <840c668e-6310-e933-e50e-5abeaecfb39c@gmail.com> (raw)
In-Reply-To: <bd8439bc-3a6f-fd52-5fd1-bf9782061612@gmail.com>
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>
---
drivers/misc/eeprom/ee1004.c | 22 ++++------------------
1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/drivers/misc/eeprom/ee1004.c b/drivers/misc/eeprom/ee1004.c
index b991ab250..0d497e0e4 100644
--- a/drivers/misc/eeprom/ee1004.c
+++ b/drivers/misc/eeprom/ee1004.c
@@ -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;
--
2.31.1
next prev parent reply other threads:[~2021-05-24 20:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-24 20:08 [PATCH 00/13] eeprom: ee1004: improvements Heiner Kallweit
2021-05-24 20:08 ` [PATCH 01/13] eeprom: ee1004: Use kobj_to_i2c_client to simplify the code Heiner Kallweit
2021-05-24 20:09 ` [PATCH 02/13] eeprom: ee1004: Remove not needed check in ee1004_read Heiner Kallweit
2021-05-24 20:10 ` [PATCH 03/13] eeprom: ee1004: Remove not needed check in ee1004_eeprom_read Heiner Kallweit
2021-05-24 20:11 ` [PATCH 04/13] eeprom: ee1004: Remove usage of i2c_adapter_id in adapter comparison Heiner Kallweit
2021-05-24 20:12 ` Heiner Kallweit [this message]
2021-05-24 20:13 ` [PATCH 06/13] eeprom: ee1004: Improve creating dummy devices Heiner Kallweit
2021-05-24 20:13 ` [PATCH 07/13] eeprom: ee1004: Switch to i2c probe_new callback Heiner Kallweit
2021-05-24 20:14 ` [PATCH 08/13] eeprom: ee1004: Cache current page at initialization of first device only Heiner Kallweit
2021-05-24 20:15 ` [PATCH 09/13] eeprom: ee1004: Factor out setting page to ee1004_set_current_page Heiner Kallweit
2021-05-24 20:16 ` [PATCH 10/13] eeprom: ee1004: Improve error handling in ee1004_read Heiner Kallweit
2021-05-24 20:16 ` [PATCH 11/13] eeprom: ee1004: Move call to ee1004_set_current_page to ee1004_eeprom_read Heiner Kallweit
2021-05-24 20:17 ` [PATCH 12/13] eeprom: ee1004: Add constant EE1004_NUM_PAGES Heiner Kallweit
2021-05-24 20:18 ` [PATCH 13/13] eeprom: ee1004: Add helper ee1004_cleanup Heiner Kallweit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=840c668e-6310-e933-e50e-5abeaecfb39c@gmail.com \
--to=hkallweit1@gmail.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.