On Mon, Apr 12, 2021 at 7:47 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Mon, Apr 12, 2021 at 8:32 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote: > > On Sat, Apr 10, 2021 at 3:47 PM Andy Shevchenko > > <andy.shevchenko@xxxxxxxxx> wrote: > > ... > > > > static void get_acpi_device(void *dev) > > > { > > > - if (dev) > > > - get_device(&((struct acpi_device *)dev)->dev); > > > + acpi_dev_get(dev); > > > > I would do > > > > if (dev) > > acpi_dev_get(dev); > > > > here. > > Hmm... I don't see a point. acpi_dev_get() guaranteed to perform this check. > > > > } > > > > > +static inline void acpi_dev_get(struct acpi_device *adev) > > > +{ > > > + if (adev) > > > + get_device(&adev->dev); > > > > And I would drop the adev check from here (because the code calling it > > may be running with wrong assumptions if adev is NULL). Or it should > > return adev and the caller should be held responsible for checking it > > against NULL (if they care). > > But this follows the get_device() / put_device() logic. Not really. get_device() returns a pointer. > Personally I don't think this is a good idea to deviate. Well, exactly. :-) > Note the acpi_bus_get_acpi_device() This also returns a pointer. > / acpi_bus_put_acpi_device() as well.