Message ID | 20241218001618.488946-3-prabhakar.mahadev-lad.rj@bp.renesas.com |
---|---|
State | New |
Headers | show |
Series | Add support for I2C bus recovery for riic driver | expand |
Hi Prabhakar, > diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c > index bfaa2d728a76..01195ffd4c07 100644 > --- a/drivers/i2c/busses/i2c-riic.c > +++ b/drivers/i2c/busses/i2c-riic.c > @@ -320,7 +320,7 @@ static int riic_init_hw(struct riic_dev *riic) > : I2C_MAX_FAST_MODE_FREQ; > > if (t->bus_freq_hz > max_freq) > - return dev_err_probe(&riic->adapter.dev, -EINVAL, > + return dev_err_probe(dev, -EINVAL, > "unsupported bus speed %uHz (%u max)\n", > t->bus_freq_hz, max_freq); Which branch are you on? This change has already been introduced in commit 71dacb2565ed ("i2c: riic: Simplify unsupported bus speed handling") > > @@ -356,11 +356,9 @@ static int riic_init_hw(struct riic_dev *riic) > rate /= 2; > } > > - if (brl > (0x1F + 3)) { > - dev_err(&riic->adapter.dev, "invalid speed (%lu). Too slow.\n", > - (unsigned long)t->bus_freq_hz); > - return -EINVAL; > - } > + if (brl > (0x1F + 3)) > + return dev_err_probe(dev, -EINVAL, "invalid speed (%lu). Too slow.\n", > + (unsigned long)t->bus_freq_hz); This is OK Thanks, Andi > > brh = total_ticks - brl; > > -- > 2.43.0 >
Hi Andi, On Thu, Dec 19, 2024 at 12:21 PM Andi Shyti <andi.shyti@kernel.org> wrote: > > Hi Prabhakar, > > > diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c > > index bfaa2d728a76..01195ffd4c07 100644 > > --- a/drivers/i2c/busses/i2c-riic.c > > +++ b/drivers/i2c/busses/i2c-riic.c > > @@ -320,7 +320,7 @@ static int riic_init_hw(struct riic_dev *riic) > > : I2C_MAX_FAST_MODE_FREQ; > > > > if (t->bus_freq_hz > max_freq) > > - return dev_err_probe(&riic->adapter.dev, -EINVAL, > > + return dev_err_probe(dev, -EINVAL, > > "unsupported bus speed %uHz (%u max)\n", > > t->bus_freq_hz, max_freq); > > Which branch are you on? This change has already been introduced > in commit 71dacb2565ed ("i2c: riic: Simplify unsupported bus > speed handling") > I'm on v6.13-rc3, the above change just replaces the first parameter in dev_err_probe(). The change introduced in commit 71dacb2565ed ("i2c: riic: Simplify unsupported bus speed handling") does not update the first parameter in dev_err_probe() which this patch addresses. Actually I have fixes tag for commit 71dacb2565ed in the current patch. Cheers, Prabhakar
Hi Prabhakar, On Thu, Dec 19, 2024 at 12:44:50PM +0000, Lad, Prabhakar wrote: > Hi Andi, > > On Thu, Dec 19, 2024 at 12:21 PM Andi Shyti <andi.shyti@kernel.org> wrote: > > > > Hi Prabhakar, > > > > > diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c > > > index bfaa2d728a76..01195ffd4c07 100644 > > > --- a/drivers/i2c/busses/i2c-riic.c > > > +++ b/drivers/i2c/busses/i2c-riic.c > > > @@ -320,7 +320,7 @@ static int riic_init_hw(struct riic_dev *riic) > > > : I2C_MAX_FAST_MODE_FREQ; > > > > > > if (t->bus_freq_hz > max_freq) > > > - return dev_err_probe(&riic->adapter.dev, -EINVAL, > > > + return dev_err_probe(dev, -EINVAL, > > > "unsupported bus speed %uHz (%u max)\n", > > > t->bus_freq_hz, max_freq); > > > > Which branch are you on? This change has already been introduced > > in commit 71dacb2565ed ("i2c: riic: Simplify unsupported bus > > speed handling") > > > I'm on v6.13-rc3, the above change just replaces the first parameter > in dev_err_probe(). The change introduced in commit 71dacb2565ed > ("i2c: riic: Simplify unsupported bus speed handling") does not update > the first parameter in dev_err_probe() which this patch addresses. > Actually I have fixes tag for commit 71dacb2565ed in the current > patch. oh, yes, sorry, ignore that :-) Andi
On Wed, Dec 18, 2024 at 12:16:11AM +0000, Prabhakar wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Update the `riic_init_hw()` function to use the local `dev` pointer in > calls to `dev_err_probe()`. Previously, `riic_init_hw()` used > `riic->adapter.dev` in error reporting. Since this function is invoked > during the probe phase, the I2C adapter is not yet initialized, leading to > `(null) ...` being printed in error messages. This patch fixes the issue by > consistently using the local `dev` pointer, which points to > `riic->adapter.dev.parent`. > > Additionally, replace `dev_err()` with `dev_err_probe()` throughout > `riic_init_hw()` for consistency. > > Fixes: d982d66514192 ("i2c: riic: remove clock and frequency restrictions") > Fixes: 71dacb2565ed (i2c: riic: Simplify unsupported bus speed handling") > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Maybe patches 1+2 can be squashed, but I leave this to Andi. Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c index bfaa2d728a76..01195ffd4c07 100644 --- a/drivers/i2c/busses/i2c-riic.c +++ b/drivers/i2c/busses/i2c-riic.c @@ -320,7 +320,7 @@ static int riic_init_hw(struct riic_dev *riic) : I2C_MAX_FAST_MODE_FREQ; if (t->bus_freq_hz > max_freq) - return dev_err_probe(&riic->adapter.dev, -EINVAL, + return dev_err_probe(dev, -EINVAL, "unsupported bus speed %uHz (%u max)\n", t->bus_freq_hz, max_freq); @@ -356,11 +356,9 @@ static int riic_init_hw(struct riic_dev *riic) rate /= 2; } - if (brl > (0x1F + 3)) { - dev_err(&riic->adapter.dev, "invalid speed (%lu). Too slow.\n", - (unsigned long)t->bus_freq_hz); - return -EINVAL; - } + if (brl > (0x1F + 3)) + return dev_err_probe(dev, -EINVAL, "invalid speed (%lu). Too slow.\n", + (unsigned long)t->bus_freq_hz); brh = total_ticks - brl;