Commit 46049486 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Bartosz Golaszewski

eeprom: at24: change at24_translate_offset return type

Change return type of at24_translate_offset to *at24_client to make
member regmap accessible for subsequent patches of this series.
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
parent 5c015258
...@@ -267,7 +267,7 @@ MODULE_DEVICE_TABLE(acpi, at24_acpi_ids); ...@@ -267,7 +267,7 @@ MODULE_DEVICE_TABLE(acpi, at24_acpi_ids);
* one "eeprom" file not four, but larger reads would fail when * one "eeprom" file not four, but larger reads would fail when
* they crossed certain pages. * they crossed certain pages.
*/ */
static struct i2c_client *at24_translate_offset(struct at24_data *at24, static struct at24_client *at24_translate_offset(struct at24_data *at24,
unsigned int *offset) unsigned int *offset)
{ {
unsigned i; unsigned i;
...@@ -280,17 +280,19 @@ static struct i2c_client *at24_translate_offset(struct at24_data *at24, ...@@ -280,17 +280,19 @@ static struct i2c_client *at24_translate_offset(struct at24_data *at24,
*offset &= 0xff; *offset &= 0xff;
} }
return at24->client[i].client; return &at24->client[i];
} }
static ssize_t at24_eeprom_read_smbus(struct at24_data *at24, char *buf, static ssize_t at24_eeprom_read_smbus(struct at24_data *at24, char *buf,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, read_time; unsigned long timeout, read_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
int status; int status;
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
if (count > io_limit) if (count > io_limit)
count = io_limit; count = io_limit;
...@@ -318,13 +320,15 @@ static ssize_t at24_eeprom_read_i2c(struct at24_data *at24, char *buf, ...@@ -318,13 +320,15 @@ static ssize_t at24_eeprom_read_i2c(struct at24_data *at24, char *buf,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, read_time; unsigned long timeout, read_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
struct i2c_msg msg[2]; struct i2c_msg msg[2];
int status, i; int status, i;
u8 msgbuf[2]; u8 msgbuf[2];
memset(msg, 0, sizeof(msg)); memset(msg, 0, sizeof(msg));
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
if (count > io_limit) if (count > io_limit)
count = io_limit; count = io_limit;
...@@ -368,12 +372,14 @@ static ssize_t at24_eeprom_read_serial(struct at24_data *at24, char *buf, ...@@ -368,12 +372,14 @@ static ssize_t at24_eeprom_read_serial(struct at24_data *at24, char *buf,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, read_time; unsigned long timeout, read_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
struct i2c_msg msg[2]; struct i2c_msg msg[2];
u8 addrbuf[2]; u8 addrbuf[2];
int status; int status;
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
memset(msg, 0, sizeof(msg)); memset(msg, 0, sizeof(msg));
msg[0].addr = client->addr; msg[0].addr = client->addr;
...@@ -421,12 +427,14 @@ static ssize_t at24_eeprom_read_mac(struct at24_data *at24, char *buf, ...@@ -421,12 +427,14 @@ static ssize_t at24_eeprom_read_mac(struct at24_data *at24, char *buf,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, read_time; unsigned long timeout, read_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
struct i2c_msg msg[2]; struct i2c_msg msg[2];
u8 addrbuf[2]; u8 addrbuf[2];
int status; int status;
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
memset(msg, 0, sizeof(msg)); memset(msg, 0, sizeof(msg));
msg[0].addr = client->addr; msg[0].addr = client->addr;
...@@ -479,10 +487,12 @@ static ssize_t at24_eeprom_write_smbus_block(struct at24_data *at24, ...@@ -479,10 +487,12 @@ static ssize_t at24_eeprom_write_smbus_block(struct at24_data *at24,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, write_time; unsigned long timeout, write_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
ssize_t status = 0; ssize_t status = 0;
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
count = at24_adjust_write_count(at24, offset, count); count = at24_adjust_write_count(at24, offset, count);
loop_until_timeout(timeout, write_time) { loop_until_timeout(timeout, write_time) {
...@@ -506,10 +516,12 @@ static ssize_t at24_eeprom_write_smbus_byte(struct at24_data *at24, ...@@ -506,10 +516,12 @@ static ssize_t at24_eeprom_write_smbus_byte(struct at24_data *at24,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, write_time; unsigned long timeout, write_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
ssize_t status = 0; ssize_t status = 0;
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
loop_until_timeout(timeout, write_time) { loop_until_timeout(timeout, write_time) {
status = i2c_smbus_write_byte_data(client, offset, buf[0]); status = i2c_smbus_write_byte_data(client, offset, buf[0]);
...@@ -530,12 +542,14 @@ static ssize_t at24_eeprom_write_i2c(struct at24_data *at24, const char *buf, ...@@ -530,12 +542,14 @@ static ssize_t at24_eeprom_write_i2c(struct at24_data *at24, const char *buf,
unsigned int offset, size_t count) unsigned int offset, size_t count)
{ {
unsigned long timeout, write_time; unsigned long timeout, write_time;
struct at24_client *at24_client;
struct i2c_client *client; struct i2c_client *client;
struct i2c_msg msg; struct i2c_msg msg;
ssize_t status = 0; ssize_t status = 0;
int i = 0; int i = 0;
client = at24_translate_offset(at24, &offset); at24_client = at24_translate_offset(at24, &offset);
client = at24_client->client;
count = at24_adjust_write_count(at24, offset, count); count = at24_adjust_write_count(at24, offset, count);
msg.addr = client->addr; msg.addr = client->addr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment