Paul Mackerras paulus at
Thu Nov 29 22:48:46 EST 2001

I have run the platform.h stuff past Keith Owens, the kbuild
maintainer.  He makes several points:

* He much prefers generated files (including symlinks) to be created
  in arch/$(ARCH) rather than include.  In particular he doesn't like
  mixing supplied and generated headers in the one directory.

* He prefers a copy rather than a symlink, particularly for
  kbuild-2.5, so that we have real pathnames and timestamps in the
  dependency tree.

* He wrote a new script that uses sed rather than awk, checks a few
  things (e.g. exactly one platform.h file is selected) and also
  creates empty files if e.g. no platform_serial.h file is selected.

The only reason for having include/asm-ppc/platforms under
include/asm-ppc is so that serial.h can include the right
blah_serial.h file.  We can get around that by using
early_serial_setup except that that doesn't work if the serial driver
is built as a module.  The boot stuff also needs to get at the first
serial port but we can manage that by requiring the platform.h file to
wants to use a serial port in the boot wrapper.  The boot wrapper code
then just does #include <platform.h>.

Alternatively we can add a -Iarch/$(ARCH) flag for cc and put
platform.h in arch/ppc and the platform headers in
arch/ppc/platforms.  This is Keith's preferred solution and it feels
right to me too.

Platform maintainers can continue to statically initialize rs_table
for their serial ports if they wish.  I think I will move all those
crufty old fourport, accent, boca and hub6 declarations into
include/asm-ppc/isa_serial.h so that they are still available but not
getting in our faces all the time.



** Sent via the linuxppc-dev mail list. See

More information about the Linuxppc-dev mailing list