Re: [PATCH v1 1/2] driver core: Introduce device_find_first_child() helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 08, 2022 at 02:15:19PM +0200, Rafael J. Wysocki wrote:
> On Wed, Jun 8, 2022 at 2:04 PM Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Wed, Jun 08, 2022 at 02:53:28PM +0300, Andy Shevchenko wrote:
> > > 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()...
> >
> >         int device_match_any(struct device *dev, const void *unused)
> >
> > How is that not ok to use here?
> 
> Because of the const that will be frowned upon by the compiler.
> 
> We need to define another device_match_any_relaxed() taking (void *)
> as the second argument for this.

Or we could cast it away :)



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux