Skip to content

Commit 41d35fb

Browse files
committed
Update to support bmr450, bmr463. ZL2005 needs delay between I2C accesses.
Signed-off-by: Guenter Roeck <[email protected]>
1 parent e76290f commit 41d35fb

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

pmbus.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ static int pmbus_remove(struct i2c_client *client)
200200
*/
201201
static const struct i2c_device_id pmbus_id[] = {
202202
{"adp4000", 1},
203-
{"bmr450", 1},
204203
{"bmr453", 1},
205204
{"bmr454", 1},
206205
{"ncp4200", 1},

zl6100.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,10 @@ static int zl6100_write_byte(struct i2c_client *client, int page, u8 value)
138138
}
139139

140140
static const struct i2c_device_id zl6100_id[] = {
141+
{"bmr450", zl2005},
141142
{"bmr451", zl2005},
142143
{"bmr462", zl2008},
144+
{"bmr463", zl2008},
143145
{"bmr464", zl2008},
144146
{"zl2004", zl2004},
145147
{"zl2005", zl2005},
@@ -197,26 +199,23 @@ static int zl6100_probe(struct i2c_client *client,
197199
data->id = mid->driver_data;
198200

199201
/*
200-
* ZL2008, ZL2105, and ZL6100 are known to require a wait time
201-
* between I2C accesses. ZL2004, ZL2005, and ZL6105 are known to be
202-
* safe. Other chips have not yet been tested.
202+
* ZL2005, ZL2008, ZL2105, and ZL6100 are known to require a wait time
203+
* between I2C accesses. ZL2004 and ZL6105 are known to be safe.
204+
* Other chips have not yet been tested.
203205
*
204206
* Only clear the wait time for chips known to be safe. The wait time
205207
* can be cleared later for additional chips if tests show that it
206208
* is not needed (in other words, better be safe than sorry).
207209
*/
208-
if (data->id == zl2004 || data->id == zl2005 || data->id == zl6105)
210+
if (data->id == zl2004 || data->id == zl6105)
209211
delay = 0;
210212

211213
/*
212214
* Since there was a direct I2C device access above, wait before
213215
* accessing the chip again.
214-
* Set the timestamp, wait, then set it again. This should provide
215-
* enough buffer time to be safe.
216216
*/
217217
data->access = ktime_get();
218218
zl6100_wait(data);
219-
data->access = ktime_get();
220219

221220
info = &data->info;
222221

@@ -234,7 +233,6 @@ static int zl6100_probe(struct i2c_client *client,
234233

235234
data->access = ktime_get();
236235
zl6100_wait(data);
237-
data->access = ktime_get();
238236

239237
info->read_word_data = zl6100_read_word_data;
240238
info->read_byte_data = zl6100_read_byte_data;

0 commit comments

Comments
 (0)