On Thu, Aug 09, 2018 at 09:38:39PM +0200, Sascha Hauer wrote: > On Mon, Jul 30, 2018 at 01:14:37PM +0200, Roland Hieber wrote: > > Signed-off-by: Roland Hieber <r.hieber@xxxxxxxxxxxxxx> > > --- > > include/linux/types.h | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/include/linux/types.h b/include/linux/types.h > > index f64ec4a814..44d8238d53 100644 > > --- a/include/linux/types.h > > +++ b/include/linux/types.h > > @@ -2,6 +2,7 @@ > > #define _LINUX_TYPES_H > > > > #include <linux/posix_types.h> > > +#include <linux/bitops.h> > > #include <asm/types.h> > > This breaks compilation on ppc. Here linux/bitops.h includes files which > use types (__be32 and friends) which are declared later in > include/linux/types.h. > > Why specifically is this patch needed? I was isolating the architecture-specific parts of a shared customer code base into single files (in order to port it to another arch), and in that process I ended up with a .c file that included <linux/types.h> for some macro which I don't remember, but it did not compile because <linux/types.h> declares macros that use BITS_TO_LONGS(), which is declared in <linux/bitops.h>, which was not included before. I guess the original code already included <linux/bitops.h> via some other path before including <linux/types.h>, so the error did not happen there. So I reasoned that if <linux/types.h> uses BITS_TO_LONGS(), it should include the respective header where this macro is defined. And now that you say it, I see that I should have written that in my commit message. - Roland -- Roland Hieber | r.hieber@xxxxxxxxxxxxxx | Pengutronix e.K. | https://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox