tech-kern archive

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

several evbarm kernels broken in current. know the issue. don't know how best to fix it.



I'm getting ready to port NetBSD to another ARM device (personal, not for my
employer,) and I tried to make a release in current in preparation. This did
not go so well, as there's build breakage in may of the evbarm kernels.  In
outline, the problem is that sys/device.h includes some other include file
that starts an include chain that ends up with an include file that uses
things defined later in sys/device.h.  The clearest example is:

In file included from
/home/marty/projects/netbsd/current/src/sys/arch/evbarm/ifpga/ifpga_intr.h:5
0,
                 from ./machine/intr.h:151,
                 from
/home/marty/projects/netbsd/current/src/sys/sys/intr.h:35,
                 from
/home/marty/projects/netbsd/current/src/sys/sys/mutex.h:177,
                 from
/home/marty/projects/netbsd/current/src/sys/sys/device.h:85,
                 from ./arm/cpu.h:233,
                 from ./machine/cpu.h:3,
                 from ./arm/arm32/param.h:39,
                 from ./machine/param.h:45,
                 from
/home/marty/projects/netbsd/current/src/sys/sys/param.h:164,
                 from /tmp/genassym.27565/assym.c:2:
/home/marty/projects/netbsd/current/src/sys/arch/evbarm/ifpga/ifpgavar.h:48:
error: field 'sc_dev' has incomplete type

To make a long story short, 'sc_dev is declared as 'struct device sc_dev';
but mutex.h is included in device.h before device.h defines struct device.

Any thoughts on the cleanest way to fix this and related arm kernel
breakages?




Home | Main Index | Thread Index | Old Index