Re: [PATCHv8 2/4] power_supply: Introduce generic psy charging driver

From: Pavel Machek
Date: Thu Mar 13 2014 - 05:10:55 EST


On Wed 2014-03-12 15:32:59, Linus Walleij wrote:
> On Mon, Mar 10, 2014 at 5:33 AM, Jenny Tc <jenny.tc@xxxxxxxxx> wrote:
> > On Fri, Mar 07, 2014 at 09:25:20PM +0100, Pavel Machek wrote:
>
> >> > + /* sort based on priority. 0 has the highest priority */
> >> > + for (i = 0; i < cnt; ++i)
> >> > + for (j = 0; j < cnt; ++j)
> >> > + if (psy_prioirty(psy_lst[j]) > psy_prioirty(psy_lst[i]))
> >> > + swap(psy_lst[j], psy_lst[i]);
> >> > +
> >>
> >> WTF? Bubble sort in kernel?
> >
> > Yes, it's bubble sort. Since the number of power supply objects in real systems
> > (max 4) are limited, I feel the complexity would be as same as any other
> > sorting algorithms. Any suggestions?
>
> You already have a kernel quicksort implementation in lib/sort.c.
>
> Please restructure the code to make use of this as it is already
> compiled into every kernel.

Actually.. I believe the code needs more surgery than that. It should
not need those string lookups -- just attach data directly to struct
psy. And yes, if sort remains, it needs to use library function, but
I strongly believe sorting should not be neccessary here.

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/