On Thu, 23 Jun 2016 22:35:35 -0700 Andrey Smirnov <andrew.smirnov@xxxxxxxxx> wrote: I suppose that this patch has to be applied __before__ '[PATCH v2 3/4] GUI: Add fbtest command'. > Move int_sqrt() out of drivers/video/edid.c so that it is availible to > other parts of Barebox. > > Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > --- > drivers/video/edid.c | 29 ----------------------------- > include/int_sqrt.h | 22 ++++++++++++++++++++++ > lib/Makefile | 1 + > lib/int_sqrt.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 69 insertions(+), 29 deletions(-) > create mode 100644 include/int_sqrt.h > create mode 100644 lib/int_sqrt.c > > diff --git a/drivers/video/edid.c b/drivers/video/edid.c > index e5c32a0..92b59a5 100644 > --- a/drivers/video/edid.c > +++ b/drivers/video/edid.c > @@ -321,35 +321,6 @@ static u32 fb_get_hblank_by_hfreq(u32 hfreq, u32 xres) > } > > /** > - * int_sqrt - rough approximation to sqrt > - * @x: integer of which to calculate the sqrt > - * > - * A very rough approximation to the sqrt() function. > - */ > -unsigned long int_sqrt(unsigned long x) > -{ > - unsigned long b, m, y = 0; > - > - if (x <= 1) > - return x; > - > - m = 1UL << (BITS_PER_LONG - 2); > - while (m != 0) { > - b = y + m; > - y >>= 1; > - > - if (x >= b) { > - x -= b; > - y += m; > - } > - m >>= 2; > - } > - > - return y; > -} > -EXPORT_SYMBOL(int_sqrt); > - > -/** > * fb_get_hfreq - estimate hsync > * @vfreq: vertical refresh rate > * @yres: vertical resolution > diff --git a/include/int_sqrt.h b/include/int_sqrt.h > new file mode 100644 > index 0000000..55fb4fb > --- /dev/null > +++ b/include/int_sqrt.h > @@ -0,0 +1,22 @@ > +/* > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + */ > + > +#ifndef __INT_SQRT__ > +#define __INT_SQRT__ > + > +unsigned long int_sqrt(unsigned long x); > + > +#endif > diff --git a/lib/Makefile b/lib/Makefile > index 399d896..92404fd 100644 > --- a/lib/Makefile > +++ b/lib/Makefile > @@ -58,3 +58,4 @@ obj-$(CONFIG_BAREBOX_LOGO) += logo/ > obj-y += reed_solomon/ > obj-$(CONFIG_RATP) += ratp.o > obj-y += list_sort.o > +obj-y += int_sqrt.o > diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c > new file mode 100644 > index 0000000..30ccafb > --- /dev/null > +++ b/lib/int_sqrt.c > @@ -0,0 +1,46 @@ > +/* > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + */ > + > +#include <common.h> > + > +/** > + * int_sqrt - rough approximation to sqrt > + * @x: integer of which to calculate the sqrt > + * > + * A very rough approximation to the sqrt() function. > + */ > +unsigned long int_sqrt(unsigned long x) > +{ > + unsigned long b, m, y = 0; > + > + if (x <= 1) > + return x; > + > + m = 1UL << (BITS_PER_LONG - 2); > + while (m != 0) { > + b = y + m; > + y >>= 1; > + > + if (x >= b) { > + x -= b; > + y += m; > + } > + m >>= 2; > + } > + > + return y; > +} > +EXPORT_SYMBOL(int_sqrt); > -- > 2.5.5 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox -- -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox