On Wed, Jun 08, 2022 at 01:29:08PM +0200, Rafael J. Wysocki wrote: > On Tue, Jun 7, 2022 at 10:22 PM Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: ... > I would define it as > > static int match_first(struct device *dev, void *) > { > return 1; > } > > struct device *device_find_first_child(struct device *parent) > { > return device_find_first_child(parent, NULL, match_first); > } > EXPORT_SYMBOL_GPL(device_find_first_child); > > which is not that much more overhead. With this we actually may simply provide a match function and it will make the clean ups (like patch 2 in the series) almost the same without introducing a device core call. Something like int device_match_any_for_find(struct device *dev, void *unused) { return 1; } As I replied to Greg it's pity we can't use device_match_any()... -- With Best Regards, Andy Shevchenko