Thread (13 messages) 13 messages, 4 authors, 2021-05-11

Re: [PATCH v2 3/3] i2c: mpc: implement erratum A-004447 workaround

From: Andy Shevchenko <hidden>
Date: 2021-05-07 11:46:47
Also in: linux-devicetree, linuxppc-dev, lkml

On Fri, May 7, 2021 at 3:40 AM Chris Packham
[off-list ref] wrote:
The P2040/P2041 has an erratum where the normal i2c recovery mechanism
does not work. Implement the alternative recovery mechanism documented
in the P2040 Chip Errata Rev Q.
Thanks.
+static int i2c_mpc_wait_sr(struct mpc_i2c *i2c, int mask)
+{
+       int ret;
+       u8 val;
+
+       ret = readb_poll_timeout(i2c->base + MPC_I2C_SR, val,
+                                val & mask, 0, 100);
+
+       return ret;
+}
So, now you may shrink it even further, i.e.

       void __iomem *sr = i2c->base + MPC_I2C_SR;
       u8 val;

       return readb_poll_timeout(sr, val, val & mask, 0, 100);

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help