On 05.07.2024 10:19, Geert Uytterhoeven wrote: > Hi Andi, > > On Fri, Jul 5, 2024 at 12:42 AM Andi Shyti <andi.shyti@xxxxxxxxxx> wrote: >>> diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c >>> index 83e4d5e14ab6..002b11b020fa 100644 >>> --- a/drivers/i2c/busses/i2c-riic.c >>> +++ b/drivers/i2c/busses/i2c-riic.c >>> @@ -113,6 +113,8 @@ struct riic_irq_desc { >>> char *name; >>> }; >>> >>> +static const char * const riic_rpm_err_msg = "Failed to runtime resume"; >> >> Please, don't do this. Much clearer to write the message >> explicitly. > > And the compiler will merge all identical strings, emitting > just a single string. > >> >>> + >>> static inline void riic_writeb(struct riic_dev *riic, u8 val, u8 offset) >>> { >>> writeb(val, riic->base + riic->info->regs[offset]); >>> @@ -133,10 +135,14 @@ static int riic_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) >>> struct riic_dev *riic = i2c_get_adapdata(adap); >>> struct device *dev = adap->dev.parent; >>> unsigned long time_left; >>> - int i; >>> + int i, ret; >>> u8 start_bit; >>> >>> - pm_runtime_get_sync(dev); >>> + ret = pm_runtime_resume_and_get(dev); >> >> In principle I like the error message to be always checked and I > > s/message/condition/? > >> will always approve it. Whenever there is a return value, even >> when we are sure it's always '0', it needs to be checked. >> >> I had lots of discussions in the past about this topic but I >> haven't always found support. I'd love to have the ack from a >> renesas maintainer here. > > I don't mind checking for the error here. > >> >>> + if (ret) { >>> + dev_err(dev, riic_rpm_err_msg); > > Do you need to print these error messages? No. I have it here as a result of some internal reviews. Thank you, Claudiu Beznea > AFAIU, this cannot happen anyway. > Ultimately, I expect the device driver that requested the transfer to > handle failures, and print a message when needed. > > Gr{oetje,eeting}s, > > Geert >