regulator: Fix for v7.3

One fix here, for a race condition on startup in the tps65185 driver
 which is seen on actual boards - we need a delay after waking the chip
 before it is ready to talk to the host.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmqQOSwACgkQJNaLcl1U
 h9CrAAf9H7s1Nw5yB4SDI2TghqmY14G0Sr3EL4ajk0TnUEK6jGfsBVrjDeMMCCoI
 i/KIq2hSzCmguRJIeJbkAd1iOX3oLuQFZZelalDuMxe0jv96Nr4XjJegabqPpB2O
 iZzpR3mep3oST4SOj5BfjpifvgNdr1WkC1c/cR49+vd735UXUmw4YxNFA8iow5zL
 if77jZDvUOk9bOeGP4JXtV9WbGSjLeD5eTQopT0E7oiy5Fym+fc1alVht1nj0ylI
 YK/3DbVINxz3NoXV0VOYNIv92jAH8I7Pitw154D62tQLqvnD0Nzn8lMKj9lbTsz1
 TKHkh6nDyn96Oq3uauFb5JjTMHx1oQ==
 =k/VH
 -----END PGP SIGNATURE-----

Merge tag 'regulator-fix-v7.3-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fix from Mark Brown:
 "One fix here, for a race condition on startup in the tps65185 driver
  which is seen on actual boards - we need a delay after waking the chip
  before it is ready to talk to the host"

* tag 'regulator-fix-v7.3-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: tps65185: wait for the IC to wake before the first I2C access
This commit is contained in:
Linus Torvalds 2026-08-27 12:21:56 -07:00
commit 6253a29206

View File

@ -5,6 +5,7 @@
#include <linux/cleanup.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/module.h>
@ -375,6 +376,11 @@ static int tps65185_probe(struct i2c_client *client)
return dev_err_probe(&client->dev, ret,
"failed to get vin regulator\n");
// TPS65185x PMIC for E Ink Vizplex Enabled Electronic Paper Display Chapter 7.6 Figure 2:
// "Minimum delay time between WAKEUP rising edge and IC ready to accept I2C transaction."
// https://www.ti.com/lit/ds/symlink/tps65185.pdf
usleep_range(1800, 3000);
data->dev = &client->dev;
i2c_set_clientdata(client, data);