[PATCH 0/3] Generic headers implementation

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

 



Generic headers allow ARCH maintainers to remove all dummy
arch/ARCH/include/asm/XXX.h files or, depending on the architecture, 
include/asm-ARCH/XXX.h (e.g. arch/x86/include/asm/errno.h) that only 
include the _name equivalent_ include/asm-generic/XXX.h file 
(e.g. include/asm-generic/errno.h) with _no_ changes. It was called 
generic headers for short. Arnd Bergmann gave the original idea and 
asked me to implement it.

To use it just two steps are necessary:

 - Remove all the dummy arch/ARCH/include/asm/XXX.h files 
   (e.g. rm arch/x86/include/asm/errno.h)

 - Add the variable generic-y with the names of the removed files 
   (e.g. generic-y += errno.h) in the arch/ARCH/include/asm/Kbuild 
   (e.g. arch/x86/include/asm/Kbuild)

The removed files will be automatically generated during the build 
process by the script scripts/Makefile.genericheaders.

The scripts/Makefile.headersinst was adapted to avoid errors (due to 
the removal of header files from their default locations) so it would 
pass the 'make headers_check'.

The generic headers were applyed and tested in both x86 (tested in my 
Notebook with i386_defconfig on kernel 2.6.29-rc7 of 09/Mar/2009 from 
Linus git tree) and powerpc (tested in my PS3 with ps3_defconfig on 
kernel 2.6.29-rc7 of 11/Mar/2009 from Geoff Levand git tree). Both 
compiled and booted without problems.

This approach does not reduce much LOC but, in a rough estimation, it 
would allow the removal of around 90 dummy header files among all 
architectures.

PS: This is my first e-mail/patch here. Sorry for any misbehaviour :)


Remis Lima Baima (3):
  Create the infrastructure for generic headers
  Apply generic headers for x86
  Apply generic headers for PPC

 Makefile                                     |    4 +++
 arch/powerpc/include/asm/Kbuild              |    8 ++++++
 arch/powerpc/include/asm/div64.h             |    1 -
 arch/powerpc/include/asm/emergency-restart.h |    1 -
 arch/powerpc/include/asm/irq_regs.h          |    2 -
 arch/powerpc/include/asm/poll.h              |    1 -
 arch/powerpc/include/asm/resource.h          |    1 -
 arch/powerpc/include/asm/statfs.h            |    6 ----
 arch/powerpc/include/asm/xor.h               |    1 -
 arch/x86/include/asm/Kbuild                  |    9 +++++++
 arch/x86/include/asm/cputime.h               |    1 -
 arch/x86/include/asm/errno.h                 |    1 -
 arch/x86/include/asm/fcntl.h                 |    1 -
 arch/x86/include/asm/ioctl.h                 |    1 -
 arch/x86/include/asm/poll.h                  |    1 -
 arch/x86/include/asm/resource.h              |    1 -
 arch/x86/include/asm/rtc.h                   |    1 -
 arch/x86/include/asm/sections.h              |    1 -
 scripts/Makefile.genericheaders              |   34 ++++++++++++++++++++++++++
 scripts/Makefile.headersinst                 |    4 +++
 20 files changed, 59 insertions(+), 21 deletions(-)
 delete mode 100644 arch/powerpc/include/asm/div64.h
 delete mode 100644 arch/powerpc/include/asm/emergency-restart.h
 delete mode 100644 arch/powerpc/include/asm/irq_regs.h
 delete mode 100644 arch/powerpc/include/asm/poll.h
 delete mode 100644 arch/powerpc/include/asm/resource.h
 delete mode 100644 arch/powerpc/include/asm/statfs.h
 delete mode 100644 arch/powerpc/include/asm/xor.h
 delete mode 100644 arch/x86/include/asm/cputime.h
 delete mode 100644 arch/x86/include/asm/errno.h
 delete mode 100644 arch/x86/include/asm/fcntl.h
 delete mode 100644 arch/x86/include/asm/ioctl.h
 delete mode 100644 arch/x86/include/asm/poll.h
 delete mode 100644 arch/x86/include/asm/resource.h
 delete mode 100644 arch/x86/include/asm/rtc.h
 delete mode 100644 arch/x86/include/asm/sections.h
 create mode 100644 scripts/Makefile.genericheaders

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux