Re: [linux-pm] [PATCH 1/4] export bus_kset

From: Rafael J. Wysocki
Date: Tue May 17 2011 - 19:04:31 EST


On Sunday, May 15, 2011, Davide Ciminaghi wrote:
> On Fri, May 13, 2011 at 07:11:48PM +0200, Davide Ciminaghi wrote:
> > On Thu, May 12, 2011 at 09:28:53PM +0200, Rafael J. Wysocki wrote:
> >
> > hi,
> >
> > sorry, I missed this message this morning.
> >
> > > On Thursday, May 12, 2011, Raffaele Recalcati wrote:
> > > > From: Davide Ciminaghi <ciminaghi@xxxxxxxxx>
> > >
> > > Please explain why you need to export it, what the alternatives are and
> > > why you think this approach is better than the alternatives.
> > >
> >
> > what I needed to do was walking through the list of registered busses,
> > and invoking the bus_added()/bus_removed() callback of a newly registered
> > policy. I couldn't find any other simple way to do it.
> >
> well, I there is another way to do that: adding a function like this
> (include/linux/device.h) :
>
> /**
> * run a callback for each registered bus type
> *
> * @data : arg passed to callback
> * @fn : pointer to callback
> */
> int for_each_bus(void *data, int (*fn)(struct bus_type *bus, void *data));
>
> which would be similar to the already existing bus_for_each_dev() and
> would allow to avoid exporting a global variable.

I really think you'd simply need to browse all devices, like the core PM
code in drivers/base/power/main.c. You can use dpm_list for that just fine.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/