07.09.2020 11:20, Andy Shevchenko пишет: > On Sun, Sep 6, 2020 at 9:51 PM Dmitry Osipenko <digetx@xxxxxxxxx> wrote: >> >> The driver's probe function code is a bit difficult to read. This patch >> reorders code of the probe function, forming groups of code that are easy >> to work with. The reset_control_get() now may return -EPROBE_DEFER on >> newer Tegra SoCs because they use BPMP driver that provides reset controls >> and BPMP doesn't come up early during boot, previously rst was protected >> by other checks error checks in the code, hence dev_err_probe() is used >> now for the rst. The probe tear-down order now matches the driver-removal >> order. > > Seems that partially this can be done in the patches that converted to > new/better APIs. Okay, I'll split this patch a bit more. > Also consider the use of a temporary variable for struct device > pointer. It might make your life easier. Whole driver now uses i2c_dev->dev pattern and the "dev" variable originally was used for improving indentation of the error messages that are now gone. Hence there is no real need to keep the temporal variable, IMO.