]> Git Repo - linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
authorLinus Torvalds <[email protected]>
Tue, 16 Oct 2007 18:23:06 +0000 (11:23 -0700)
committerLinus Torvalds <[email protected]>
Tue, 16 Oct 2007 18:23:06 +0000 (11:23 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
  kbuild: introduce ccflags-y, asflags-y and ldflags-y
  kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP
  kbuild: enable use of AFLAGS and CFLAGS on commandline
  kbuild: enable 'make AFLAGS=...' to add additional options to AS
  kbuild: fix AFLAGS use in h8300 and m68knommu
  kbuild: check for wrong use of CFLAGS
  kbuild: enable 'make CFLAGS=...' to add additional options to CC
  kbuild: fix up CFLAGS usage
  kbuild: make modpost detect unterminated device id lists
  kbuild: call export_report from the Makefile
  kbuild: move Kai Germaschewski to CREDITS
  kconfig/menuconfig: distinguish between selected-by-another options and comments
  kconfig: tristate choices with mixed tristate and boolean values
  include/linux/Kbuild: remove duplicate entries
  kbuild: kill backward compatibility checks
  kbuild: kill EXTRA_ARFLAGS
  kbuild: fix documentation in makefiles.txt
  kbuild: call make once for all targets when O=.. is used
  kbuild: pass -g to assembler under CONFIG_DEBUG_INFO
  kbuild: update _shipped files for kconfig syntax cleanup
  ...

Fix up conflicts in arch/um/sys-{x86_64,i386}/Makefile manually.

12 files changed:
1  2 
CREDITS
MAINTAINERS
arch/alpha/Makefile
arch/arm/Makefile
arch/sh/Makefile
arch/sh64/Makefile
arch/um/Makefile
arch/um/Makefile-i386
arch/um/Makefile-x86_64
arch/um/drivers/Makefile
drivers/leds/Kconfig
scripts/mod/file2alias.c

diff --combined CREDITS
index 08feda2667d031a079b1866f26f8fccce5baef0e,86a0bb278a6ee62887db46195f2025042785cc0b..99566b1a6eebda3aea4c73f487d82e39072ffce8
+++ b/CREDITS
@@@ -1165,6 -1165,12 +1165,12 @@@ S: 600 North Bell Avenue, Suite 16
  S: Carnegie, Pennsylvania 15106-4304
  S: USA
  
+ N: Kai Germaschewski
+ D: Major kbuild rework during the 2.5 cycle
+ D: ISDN Maintainer
+ S: USA
  N: Philip Gladstone
  D: Kernel / timekeeping stuff
  D: Original author of software suspend
  
  N: Jaroslav Kysela
 -E: perex@suse.cz
 +E: perex@perex.cz
  W: http://www.perex.cz
  D: Original Author and Maintainer for HP 10/100 Mbit Network Adapters
  D: ISA PnP
@@@ -2702,7 -2708,7 +2708,7 @@@ S: Canada K2P 0X
  
  N: Mikael Pettersson
 -W: http://www.csd.uu.se/~mikpe/
 +W: http://user.it.uu.se/~mikpe/linux/
  D: Miscellaneous fixes
  
  N: Reed H. Petty
diff --combined MAINTAINERS
index 1315cca8fc5f848bb2b569f076d3fa043e15978f,b97e53deb6e6daf92175f4f706772a6d63ffaba9..cc3b233ccaca7b13cc2296ee779967f9f16a38ab
@@@ -297,12 -297,6 +297,12 @@@ P:       Colin Lero
  M:    [email protected]
  S:    Maintained
  
 +ADVANSYS SCSI DRIVER
 +P:    Matthew Wilcox
 +M:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +
  AEDSP16 DRIVER
  P:    Riccardo Facchetti
  M:    [email protected]
@@@ -683,13 -677,6 +683,13 @@@ P:       Haavard Skinnemoe
  M:    [email protected]
  S:    Supported
  
 +ATMEL USBA UDC DRIVER
 +P:    Haavard Skinnemoen
 +M:    [email protected]
 +L:    [email protected]
 +W:    http://avr32linux.org/twiki/bin/view/Main/AtmelUsbDeviceDriver
 +S:    Supported
 +
  ATMEL WIRELESS DRIVER
  P:    Simon Kelley
  M:    [email protected]
@@@ -1666,8 -1653,7 +1666,8 @@@ P:      Mark M. Hoffma
  M:    [email protected]
  L:    [email protected]
  W:    http://www.lm-sensors.org/
 -T:    git lm-sensors.org:/kernel/mhoffman/hwmon-2.6.git
 +T:    git lm-sensors.org:/kernel/mhoffman/hwmon-2.6.git testing
 +T:    git lm-sensors.org:/kernel/mhoffman/hwmon-2.6.git release
  S:    Maintained
  
  HARDWARE RANDOM NUMBER GENERATOR CORE
@@@ -1769,7 -1755,7 +1769,7 @@@ S:      Maintaine
  
  HP100:        Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
  P:    Jaroslav Kysela
 -M:    perex@suse.cz
 +M:    perex@perex.cz
  S:    Maintained
  
  HPET: High Precision Event Timers driver (hpet.c)
@@@ -1783,8 -1769,8 +1783,8 @@@ M:      [email protected]
  S:    Maintained
  
  HPET: x86_64
 -P:    Andi Kleen and Vojtech Pavlik
 +P:    Vojtech Pavlik
 +M:    [email protected]
  S:    Maintained
  
  HPET: ACPI hpet.c
@@@ -1895,11 -1881,6 +1895,11 @@@ M:    Gadi Oxman <[email protected]
  L:    [email protected]
  S:    Maintained
  
 +IDE-SCSI DRIVER
 +L:    [email protected]
 +L:    [email protected]
 +S:    Orphan
 +
  IEEE 1394 SUBSYSTEM
  P:    Ben Collins
  M:    [email protected]
@@@ -2132,14 -2113,12 +2132,12 @@@ S:   Maintaine
  
  ISAPNP
  P:    Jaroslav Kysela
 -M:    perex@suse.cz
 +M:    perex@perex.cz
  S:    Maintained
  
  ISDN SUBSYSTEM
  P:    Karsten Keil
  M:    [email protected]
- P:    Kai Germaschewski
- M:    [email protected]
  L:    [email protected]
  W:    http://www.isdn4linux.de
  T:    git kernel.org:/pub/scm/linux/kernel/kkeil/isdn-2.6.git
@@@ -2208,8 -2187,6 +2206,6 @@@ L:      [email protected]
  S:    Maintained
  
  KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*)
- P:    Kai Germaschewski
- M:    [email protected]
  P:    Sam Ravnborg
  M:    [email protected]
  T:    git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
  L:    [email protected]
  S:    Maintained
  
 +LOCKDEP AND LOCKSTAT
 +P:    Peter Zijlstra
 +M:    [email protected]
 +P:    Ingo Molnar
 +M:    [email protected]
 +L:    [email protected]
 +T:    git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep.git
 +S:    Maintained
 +
  LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks)
  P:    Richard Russon (FlatCap)
  M:    [email protected]
@@@ -2424,7 -2392,7 +2420,7 @@@ LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI
  P:    Eric Moore
  M:    [email protected]
  M:    [email protected]
 -L:    mpt_linux_developer@lsi.com
 +L:    DL-MPTFusionLinux@lsi.com
  L:    [email protected]
  W:    http://www.lsilogic.com/support
  S:    Supported
@@@ -3523,7 -3491,7 +3519,7 @@@ S:      Maintaine
  
  SOUND
  P:    Jaroslav Kysela
 -M:    perex@suse.cz
 +M:    perex@perex.cz
  L:    [email protected] (subscribers-only)
  S:    Maintained
  
@@@ -4198,7 -4166,7 +4194,7 @@@ W83791D HARDWARE MONITORING DRIVE
  P:    Charles Spirakis
  M:    [email protected]
  L:    [email protected]
 -S:    Maintained
 +S:    Odd Fixes
  
  W83793 HARDWARE MONITORING DRIVER
  P:    Rudolf Marek
@@@ -4286,6 -4254,14 +4282,6 @@@ P:     Ingo Molna
  M:    [email protected]
  S:    Maintained
  
 -X86-64 port
 -P:    Andi Kleen
 -M:    [email protected]
 -L:    [email protected]
 -W:    http://www.x86-64.org
 -T:    quilt ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt-current
 -S:    Maintained
 -
  YAM DRIVER FOR AX.25
  P:    Jean-Paul Roubelat
  M:    [email protected]
diff --combined arch/alpha/Makefile
index d1004b4d942fce7d75daccf7d6ea641bce233f0b,2f283b2fb164ef6624ef1a2b8ce015da2ba55dca..63104ebd18063fafe17c7e116963b1299e895d15
@@@ -12,28 -12,79 +12,28 @@@ NM := $(NM) -
  
  LDFLAGS_vmlinux       := -static -N #-relax
  CHECKFLAGS    += -D__alpha__ -m64
 -cflags-y      := -pipe -mno-fp-regs -ffixed-8
 -
 -# Determine if we can use the BWX instructions with GAS.
 -old_gas := $(shell if $(AS) --version 2>&1 | grep 'version 2.7' > /dev/null; then echo y; else echo n; fi)
 -
 -ifeq ($(old_gas),y)
 -$(error The assembler '$(AS)' does not support the BWX instruction)
 -endif
 -
 -# Determine if GCC understands the -mcpu= option.
 -have_mcpu        := $(call cc-option-yn, -mcpu=ev5)
 -have_mcpu_pca56  := $(call cc-option-yn, -mcpu=pca56)
 -have_mcpu_ev6    := $(call cc-option-yn, -mcpu=ev6)
 -have_mcpu_ev67   := $(call cc-option-yn, -mcpu=ev67)
 -have_msmall_data := $(call cc-option-yn, -msmall-data)
 -
 -cflags-$(have_msmall_data) += -msmall-data
 -
 -# Turn on the proper cpu optimizations.
 -ifeq ($(have_mcpu),y)
 -  mcpu_done := n
 -  # If GENERIC, make sure to turn off any instruction set extensions that
 -  # the host compiler might have on by default.  Given that EV4 and EV5
 -  # have the same instruction set, prefer EV5 because an EV5 schedule is
 -  # more likely to keep an EV4 processor busy than vice-versa.
 -  ifeq ($(CONFIG_ALPHA_GENERIC),y)
 -    mcpu := ev5
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_SX164)$(have_mcpu_pca56),nyy)
 -    mcpu := pca56
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_POLARIS)$(have_mcpu_pca56),nyy)
 -    mcpu := pca56
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV4),ny)
 -    mcpu := ev4
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV56),ny)
 -    mcpu := ev56
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV5),ny)
 -    mcpu := ev5
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV67)$(have_mcpu_ev67),nyy)
 -    mcpu := ev67
 -    mcpu_done := y
 -  endif
 -  ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV6),ny)
 -    ifeq ($(have_mcpu_ev6),y)
 -      mcpu := ev6
 -    else
 -      ifeq ($(have_mcpu_pca56),y)
 -        mcpu := pca56
 -      else
 -        mcpu=ev56
 -      endif
 -    endif
 -    mcpu_done := y
 -  endif
 -  cflags-$(mcpu_done) += -mcpu=$(mcpu)
 -endif
 +cflags-y      := -pipe -mno-fp-regs -ffixed-8 -msmall-data
 +
 +cpuflags-$(CONFIG_ALPHA_EV67)         := -mcpu=ev67
 +cpuflags-$(CONFIG_ALPHA_EV6)          := -mcpu=ev6
 +cpuflags-$(CONFIG_ALPHA_POLARIS)      := -mcpu=pca56
 +cpuflags-$(CONFIG_ALPHA_SX164)                := -mcpu=pca56
 +cpuflags-$(CONFIG_ALPHA_EV56)         := -mcpu=ev56
 +cpuflags-$(CONFIG_ALPHA_EV5)          := -mcpu=ev5
 +cpuflags-$(CONFIG_ALPHA_EV4)          := -mcpu=ev4
 +# If GENERIC, make sure to turn off any instruction set extensions that
 +# the host compiler might have on by default.  Given that EV4 and EV5
 +# have the same instruction set, prefer EV5 because an EV5 schedule is
 +# more likely to keep an EV4 processor busy than vice-versa.
 +cpuflags-$(CONFIG_ALPHA_GENERIC)      := -mcpu=ev5
 +
 +cflags-y                              += $(cpuflags-y)
  
  
  # For TSUNAMI, we must have the assembler not emulate our instructions.
  # The same is true for IRONGATE, POLARIS, PYXIS.
  # BWX is most important, but we don't really want any emulation ever.
- CFLAGS += $(cflags-y) -Wa,-mev6
KBUILD_CFLAGS += $(cflags-y) -Wa,-mev6
  
  head-y := arch/alpha/kernel/head.o
  
diff --combined arch/arm/Makefile
index 6c2d539cd22b406649436ebf73a908e4a4f2deeb,0d450e757e0e6561c36aa3598214a9e7bf63c8b1..35e56c99ad1ddbaf64c76faecefe258cb88ed072
  
  LDFLAGS_vmlinux       :=-p --no-undefined -X
  CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET)
 -OBJCOPYFLAGS  :=-O binary -R .note -R .comment -S
 +OBJCOPYFLAGS  :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
  GZFLAGS               :=-9
- #CFLAGS               +=-pipe
+ #KBUILD_CFLAGS        +=-pipe
  # Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
CFLAGS                +=$(call cc-option,-marm,)
KBUILD_CFLAGS +=$(call cc-option,-marm,)
  
  # Do not use arch/arm/defconfig - it's always outdated.
  # Select a platform tht is kept up-to-date
@@@ -28,15 -28,15 +28,15 @@@ MMUEXT             := -nomm
  endif
  
  ifeq ($(CONFIG_FRAME_POINTER),y)
CFLAGS                +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog
KBUILD_CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog
  endif
  
  ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
CPPFLAGS      += -mbig-endian
KBUILD_CPPFLAGS       += -mbig-endian
  AS            += -EB
  LD            += -EB
  else
CPPFLAGS      += -mlittle-endian
KBUILD_CPPFLAGS       += -mlittle-endian
  AS            += -EL
  LD            += -EL
  endif
@@@ -85,8 -85,8 +85,8 @@@ CFLAGS_ABI    :=$(call cc-option,-mapcs-32
  endif
  
  # Need -Uarm for gcc < 3.x
CFLAGS                +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
AFLAGS                +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float
KBUILD_CFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float
  
  CHECKFLAGS    += -D__arm__
  
diff --combined arch/sh/Makefile
index a0a2083aad3e58e9c43312f13ee039d41b7fb971,0353296c2c93f9feb94184c18098a4094bca98aa..408342b175c8b55820b44380a7f91b955e5448f3
@@@ -91,12 -91,12 +91,12 @@@ LDFLAGS_vmlinux            += --defsym 'jiffies=j
  LDFLAGS                       += -EB
  endif
  
CFLAGS                += -pipe $(cflags-y)
AFLAGS                += $(cflags-y)
KBUILD_CFLAGS         += -pipe $(cflags-y)
KBUILD_AFLAGS         += $(cflags-y)
  
  head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o
  
- LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
+ LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
  
  core-y                                += arch/sh/kernel/ arch/sh/mm/
  core-$(CONFIG_SH_FPU_EMU)     += arch/sh/math-emu/
@@@ -118,7 -118,6 +118,7 @@@ machdir-$(CONFIG_SH_7751_SYSTEMH)          += r
  machdir-$(CONFIG_SH_EDOSK7705)                        += renesas/edosk7705
  machdir-$(CONFIG_SH_HIGHLANDER)                       += renesas/r7780rp
  machdir-$(CONFIG_SH_7710VOIPGW)                       += renesas/sh7710voipgw
 +machdir-$(CONFIG_SH_X3PROTO)                  += renesas/x3proto
  machdir-$(CONFIG_SH_SH4202_MICRODEV)          += superh/microdev
  machdir-$(CONFIG_SH_LANDISK)                  += landisk
  machdir-$(CONFIG_SH_TITAN)                    += titan
@@@ -126,7 -125,6 +126,7 @@@ machdir-$(CONFIG_SH_SHMIN)                 += shmi
  machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE)     += se/7206
  machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)     += se/7619
  machdir-$(CONFIG_SH_LBOX_RE2)                 += lboxre2
 +machdir-$(CONFIG_SH_MAGIC_PANEL_R2)           += magicpanelr2
  
  incdir-y      := $(notdir $(machdir-y))
  
@@@ -137,7 -135,7 +137,7 @@@ endi
  
  # Companion chips
  core-$(CONFIG_HD6446X_SERIES) += arch/sh/cchips/hd6446x/
 -core-$(CONFIG_VOYAGERGX)      += arch/sh/cchips/voyagergx/
 +core-$(CONFIG_MFD_SM501)      += arch/sh/cchips/voyagergx/
  
  cpuincdir-$(CONFIG_CPU_SH2)   := cpu-sh2
  cpuincdir-$(CONFIG_CPU_SH2A)  := cpu-sh2a
diff --combined arch/sh64/Makefile
index 8290c6380d7d6f09c8604457d4b4f9d8080dc2d7,9e874de0a0968231e41d13b7aa30c9422ea0ff55..8dac7e1a2be609f98385ffad7307c95e824ab798
@@@ -26,7 -26,7 +26,7 @@@ LDFLAGS                       += -EB  -mshelf32_linu
  endif
  
  # No requirements for endianess support from AFLAGS, 'as' always run through gcc
CFLAGS                += $(cpu-y)
KBUILD_CFLAGS         += $(cpu-y)
  
  LDFLAGS_vmlinux       += --defsym phys_stext=_stext-$(CONFIG_CACHED_MEMORY_OFFSET) \
                  --defsym phys_stext_shmedia=phys_stext+1 \
@@@ -40,8 -40,6 +40,8 @@@ OBJCOPYFLAGS  := -O binary -R .note -R .
  #
  KBUILD_DEFCONFIG      := cayman_defconfig
  
 +KBUILD_IMAGE          := arch/$(ARCH)/boot/zImage
 +
  ifdef LOADADDR
  LINKFLAGS     += -Ttext $(word 1,$(LOADADDR))
  endif
@@@ -49,6 -47,7 +49,6 @@@
  machine-$(CONFIG_SH_CAYMAN)   := cayman
  machine-$(CONFIG_SH_SIMULATOR)        := sim
  machine-$(CONFIG_SH_HARP)     := harp
 -machine-$(CONFIG_SH_ROMRAM)   := romram
  
  head-y := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
  
@@@ -58,7 -57,7 +58,7 @@@ ifneq ($(machine-y),
  core-y        += arch/sh64/mach-$(machine-y)/
  endif
  
- LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
+ LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
  libs-y        += arch/$(ARCH)/lib/ $(LIBGCC)
  
  drivers-$(CONFIG_OPROFILE)    += arch/sh64/oprofile/
@@@ -107,5 -106,6 +107,5 @@@ arch/$(ARCH)/lib/syscalltab.h: arch/sh6
  CLEAN_FILES += arch/$(ARCH)/lib/syscalltab.h
  
  define archhelp
 -      @echo '  zImage                    - Compressed kernel image (arch/sh64/boot/zImage)'
 +      @echo '* zImage                    - Compressed kernel image'
  endef
 -
diff --combined arch/um/Makefile
index ab22fdeedf29294f9ddc2d469c47102a48b855db,d08d3bc518e32bbe7df4c75e88f468dfb429d625..82c2ac48040da2cddf7c645fca724796a16668ad
@@@ -2,7 -2,7 +2,7 @@@
  # This file is included by the global makefile so that you can add your own
  # architecture-specific flags and dependencies.
  #
 -# Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
 +# Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
  # Licensed under the GPL
  #
  
@@@ -31,9 -31,18 +31,9 @@@ SYMLINK_HEADERS := $(foreach header,$(S
  ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \
        $(SYMLINK_HEADERS) $(ARCH_DIR)/include/uml-config.h
  
 -um-modes-$(CONFIG_MODE_TT) += tt
 -um-modes-$(CONFIG_MODE_SKAS) += skas
 +MODE_INCLUDE  += -I$(srctree)/$(ARCH_DIR)/include/skas
  
 -MODE_INCLUDE  += $(foreach mode,$(um-modes-y),\
 -                 -I$(srctree)/$(ARCH_DIR)/include/$(mode))
 -
 -MAKEFILES-INCL        += $(foreach mode,$(um-modes-y),\
 -                 $(srctree)/$(ARCH_DIR)/Makefile-$(mode))
 -
 -ifneq ($(MAKEFILES-INCL),)
 -  include $(MAKEFILES-INCL)
 -endif
 +include $(srctree)/$(ARCH_DIR)/Makefile-skas
  
  ARCH_INCLUDE  := -I$(ARCH_DIR)/include
  ifneq ($(KBUILD_SRC),)
@@@ -49,15 -58,14 +49,15 @@@ SYS_DIR            := $(ARCH_DIR)/include/sysdep-
  #
  # These apply to USER_CFLAGS to.
  
CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\"  \
KBUILD_CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\"   \
        $(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap      \
 -      -Din6addr_loopback=kernel_in6addr_loopback
 +      -Din6addr_loopback=kernel_in6addr_loopback \
 +      -Din6addr_any=kernel_in6addr_any
  
- AFLAGS += $(ARCH_INCLUDE)
KBUILD_AFLAGS += $(ARCH_INCLUDE)
  
  USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
-       $(patsubst -I%,,$(CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
+       $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
        -D_FILE_OFFSET_BITS=64
  
  include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH)
@@@ -67,21 -75,22 +67,21 @@@ include $(srctree)/$(ARCH_DIR)/Makefile
  
  # -Derrno=kernel_errno - This turns all kernel references to errno into
  # kernel_errno to separate them from the libc errno.  This allows -fno-common
- # in CFLAGS.  Otherwise, it would cause ld to complain about the two different
+ # in KBUILD_CFLAGS.  Otherwise, it would cause ld to complain about the two different
  # errnos.
  # These apply to kernelspace only.
  
  KERNEL_DEFINES = -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask \
        -Dmktime=kernel_mktime $(ARCH_KERNEL_DEFINES)
- CFLAGS += $(KERNEL_DEFINES)
- CFLAGS += $(call cc-option,-fno-unit-at-a-time,)
KBUILD_CFLAGS += $(KERNEL_DEFINES)
KBUILD_CFLAGS += $(call cc-option,-fno-unit-at-a-time,)
  
  # These are needed for clean and mrproper, since in that case .config is not
  # included; the values here are meaningless
  
  CONFIG_NEST_LEVEL ?= 0
 -CONFIG_KERNEL_HALF_GIGS ?= 0
  
 -SIZE = (($(CONFIG_NEST_LEVEL) + $(CONFIG_KERNEL_HALF_GIGS)) * 0x20000000)
 +SIZE = ($(CONFIG_NEST_LEVEL) * 0x20000000)
  
  PHONY += linux
  
@@@ -114,6 -123,7 +114,6 @@@ CFLAGS_NO_HARDENING := $(call cc-option
        $(call cc-option, -fno-stack-protector,) \
        $(call cc-option, -fno-stack-protector-all,)
  
 -CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT
  CONFIG_KERNEL_STACK_ORDER ?= 2
  STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] )
  
@@@ -121,10 -131,13 +121,10 @@@ ifndef STAR
    START = $(shell echo $$[ $(TOP_ADDR) - $(SIZE) ] )
  endif
  
 -CPPFLAGS_vmlinux.lds = -U$(SUBARCH) \
 -      -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \
 -      -DELF_FORMAT="$(ELF_FORMAT)" $(CPP_MODE-y) \
 -      -DKERNEL_STACK_SIZE=$(STACK_SIZE) \
 -      -DUNMAP_PATH=arch/um/sys-$(SUBARCH)/unmap.o
 +CPPFLAGS_vmlinux.lds = -U$(SUBARCH) -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \
 +      -DELF_FORMAT="$(ELF_FORMAT)" -DKERNEL_STACK_SIZE=$(STACK_SIZE)
  
 -#The wrappers will select whether using "malloc" or the kernel allocator.
 +# The wrappers will select whether using "malloc" or the kernel allocator.
  LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc
  
  CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS)
@@@ -137,8 -150,8 +137,8 @@@ define cmd_vmlinux_
        FORCE ,$^) ; rm -f linux
  endef
  
 -#When cleaning we don't include .config, so we don't include
 -#TT or skas makefiles and don't clean skas_ptregs.h.
 +# When cleaning we don't include .config, so we don't include
 +# TT or skas makefiles and don't clean skas_ptregs.h.
  CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \
        $(ARCH_DIR)/include/user_constants.h \
        $(ARCH_DIR)/include/kern_constants.h $(ARCH_DIR)/Kconfig.arch
@@@ -163,9 -176,9 +163,9 @@@ include/asm-um/arch
        @echo '  SYMLINK $@'
  ifneq ($(KBUILD_SRC),)
        $(Q)mkdir -p $(objtree)/include/asm-um
 -      $(Q)ln -fsn $(srctree)/include/asm-$(SUBARCH) include/asm-um/arch
 +      $(Q)ln -fsn $(srctree)/include/asm-$(HEADER_ARCH) include/asm-um/arch
  else
 -      $(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(SUBARCH) arch
 +      $(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(HEADER_ARCH) arch
  endif
  
  $(objtree)/$(ARCH_DIR)/include:
@@@ -219,4 -232,4 +219,4 @@@ $(ARCH_DIR)/include/kern_constants.h: $
        @echo '  SYMLINK $@'
        $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@
  
 -export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS
 +export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH
diff --combined arch/um/Makefile-i386
index ae61e3c271e294695c395e9c9bb52ba7509a2b11,d10e4dc0dae85698cea8fc6f88fbbe29be802e0c..0178df306939b856aef436456e7ffe194ed3b5a5
@@@ -1,19 -1,22 +1,19 @@@
 -core-y += arch/um/sys-i386/ arch/i386/crypto/
 +core-y += arch/um/sys-i386/ arch/x86/crypto/
  
  TOP_ADDR := $(CONFIG_TOP_ADDR)
  
 -ifeq ($(CONFIG_MODE_SKAS),y)
 -  ifneq ($(CONFIG_MODE_TT),y)
 -     START := 0x8048000
 -  endif
 -endif
 +START := 0x8048000
  
  LDFLAGS                       += -m elf_i386
  ELF_ARCH              := $(SUBARCH)
  ELF_FORMAT            := elf32-$(SUBARCH)
  OBJCOPYFLAGS                  := -O binary -R .note -R .comment -S
 +HEADER_ARCH           := x86
  
  ifeq ("$(origin SUBARCH)", "command line")
  ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
CFLAGS                        += $(call cc-option,-m32)
AFLAGS                        += $(call cc-option,-m32)
KBUILD_CFLAGS         += $(call cc-option,-m32)
KBUILD_AFLAGS         += $(call cc-option,-m32)
  LINK-y                        += $(call cc-option,-m32)
  UML_OBJCOPYFLAGS      += -F $(ELF_FORMAT)
  
@@@ -21,11 -24,6 +21,11 @@@ export LDFLAGS HOSTCFLAGS HOSTLDFLAGS U
  endif
  endif
  
 +CFLAGS                        += -DCONFIG_X86_32
 +AFLAGS                        += -DCONFIG_X86_32
 +CONFIG_X86_32         := y
 +export CONFIG_X86_32
 +
  ARCH_KERNEL_DEFINES += -U__$(SUBARCH)__ -U$(SUBARCH)
  
  # First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
@@@ -38,4 -36,4 +38,4 @@@ cflags-y += $(call cc-option,-mpreferre
  # an unresolved reference.
  cflags-y += -ffreestanding
  
- CFLAGS += $(cflags-y)
KBUILD_CFLAGS += $(cflags-y)
diff --combined arch/um/Makefile-x86_64
index 8a00e5f6934c84f5b2ee94e7312dba33a781d426,bcfd6ea3003044f9351989063e8e8181129c3045..fe5316f0c6a55778fbda6bf7fb679c2f9a75a493
@@@ -1,7 -1,7 +1,7 @@@
  # Copyright 2003 - 2004 Pathscale, Inc
  # Released under the GPL
  
 -core-y += arch/um/sys-x86_64/ arch/x86_64/crypto/
 +core-y += arch/um/sys-x86_64/ arch/x86/crypto/
  START := 0x60000000
  
  _extra_flags_ = -fno-builtin -m64
@@@ -9,16 -9,15 +9,16 @@@
  #We #undef __x86_64__ for kernelspace, not for userspace where
  #it's needed for headers to work!
  ARCH_KERNEL_DEFINES = -U__$(SUBARCH)__
- CFLAGS += $(_extra_flags_)
KBUILD_CFLAGS += $(_extra_flags_)
  
  CHECKFLAGS  += -m64
- AFLAGS += -m64
KBUILD_AFLAGS += -m64
  LDFLAGS += -m elf_x86_64
- CPPFLAGS += -m64
KBUILD_CPPFLAGS += -m64
  
  ELF_ARCH := i386:x86-64
  ELF_FORMAT := elf64-x86-64
 +HEADER_ARCH := x86
  
  # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
  
diff --combined arch/um/drivers/Makefile
index 634968150bd6a9a9187044133b009c90557b5a8c,0f780dd0d4c4d2de272a7f3f7d6bf004a41d788a..d283e7b022a0d8229e3869ad57595178129e0f66
@@@ -17,18 -17,12 +17,18 @@@ ubd-objs := ubd_kern.o ubd_user.
  port-objs := port_kern.o port_user.o
  harddog-objs := harddog_kern.o harddog_user.o
  
- LDFLAGS_pcap.o := -r $(shell $(CC) $(CFLAGS) -print-file-name=libpcap.a)
+ LDFLAGS_pcap.o := -r $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libpcap.a)
  
 -targets := pcap_kern.o pcap_user.o
 +LDFLAGS_vde.o := -r $(shell $(CC) $(CFLAGS) -print-file-name=libvdeplug.a)
 +
 +targets := pcap_kern.o pcap_user.o vde_kern.o vde_user.o
  
  $(obj)/pcap.o: $(obj)/pcap_kern.o $(obj)/pcap_user.o
        $(LD) -r -dp -o $@ $^ $(LDFLAGS) $(LDFLAGS_pcap.o)
 +
 +$(obj)/vde.o: $(obj)/vde_kern.o $(obj)/vde_user.o
 +      $(LD) -r -dp -o $@ $^ $(LDFLAGS) $(LDFLAGS_vde.o)
 +
  #XXX: The call below does not work because the flags are added before the
  # object name, so nothing from the library gets linked.
  #$(call if_changed,ld)
@@@ -43,7 -37,6 +43,7 @@@ obj-$(CONFIG_STDERR_CONSOLE) += stderr_
  obj-$(CONFIG_UML_NET_SLIP) += slip.o slip_common.o
  obj-$(CONFIG_UML_NET_SLIRP) += slirp.o slip_common.o
  obj-$(CONFIG_UML_NET_DAEMON) += daemon.o 
 +obj-$(CONFIG_UML_NET_VDE) += vde.o
  obj-$(CONFIG_UML_NET_MCAST) += mcast.o 
  obj-$(CONFIG_UML_NET_PCAP) += pcap.o
  obj-$(CONFIG_UML_NET) += net.o 
@@@ -61,6 -54,6 +61,6 @@@ obj-$(CONFIG_BLK_DEV_COW_COMMON) += cow
  obj-$(CONFIG_UML_RANDOM) += random.o
  
  # pcap_user.o must be added explicitly.
 -USER_OBJS := fd.o null.o pty.o tty.o xterm.o slip_common.o pcap_user.o
 +USER_OBJS := fd.o null.o pty.o tty.o xterm.o slip_common.o pcap_user.o vde_user.o
  
  include arch/um/scripts/Makefile.rules
diff --combined drivers/leds/Kconfig
index 257b44094e4cc442402451184e7017e4dbc836e1,c12bd664ea59780ac035bb15c29f482c97c2f411..ec568fa1c6cc3b2ec92e6314de868416bb1e2ded
@@@ -83,7 -83,7 +83,7 @@@ config LEDS_WRA
  
  config LEDS_H1940
        tristate "LED Support for iPAQ H1940 device"
-       depends LEDS_CLASS && ARCH_H1940
+       depends on LEDS_CLASS && ARCH_H1940
        help
          This option enables support for the LEDs on the h1940.
  
@@@ -108,12 -108,6 +108,12 @@@ config LEDS_GPI
          outputs. To be useful the particular board must have LEDs
          and they must be connected to the GPIO lines.
  
 +config LEDS_CM_X270
 +      tristate "LED Support for the CM-X270 LEDs"
 +      depends on LEDS_CLASS && MACH_ARMCORE
 +      help
 +        This option enables support for the CM-X270 LEDs.
 +
  comment "LED Triggers"
  
  config LEDS_TRIGGERS
diff --combined scripts/mod/file2alias.c
index 494435ca88fa704ef130ae4d9fd8e8d18456886f,7abee0f2d207e37f8d9daf68d128b65816abade5..91c15da2680b4a90c7b1de34d5883eb0de2ee119
@@@ -55,10 -55,14 +55,14 @@@ do 
   * Check that sizeof(device_id type) are consistent with size of section
   * in .o file. If in-consistent then userspace and kernel does not agree
   * on actual size which is a bug.
+  * Also verify that the final entry in the table is all zeros.
   **/
- static void device_id_size_check(const char *modname, const char *device_id,
-                                unsigned long size, unsigned long id_size)
+ static void device_id_check(const char *modname, const char *device_id,
+                           unsigned long size, unsigned long id_size,
+                           void *symval)
  {
+       int i;
        if (size % id_size || size < id_size) {
                fatal("%s: sizeof(struct %s_device_id)=%lu is not a modulo "
                      "of the size of section __mod_%s_device_table=%lu.\n"
                      "in mod_devicetable.h\n",
                      modname, device_id, id_size, device_id, size, device_id);
        }
+       /* Verify last one is a terminator */
+       for (i = 0; i < id_size; i++ ) {
+               if (*(uint8_t*)(symval+size-id_size+i)) {
+                       fprintf(stderr,"%s: struct %s_device_id is %lu bytes.  "
+                               "The last of %lu is:\n",
+                               modname, device_id, id_size, size / id_size);
+                       for (i = 0; i < id_size; i++ )
+                               fprintf(stderr,"0x%02x ",
+                                       *(uint8_t*)(symval+size-id_size+i) );
+                       fprintf(stderr,"\n");
+                       fatal("%s: struct %s_device_id is not terminated "
+                               "with a NULL entry!\n", modname, device_id);
+               }
+       }
  }
  
  /* USB is special because the bcdDevice can be matched against a numeric range */
@@@ -168,7 -186,7 +186,7 @@@ static void do_usb_table(void *symval, 
        unsigned int i;
        const unsigned long id_size = sizeof(struct usb_device_id);
  
-       device_id_size_check(mod->name, "usb", size, id_size);
+       device_id_check(mod->name, "usb", size, id_size, symval);
  
        /* Leave last one: it's the terminator. */
        size -= id_size;
@@@ -396,6 -414,13 +414,6 @@@ static int do_vio_entry(const char *fil
        return 1;
  }
  
 -static int do_i2c_entry(const char *filename, struct i2c_device_id *i2c, char *alias)
 -{
 -      strcpy(alias, "i2c:");
 -      ADD(alias, "id", 1, i2c->id);
 -      return 1;
 -}
 -
  #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
  
  static void do_input(char *alias,
@@@ -528,7 -553,7 +546,7 @@@ static void do_table(void *symval, unsi
        char alias[500];
        int (*do_entry)(const char *, void *entry, char *alias) = function;
  
-       device_id_size_check(mod->name, device_id, size, id_size);
+       device_id_check(mod->name, device_id, size, id_size, symval);
        /* Leave last one: it's the terminator. */
        size -= id_size;
  
@@@ -550,14 -575,21 +568,21 @@@ void handle_moddevtable(struct module *
                        Elf_Sym *sym, const char *symname)
  {
        void *symval;
+       char *zeros = NULL;
  
        /* We're looking for a section relative symbol */
        if (!sym->st_shndx || sym->st_shndx >= info->hdr->e_shnum)
                return;
  
-       symval = (void *)info->hdr
-               + info->sechdrs[sym->st_shndx].sh_offset
-               + sym->st_value;
+       /* Handle all-NULL symbols allocated into .bss */
+       if (info->sechdrs[sym->st_shndx].sh_type & SHT_NOBITS) {
+               zeros = calloc(1, sym->st_size);
+               symval = zeros;
+       } else {
+               symval = (void *)info->hdr
+                       + info->sechdrs[sym->st_shndx].sh_offset
+                       + sym->st_value;
+       }
  
        if (sym_is(symname, "__mod_pci_device_table"))
                do_table(symval, sym->st_size,
                do_table(symval, sym->st_size,
                         sizeof(struct vio_device_id), "vio",
                         do_vio_entry, mod);
 -      else if (sym_is(symname, "__mod_i2c_device_table"))
 -              do_table(symval, sym->st_size,
 -                       sizeof(struct i2c_device_id), "i2c",
 -                       do_i2c_entry, mod);
        else if (sym_is(symname, "__mod_input_device_table"))
                do_table(symval, sym->st_size,
                         sizeof(struct input_device_id), "input",
                do_table(symval, sym->st_size,
                         sizeof(struct ssb_device_id), "ssb",
                         do_ssb_entry, mod);
+       free(zeros);
  }
  
  /* Now add out buffered information to the generated C source */
This page took 0.148057 seconds and 4 git commands to generate.