Hi Claudiu, ... > Use a temporary variable for the struct device pointers to avoid > dereferencing. So far just refactoring... > While at it, replace riic->adapter.dev argument of > dev_err() from riic_init_hw() with the temporary variable (pointing to > riic->adapter.dev.parent). This is the real change in this patch and you are not explaining why you did it. ... > @@ -303,11 +304,12 @@ static int riic_init_hw(struct riic_dev *riic, struct i2c_timings *t) > int ret = 0; > unsigned long rate; > int total_ticks, cks, brl, brh; > + struct device *dev = riic->adapter.dev.parent; > > - pm_runtime_get_sync(riic->adapter.dev.parent); > + pm_runtime_get_sync(dev); > > if (t->bus_freq_hz > I2C_MAX_FAST_MODE_FREQ) { > - dev_err(&riic->adapter.dev, > + dev_err(dev, > "unsupported bus speed (%dHz). %d max\n", > t->bus_freq_hz, I2C_MAX_FAST_MODE_FREQ); I personally prefer the reference to the current device, it's more traceable. If you think it's not providing enough information, then you can improve it, but I wouldn't like to lose reference to this driver in the log. Andi