Hi Linus,
Could you pull this tree please?
The patches herein prepare for the extraction of the Userspace API bits from
the various header files named in the Kbuild files.
[IMPORTANT NOTE! These patches may need regenerating if the header files
change too much. This doesn't normally take very long to do as the
disintegration procedure is almost entirely scripted.]
New subdirectories are created under either include/uapi/ or
arch/x/include/uapi/ that correspond to the subdirectory containing that file
under include/ or arch/x/include/.
The new subdirs under the uapi/ directory are populated with Kbuild files that
mostly do nothing at this time. Further patches will disintegrate the headers
in each original directory and fill in the Kbuild files as they do it.
These patches also:
(1) fix up #inclusions of "foo.h" rather than <foo.h>.
(2) Remove some redundant #includes from the DRM code.
(3) Make the kernel build infrastructure handle Kbuild files both in the old
places and the new UAPI place that both specify headers to be exported.
(4) Fix some kernel tools that #include kernel headers during their build.
I have compile tested this with allyesconfig against x86_64, allmodconfig
against i386 and a scattering of additional defconfigs of other arches.
Signed-off-by: David Howells <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Thomas Gleixner <[email protected]>
Acked-by: Michael Kerrisk <[email protected]>
Acked-by: Paul E. McKenney <[email protected]>
Acked-by: Dave Jones <[email protected]>
Acked-by: H. Peter Anvin <[email protected]>
---
The following changes since commit 974a847e00cf3ff1695e62b276892137893706ab:
drivers: bus: omap_l3: fixup merge conflict resolution (2012-10-01 19:39:48 -0700)
are available in the git repository at:
git://git.infradead.org/users/dhowells/linux-headers.git tags/uapi-prep-20121002
for you to fetch changes up to 10b63956fce7f369cc37fd4d994f09bd5203efe4:
UAPI: Plumb the UAPI Kbuilds into the user header installation and checking (2012-10-02 18:01:57 +0100)
----------------------------------------------------------------
Prepared for main script
----------------------------------------------------------------
David Howells (13):
UAPI: Refer to the DRM UAPI headers with <...> and from certain headers only
UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/.
UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/
UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers
UAPI: Partition the header include path sets and add uapi/ header directories
UAPI: (Scripted) Set up UAPI Kbuild files
UAPI: x86: Fix the test_get_len tool
UAPI: x86: Fix insn_sanity build failure after UAPI split
UAPI: Set up uapi/asm/Kbuild.asm
UAPI: Move linux/version.h
UAPI: Remove the objhdr-y export list
UAPI: x86: Differentiate the generated UAPI and internal headers
UAPI: Plumb the UAPI Kbuilds into the user header installation and checking
Documentation/kbuild/makefiles.txt | 8 ++--
Makefile | 43 ++++++++++++--------
arch/alpha/include/uapi/asm/Kbuild | 3 ++
arch/arm/include/asm/page.h | 2 +-
arch/arm/include/asm/pgtable.h | 2 +-
arch/arm/include/asm/vfpmacros.h | 2 +-
arch/arm/include/uapi/asm/Kbuild | 3 ++
arch/arm64/include/uapi/asm/Kbuild | 3 ++
arch/avr32/include/uapi/asm/Kbuild | 3 ++
arch/blackfin/include/uapi/asm/Kbuild | 3 ++
arch/c6x/include/uapi/asm/Kbuild | 3 ++
arch/cris/Makefile | 4 +-
arch/cris/include/arch-v10/arch/sv_addr_ag.h | 2 +-
arch/cris/include/arch-v10/arch/svinto.h | 2 +-
arch/cris/include/arch-v32/arch/dma.h | 2 +-
arch/cris/include/arch-v32/arch/hwregs/dma.h | 2 +-
arch/cris/include/uapi/arch-v10/arch/Kbuild | 1 +
arch/cris/include/uapi/arch-v32/arch/Kbuild | 1 +
arch/cris/include/uapi/asm/Kbuild | 5 +++
arch/frv/include/uapi/asm/Kbuild | 3 ++
arch/h8300/include/uapi/asm/Kbuild | 3 ++
arch/hexagon/include/uapi/asm/Kbuild | 3 ++
arch/ia64/include/uapi/asm/Kbuild | 3 ++
arch/m32r/include/uapi/asm/Kbuild | 3 ++
arch/m68k/include/asm/cacheflush.h | 4 +-
arch/m68k/include/asm/io.h | 4 +-
arch/m68k/include/asm/m68360.h | 8 ++--
arch/m68k/include/asm/m68360_enet.h | 2 +-
arch/m68k/include/asm/page.h | 4 +-
arch/m68k/include/asm/pgtable.h | 4 +-
arch/m68k/include/asm/q40_master.h | 2 +-
arch/m68k/include/asm/uaccess.h | 4 +-
arch/m68k/include/uapi/asm/Kbuild | 3 ++
arch/microblaze/include/asm/mmu_context.h | 2 +-
arch/microblaze/include/uapi/asm/Kbuild | 3 ++
arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h | 2 +-
arch/mips/include/asm/mach-pnx833x/gpio.h | 2 +-
arch/mips/include/asm/octeon/cvmx-asm.h | 2 +-
arch/mips/include/asm/octeon/cvmx-cmd-queue.h | 2 +-
arch/mips/include/asm/octeon/cvmx-fpa.h | 4 +-
arch/mips/include/asm/octeon/cvmx-helper-board.h | 2 +-
arch/mips/include/asm/octeon/cvmx-helper.h | 20 ++++-----
arch/mips/include/asm/octeon/cvmx-mdio.h | 2 +-
arch/mips/include/asm/octeon/cvmx-pip.h | 6 +--
arch/mips/include/asm/octeon/cvmx-pko.h | 8 ++--
arch/mips/include/asm/octeon/cvmx-pow.h | 4 +-
arch/mips/include/asm/octeon/cvmx-spi.h | 2 +-
arch/mips/include/asm/octeon/cvmx-spinlock.h | 2 +-
arch/mips/include/asm/octeon/cvmx-wqe.h | 2 +-
arch/mips/include/asm/octeon/cvmx.h | 36 ++++++++--------
arch/mips/include/asm/octeon/octeon-model.h | 2 +-
arch/mips/include/asm/octeon/octeon.h | 2 +-
arch/mips/include/asm/sibyte/bcm1480_int.h | 2 +-
arch/mips/include/asm/sibyte/bcm1480_l2c.h | 2 +-
arch/mips/include/asm/sibyte/bcm1480_mc.h | 2 +-
arch/mips/include/asm/sibyte/bcm1480_regs.h | 4 +-
arch/mips/include/asm/sibyte/bcm1480_scd.h | 4 +-
arch/mips/include/asm/sibyte/sb1250_dma.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_genbus.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_int.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_l2c.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_ldt.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_mac.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_mc.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_regs.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_scd.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_smbus.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_syncser.h | 2 +-
arch/mips/include/asm/sibyte/sb1250_uart.h | 2 +-
arch/mips/include/uapi/asm/Kbuild | 3 ++
arch/mn10300/include/uapi/asm/Kbuild | 3 ++
arch/openrisc/include/uapi/asm/Kbuild | 3 ++
arch/parisc/include/uapi/asm/Kbuild | 3 ++
arch/powerpc/include/asm/ps3.h | 2 +-
arch/powerpc/include/asm/ucc_fast.h | 2 +-
arch/powerpc/include/asm/ucc_slow.h | 2 +-
arch/powerpc/include/uapi/asm/Kbuild | 3 ++
arch/s390/include/uapi/asm/Kbuild | 3 ++
arch/score/include/uapi/asm/Kbuild | 3 ++
arch/sh/include/asm/bl_bit.h | 4 +-
arch/sh/include/asm/cache_insns.h | 4 +-
arch/sh/include/asm/checksum.h | 2 +-
arch/sh/include/asm/mmu_context.h | 4 +-
arch/sh/include/asm/posix_types.h | 8 ++--
arch/sh/include/asm/processor.h | 4 +-
arch/sh/include/asm/ptrace.h | 4 +-
arch/sh/include/asm/string.h | 4 +-
arch/sh/include/asm/switch_to.h | 4 +-
arch/sh/include/asm/syscall.h | 4 +-
arch/sh/include/asm/syscalls.h | 4 +-
arch/sh/include/asm/tlb.h | 2 +-
arch/sh/include/asm/traps.h | 4 +-
arch/sh/include/asm/uaccess.h | 4 +-
arch/sh/include/asm/unistd.h | 8 ++--
arch/sh/include/mach-ecovec24/mach/romimage.h | 2 +-
arch/sh/include/mach-kfr2r09/mach/romimage.h | 2 +-
arch/sh/include/uapi/asm/Kbuild | 3 ++
arch/sparc/include/uapi/asm/Kbuild | 5 +++
arch/tile/include/gxio/dma_queue.h | 2 +-
arch/tile/include/gxio/mpipe.h | 4 +-
arch/tile/include/gxio/trio.h | 4 +-
arch/tile/include/gxio/usb_host.h | 2 +-
arch/tile/include/hv/iorpc.h | 2 +-
arch/tile/include/uapi/arch/Kbuild | 1 +
arch/tile/include/uapi/asm/Kbuild | 3 ++
arch/um/Makefile | 4 +-
arch/unicore32/include/mach/PKUnity.h | 36 ++++++++--------
arch/unicore32/include/mach/hardware.h | 2 +-
arch/unicore32/include/mach/uncompress.h | 4 +-
arch/unicore32/include/uapi/asm/Kbuild | 3 ++
arch/x86/boot/Makefile | 4 +-
arch/x86/boot/mkcpustr.c | 2 +
arch/x86/include/asm/Kbuild | 4 --
arch/x86/include/asm/atomic.h | 4 +-
arch/x86/include/asm/calling.h | 2 +-
arch/x86/include/asm/checksum.h | 4 +-
arch/x86/include/asm/cmpxchg.h | 4 +-
arch/x86/include/asm/cpufeature.h | 2 +
arch/x86/include/asm/mmzone.h | 4 +-
arch/x86/include/asm/mutex.h | 4 +-
arch/x86/include/asm/numa.h | 4 +-
arch/x86/include/asm/pci.h | 2 +-
arch/x86/include/asm/pgtable.h | 4 +-
arch/x86/include/asm/pgtable_types.h | 4 +-
arch/x86/include/asm/posix_types.h | 10 ++---
arch/x86/include/asm/seccomp.h | 4 +-
arch/x86/include/asm/string.h | 4 +-
arch/x86/include/asm/suspend.h | 4 +-
arch/x86/include/asm/uaccess.h | 4 +-
arch/x86/include/asm/user.h | 4 +-
arch/x86/include/asm/xen/interface.h | 4 +-
arch/x86/include/asm/xor.h | 4 +-
arch/x86/include/asm/xor_32.h | 2 +-
arch/x86/include/asm/xor_64.h | 2 +-
arch/x86/include/uapi/asm/Kbuild | 6 +++
arch/x86/kernel/cpu/mkcapflags.pl | 5 ++-
arch/x86/lib/insn.c | 4 ++
arch/x86/syscalls/Makefile | 17 ++++----
arch/x86/tools/Makefile | 2 +-
arch/xtensa/include/uapi/asm/Kbuild | 3 ++
drivers/gpu/drm/ast/ast_drv.c | 5 +--
drivers/gpu/drm/ast/ast_drv.h | 12 +++---
drivers/gpu/drm/ast/ast_fb.c | 7 ++--
drivers/gpu/drm/ast/ast_main.c | 6 +--
drivers/gpu/drm/ast/ast_mode.c | 6 +--
drivers/gpu/drm/ast/ast_post.c | 2 +-
drivers/gpu/drm/ast/ast_ttm.c | 2 +-
drivers/gpu/drm/ati_pcigart.c | 2 +-
drivers/gpu/drm/cirrus/cirrus_drv.c | 3 +-
drivers/gpu/drm/cirrus/cirrus_drv.h | 10 ++---
drivers/gpu/drm/cirrus/cirrus_fbdev.c | 5 +--
drivers/gpu/drm/cirrus/cirrus_main.c | 5 +--
drivers/gpu/drm/cirrus/cirrus_mode.c | 5 +--
drivers/gpu/drm/cirrus/cirrus_ttm.c | 2 +-
drivers/gpu/drm/drm_agpsupport.c | 2 +-
drivers/gpu/drm/drm_auth.c | 2 +-
drivers/gpu/drm/drm_buffer.c | 2 +-
drivers/gpu/drm/drm_bufs.c | 2 +-
drivers/gpu/drm/drm_cache.c | 2 +-
drivers/gpu/drm/drm_context.c | 2 +-
drivers/gpu/drm/drm_crtc.c | 9 ++--
drivers/gpu/drm/drm_crtc_helper.c | 12 +++---
drivers/gpu/drm/drm_debugfs.c | 2 +-
drivers/gpu/drm/drm_dma.c | 2 +-
drivers/gpu/drm/drm_dp_i2c_helper.c | 4 +-
drivers/gpu/drm/drm_drv.c | 4 +-
drivers/gpu/drm/drm_edid.c | 4 +-
drivers/gpu/drm/drm_edid_load.c | 8 ++--
drivers/gpu/drm/drm_edid_modes.h | 4 +-
drivers/gpu/drm/drm_encoder_slave.c | 2 +-
drivers/gpu/drm/drm_fb_helper.c | 8 ++--
drivers/gpu/drm/drm_fops.c | 2 +-
drivers/gpu/drm/drm_gem.c | 2 +-
drivers/gpu/drm/drm_global.c | 2 +-
drivers/gpu/drm/drm_hashtab.c | 4 +-
drivers/gpu/drm/drm_info.c | 2 +-
drivers/gpu/drm/drm_ioc32.c | 4 +-
drivers/gpu/drm/drm_ioctl.c | 8 ++--
drivers/gpu/drm/drm_irq.c | 2 +-
drivers/gpu/drm/drm_lock.c | 2 +-
drivers/gpu/drm/drm_memory.c | 2 +-
drivers/gpu/drm/drm_mm.c | 4 +-
drivers/gpu/drm/drm_modes.c | 5 +--
drivers/gpu/drm/drm_pci.c | 2 +-
drivers/gpu/drm/drm_platform.c | 2 +-
drivers/gpu/drm/drm_prime.c | 2 +-
drivers/gpu/drm/drm_proc.c | 2 +-
drivers/gpu/drm/drm_scatter.c | 2 +-
drivers/gpu/drm/drm_stub.c | 4 +-
drivers/gpu/drm/drm_sysfs.c | 6 +--
drivers/gpu/drm/drm_trace_points.c | 2 +-
drivers/gpu/drm/drm_usb.c | 2 +-
drivers/gpu/drm/drm_vm.c | 2 +-
drivers/gpu/drm/exynos/exynos_ddc.c | 2 +-
drivers/gpu/drm/exynos/exynos_drm_buf.c | 5 +--
drivers/gpu/drm/exynos/exynos_drm_connector.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_core.c | 2 +-
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_dmabuf.c | 5 +--
drivers/gpu/drm/exynos/exynos_drm_drv.c | 5 +--
drivers/gpu/drm/exynos/exynos_drm_drv.h | 1 -
drivers/gpu/drm/exynos/exynos_drm_encoder.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_fb.c | 8 ++--
drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 8 ++--
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 2 +-
drivers/gpu/drm/exynos/exynos_drm_g2d.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_gem.c | 3 +-
drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 2 +-
drivers/gpu/drm/exynos/exynos_drm_plane.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 6 +--
drivers/gpu/drm/exynos/exynos_hdmi.c | 6 +--
drivers/gpu/drm/exynos/exynos_hdmiphy.c | 2 +-
drivers/gpu/drm/exynos/exynos_mixer.c | 2 +-
drivers/gpu/drm/gma500/cdv_device.c | 2 +-
drivers/gpu/drm/gma500/gem.c | 2 +-
drivers/gpu/drm/gma500/intel_bios.c | 2 +-
drivers/gpu/drm/gma500/intel_gmbus.c | 5 +--
drivers/gpu/drm/gma500/mid_bios.c | 2 +-
drivers/gpu/drm/gma500/oaktrail_device.c | 2 +-
drivers/gpu/drm/gma500/psb_device.c | 2 +-
drivers/gpu/drm/gma500/psb_drv.c | 2 +-
drivers/gpu/drm/gma500/psb_drv.h | 4 +-
drivers/gpu/drm/gma500/psb_intel_sdvo.c | 9 ++--
drivers/gpu/drm/i2c/ch7006_priv.h | 8 ++--
drivers/gpu/drm/i2c/sil164_drv.c | 8 ++--
drivers/gpu/drm/i810/i810_dma.c | 5 +--
drivers/gpu/drm/i810/i810_drv.c | 7 ++--
drivers/gpu/drm/i915/dvo.h | 5 +--
drivers/gpu/drm/i915/i915_debugfs.c | 5 +--
drivers/gpu/drm/i915/i915_dma.c | 9 ++--
drivers/gpu/drm/i915/i915_drv.c | 7 ++--
drivers/gpu/drm/i915/i915_gem.c | 5 +--
drivers/gpu/drm/i915/i915_gem_context.c | 4 +-
drivers/gpu/drm/i915/i915_gem_debug.c | 5 +--
drivers/gpu/drm/i915/i915_gem_dmabuf.c | 2 +-
drivers/gpu/drm/i915/i915_gem_evict.c | 5 +--
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 5 +--
drivers/gpu/drm/i915/i915_gem_gtt.c | 5 +--
drivers/gpu/drm/i915/i915_gem_stolen.c | 5 +--
drivers/gpu/drm/i915/i915_gem_tiling.c | 9 ++--
drivers/gpu/drm/i915/i915_ioc32.c | 5 +--
drivers/gpu/drm/i915/i915_irq.c | 5 +--
drivers/gpu/drm/i915/i915_suspend.c | 5 +--
drivers/gpu/drm/i915/intel_acpi.c | 2 +-
drivers/gpu/drm/i915/intel_bios.c | 5 +--
drivers/gpu/drm/i915/intel_bios.h | 2 +-
drivers/gpu/drm/i915/intel_crt.c | 11 +++--
drivers/gpu/drm/i915/intel_display.c | 8 ++--
drivers/gpu/drm/i915/intel_dp.c | 13 +++---
drivers/gpu/drm/i915/intel_drv.h | 8 ++--
drivers/gpu/drm/i915/intel_dvo.c | 7 ++--
drivers/gpu/drm/i915/intel_fb.c | 9 ++--
drivers/gpu/drm/i915/intel_hdmi.c | 9 ++--
drivers/gpu/drm/i915/intel_i2c.c | 5 +--
drivers/gpu/drm/i915/intel_lvds.c | 9 ++--
drivers/gpu/drm/i915/intel_modes.c | 4 +-
drivers/gpu/drm/i915/intel_opregion.c | 4 +-
drivers/gpu/drm/i915/intel_overlay.c | 5 +--
drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +--
drivers/gpu/drm/i915/intel_sdvo.c | 9 ++--
drivers/gpu/drm/i915/intel_sprite.c | 8 ++--
drivers/gpu/drm/i915/intel_tv.c | 9 ++--
drivers/gpu/drm/mga/mga_dma.c | 6 +--
drivers/gpu/drm/mga/mga_drv.c | 7 ++--
drivers/gpu/drm/mga/mga_ioc32.c | 5 +--
drivers/gpu/drm/mga/mga_irq.c | 5 +--
drivers/gpu/drm/mga/mga_state.c | 5 +--
drivers/gpu/drm/mga/mga_warp.c | 5 +--
drivers/gpu/drm/mgag200/mgag200_drv.c | 5 +--
drivers/gpu/drm/mgag200/mgag200_drv.h | 12 +++---
drivers/gpu/drm/mgag200/mgag200_fb.c | 5 +--
drivers/gpu/drm/mgag200/mgag200_i2c.c | 3 +-
drivers/gpu/drm/mgag200/mgag200_main.c | 5 +--
drivers/gpu/drm/mgag200/mgag200_mode.c | 5 +--
drivers/gpu/drm/mgag200/mgag200_ttm.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_abi16.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_acpi.c | 8 ++--
drivers/gpu/drm/nouveau/nouveau_backlight.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_bios.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_bo.c | 6 +--
drivers/gpu/drm/nouveau/nouveau_calc.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_channel.c | 5 +--
drivers/gpu/drm/nouveau/nouveau_connector.c | 6 +--
drivers/gpu/drm/nouveau/nouveau_connector.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_debugfs.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_display.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_dma.c | 3 +-
drivers/gpu/drm/nouveau/nouveau_dp.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_drv.c | 7 ++--
drivers/gpu/drm/nouveau/nouveau_drv.h | 12 +++---
drivers/gpu/drm/nouveau/nouveau_encoder.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_fbcon.c | 11 +++--
drivers/gpu/drm/nouveau/nouveau_fbcon.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_fence.c | 3 +-
drivers/gpu/drm/nouveau/nouveau_gem.c | 5 +--
drivers/gpu/drm/nouveau/nouveau_gpio.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_gpuobj.c | 5 +--
drivers/gpu/drm/nouveau/nouveau_hdmi.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_hw.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_hw.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_i2c.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_i2c.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_ioc32.c | 3 +-
drivers/gpu/drm/nouveau/nouveau_irq.c | 5 +--
drivers/gpu/drm/nouveau/nouveau_mem.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_mm.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_mxm.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_notifier.c | 3 +-
drivers/gpu/drm/nouveau/nouveau_perf.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_pm.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_prime.c | 5 +--
drivers/gpu/drm/nouveau/nouveau_ramht.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_sgdma.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_state.c | 8 ++--
drivers/gpu/drm/nouveau/nouveau_temp.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_vm.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_vm.h | 2 +-
drivers/gpu/drm/nouveau/nouveau_volt.c | 2 +-
drivers/gpu/drm/nouveau/nv04_crtc.c | 4 +-
drivers/gpu/drm/nouveau/nv04_cursor.c | 3 +-
drivers/gpu/drm/nouveau/nv04_dac.c | 4 +-
drivers/gpu/drm/nouveau/nv04_dfp.c | 6 +--
drivers/gpu/drm/nouveau/nv04_display.c | 5 +--
drivers/gpu/drm/nouveau/nv04_fb.c | 5 +--
drivers/gpu/drm/nouveau/nv04_fbcon.c | 2 +-
drivers/gpu/drm/nouveau/nv04_fence.c | 2 +-
drivers/gpu/drm/nouveau/nv04_fifo.c | 3 +-
drivers/gpu/drm/nouveau/nv04_graph.c | 5 +--
drivers/gpu/drm/nouveau/nv04_instmem.c | 3 +-
drivers/gpu/drm/nouveau/nv04_mc.c | 5 +--
drivers/gpu/drm/nouveau/nv04_pm.c | 2 +-
drivers/gpu/drm/nouveau/nv04_software.c | 2 +-
drivers/gpu/drm/nouveau/nv04_timer.c | 5 +--
drivers/gpu/drm/nouveau/nv04_tv.c | 6 +--
drivers/gpu/drm/nouveau/nv10_fb.c | 5 +--
drivers/gpu/drm/nouveau/nv10_fence.c | 2 +-
drivers/gpu/drm/nouveau/nv10_fifo.c | 3 +-
drivers/gpu/drm/nouveau/nv10_gpio.c | 2 +-
drivers/gpu/drm/nouveau/nv10_graph.c | 5 +--
drivers/gpu/drm/nouveau/nv17_fifo.c | 3 +-
drivers/gpu/drm/nouveau/nv17_tv.c | 4 +-
drivers/gpu/drm/nouveau/nv17_tv_modes.c | 4 +-
drivers/gpu/drm/nouveau/nv20_fb.c | 5 +--
drivers/gpu/drm/nouveau/nv20_graph.c | 5 +--
drivers/gpu/drm/nouveau/nv30_fb.c | 5 +--
drivers/gpu/drm/nouveau/nv31_mpeg.c | 2 +-
drivers/gpu/drm/nouveau/nv40_fb.c | 5 +--
drivers/gpu/drm/nouveau/nv40_fifo.c | 3 +-
drivers/gpu/drm/nouveau/nv40_graph.c | 3 +-
drivers/gpu/drm/nouveau/nv40_grctx.c | 2 +-
drivers/gpu/drm/nouveau/nv40_mc.c | 5 +--
drivers/gpu/drm/nouveau/nv40_pm.c | 2 +-
drivers/gpu/drm/nouveau/nv50_calc.c | 2 +-
drivers/gpu/drm/nouveau/nv50_crtc.c | 5 +--
drivers/gpu/drm/nouveau/nv50_cursor.c | 3 +-
drivers/gpu/drm/nouveau/nv50_dac.c | 4 +-
drivers/gpu/drm/nouveau/nv50_display.c | 2 +-
drivers/gpu/drm/nouveau/nv50_display.h | 3 +-
drivers/gpu/drm/nouveau/nv50_evo.c | 2 +-
drivers/gpu/drm/nouveau/nv50_fb.c | 5 +--
drivers/gpu/drm/nouveau/nv50_fbcon.c | 2 +-
drivers/gpu/drm/nouveau/nv50_fifo.c | 3 +-
drivers/gpu/drm/nouveau/nv50_gpio.c | 2 +-
drivers/gpu/drm/nouveau/nv50_graph.c | 3 +-
drivers/gpu/drm/nouveau/nv50_grctx.c | 2 +-
drivers/gpu/drm/nouveau/nv50_instmem.c | 3 +-
drivers/gpu/drm/nouveau/nv50_mc.c | 3 +-
drivers/gpu/drm/nouveau/nv50_mpeg.c | 2 +-
drivers/gpu/drm/nouveau/nv50_pm.c | 2 +-
drivers/gpu/drm/nouveau/nv50_software.c | 2 +-
drivers/gpu/drm/nouveau/nv50_sor.c | 4 +-
drivers/gpu/drm/nouveau/nv50_vm.c | 2 +-
drivers/gpu/drm/nouveau/nv50_vram.c | 2 +-
drivers/gpu/drm/nouveau/nv84_bsp.c | 2 +-
drivers/gpu/drm/nouveau/nv84_crypt.c | 2 +-
drivers/gpu/drm/nouveau/nv84_fence.c | 2 +-
drivers/gpu/drm/nouveau/nv84_fifo.c | 3 +-
drivers/gpu/drm/nouveau/nv84_vp.c | 2 +-
drivers/gpu/drm/nouveau/nv98_crypt.c | 2 +-
drivers/gpu/drm/nouveau/nv98_ppp.c | 2 +-
drivers/gpu/drm/nouveau/nva3_copy.c | 2 +-
drivers/gpu/drm/nouveau/nva3_pm.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_copy.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_fb.c | 5 +--
drivers/gpu/drm/nouveau/nvc0_fbcon.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_fence.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_fifo.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_graph.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_grctx.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_instmem.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_pm.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_software.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_vm.c | 2 +-
drivers/gpu/drm/nouveau/nvc0_vram.c | 2 +-
drivers/gpu/drm/nouveau/nvd0_display.c | 4 +-
drivers/gpu/drm/nouveau/nve0_fifo.c | 2 +-
drivers/gpu/drm/nouveau/nve0_graph.c | 2 +-
drivers/gpu/drm/nouveau/nve0_grctx.c | 2 +-
drivers/gpu/drm/r128/r128_cce.c | 5 +--
drivers/gpu/drm/r128/r128_drv.c | 7 ++--
drivers/gpu/drm/r128/r128_ioc32.c | 5 +--
drivers/gpu/drm/r128/r128_irq.c | 5 +--
drivers/gpu/drm/r128/r128_state.c | 5 +--
drivers/gpu/drm/radeon/atom.h | 2 +-
drivers/gpu/drm/radeon/atombios_dp.c | 6 +--
drivers/gpu/drm/radeon/atombios_encoders.c | 6 +--
drivers/gpu/drm/radeon/atombios_i2c.c | 4 +-
drivers/gpu/drm/radeon/evergreen.c | 4 +-
drivers/gpu/drm/radeon/evergreen_blit_kms.c | 5 +--
drivers/gpu/drm/radeon/evergreen_cs.c | 2 +-
drivers/gpu/drm/radeon/evergreen_hdmi.c | 4 +-
drivers/gpu/drm/radeon/ni.c | 4 +-
drivers/gpu/drm/radeon/r100.c | 5 +--
drivers/gpu/drm/radeon/r200.c | 5 +--
drivers/gpu/drm/radeon/r300.c | 2 +-
drivers/gpu/drm/radeon/r300_cmdbuf.c | 7 ++--
drivers/gpu/drm/radeon/r420.c | 2 +-
drivers/gpu/drm/radeon/r520.c | 2 +-
drivers/gpu/drm/radeon/r600.c | 4 +-
drivers/gpu/drm/radeon/r600_audio.c | 2 +-
drivers/gpu/drm/radeon/r600_blit.c | 5 +--
drivers/gpu/drm/radeon/r600_blit_kms.c | 5 +--
drivers/gpu/drm/radeon/r600_cp.c | 5 +--
drivers/gpu/drm/radeon/r600_cs.c | 2 +-
drivers/gpu/drm/radeon/r600_hdmi.c | 4 +-
drivers/gpu/drm/radeon/radeon_acpi.c | 6 +--
drivers/gpu/drm/radeon/radeon_agp.c | 5 +--
drivers/gpu/drm/radeon/radeon_atombios.c | 4 +-
drivers/gpu/drm/radeon/radeon_bios.c | 2 +-
drivers/gpu/drm/radeon/radeon_clocks.c | 4 +-
drivers/gpu/drm/radeon/radeon_combios.c | 4 +-
drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++---
drivers/gpu/drm/radeon/radeon_cp.c | 6 +--
drivers/gpu/drm/radeon/radeon_cs.c | 4 +-
drivers/gpu/drm/radeon/radeon_cursor.c | 4 +-
drivers/gpu/drm/radeon/radeon_display.c | 8 ++--
drivers/gpu/drm/radeon/radeon_drv.c | 7 ++--
drivers/gpu/drm/radeon/radeon_encoders.c | 6 +--
drivers/gpu/drm/radeon/radeon_fb.c | 11 +++--
drivers/gpu/drm/radeon/radeon_fence.c | 3 +-
drivers/gpu/drm/radeon/radeon_gart.c | 4 +-
drivers/gpu/drm/radeon/radeon_gem.c | 5 +--
drivers/gpu/drm/radeon/radeon_i2c.c | 6 +--
drivers/gpu/drm/radeon/radeon_ioc32.c | 5 +--
drivers/gpu/drm/radeon/radeon_irq.c | 5 +--
drivers/gpu/drm/radeon/radeon_irq_kms.c | 6 +--
drivers/gpu/drm/radeon/radeon_kms.c | 5 +--
drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 6 +--
drivers/gpu/drm/radeon/radeon_legacy_tv.c | 4 +-
drivers/gpu/drm/radeon/radeon_mem.c | 5 +--
drivers/gpu/drm/radeon/radeon_mode.h | 11 +++--
drivers/gpu/drm/radeon/radeon_object.c | 2 +-
drivers/gpu/drm/radeon/radeon_pm.c | 2 +-
drivers/gpu/drm/radeon/radeon_prime.c | 5 +--
drivers/gpu/drm/radeon/radeon_ring.c | 4 +-
drivers/gpu/drm/radeon/radeon_sa.c | 3 +-
drivers/gpu/drm/radeon/radeon_semaphore.c | 3 +-
drivers/gpu/drm/radeon/radeon_state.c | 8 ++--
drivers/gpu/drm/radeon/radeon_trace_points.c | 2 +-
drivers/gpu/drm/radeon/rs600.c | 2 +-
drivers/gpu/drm/radeon/rs690.c | 2 +-
drivers/gpu/drm/radeon/rv515.c | 2 +-
drivers/gpu/drm/radeon/rv770.c | 4 +-
drivers/gpu/drm/radeon/si.c | 4 +-
drivers/gpu/drm/savage/savage_bci.c | 4 +-
drivers/gpu/drm/savage/savage_drv.c | 6 +--
drivers/gpu/drm/savage/savage_state.c | 4 +-
drivers/gpu/drm/sis/sis_drv.c | 6 +--
drivers/gpu/drm/sis/sis_drv.h | 2 +-
drivers/gpu/drm/sis/sis_mm.c | 4 +-
drivers/gpu/drm/tdfx/tdfx_drv.c | 4 +-
drivers/gpu/drm/ttm/ttm_agp_backend.c | 8 ++--
drivers/gpu/drm/ttm/ttm_bo.c | 6 +--
drivers/gpu/drm/ttm/ttm_bo_manager.c | 8 ++--
drivers/gpu/drm/ttm/ttm_bo_util.c | 4 +-
drivers/gpu/drm/ttm/ttm_execbuf_util.c | 6 +--
drivers/gpu/drm/ttm/ttm_lock.c | 4 +-
drivers/gpu/drm/ttm/ttm_memory.c | 6 +--
drivers/gpu/drm/ttm/ttm_module.c | 4 +-
drivers/gpu/drm/ttm/ttm_object.c | 4 +-
drivers/gpu/drm/ttm/ttm_page_alloc.c | 4 +-
drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 4 +-
drivers/gpu/drm/ttm/ttm_tt.c | 12 +++---
drivers/gpu/drm/udl/udl_connector.c | 8 ++--
drivers/gpu/drm/udl/udl_drv.c | 4 +-
drivers/gpu/drm/udl/udl_encoder.c | 6 +--
drivers/gpu/drm/udl/udl_fb.c | 9 ++--
drivers/gpu/drm/udl/udl_gem.c | 2 +-
drivers/gpu/drm/udl/udl_main.c | 2 +-
drivers/gpu/drm/udl/udl_modeset.c | 6 +--
drivers/gpu/drm/udl/udl_transfer.c | 2 +-
drivers/gpu/drm/via/via_dma.c | 5 +--
drivers/gpu/drm/via/via_dmablit.c | 4 +-
drivers/gpu/drm/via/via_drv.c | 6 +--
drivers/gpu/drm/via/via_drv.h | 2 +-
drivers/gpu/drm/via/via_irq.c | 5 +--
drivers/gpu/drm/via/via_map.c | 4 +-
drivers/gpu/drm/via/via_mm.c | 4 +-
drivers/gpu/drm/via/via_verifier.c | 5 +--
drivers/gpu/drm/via/via_video.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | 6 +--
drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 10 ++---
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 18 ++++----
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 6 +--
drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 8 ++--
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c | 2 +-
include/acpi/acpi.h | 18 ++++----
include/acpi/acpiosxf.h | 4 +-
include/acpi/acpixf.h | 6 +--
include/acpi/platform/acenv.h | 2 +-
include/acpi/platform/aclinux.h | 2 +-
include/asm-generic/Kbuild.asm | 46 +--------------------
include/drm/drm.h | 2 +-
include/drm/drmP.h | 17 ++++----
include/drm/drm_buffer.h | 2 +-
include/drm/drm_crtc.h | 1 +
include/drm/drm_encoder_slave.h | 4 +-
include/drm/drm_memory.h | 2 +-
include/drm/drm_sarea.h | 2 +-
include/drm/exynos_drm.h | 2 +-
include/drm/i915_drm.h | 2 +-
include/drm/mga_drm.h | 2 +-
include/drm/radeon_drm.h | 2 +-
include/drm/ttm/ttm_bo_api.h | 2 +-
include/drm/ttm/ttm_bo_driver.h | 16 ++++----
include/drm/ttm/ttm_execbuf_util.h | 2 +-
include/drm/ttm/ttm_lock.h | 2 +-
include/drm/ttm/ttm_object.h | 2 +-
include/drm/ttm/ttm_page_alloc.h | 4 +-
include/drm/via_drm.h | 2 +-
include/linux/Kbuild | 2 -
include/linux/bcma/bcma.h | 2 +-
include/linux/ceph/ceph_fs.h | 4 +-
include/linux/ceph/debugfs.h | 4 +-
include/linux/ceph/decode.h | 2 +-
include/linux/ceph/libceph.h | 14 +++----
include/linux/ceph/mdsmap.h | 2 +-
include/linux/ceph/messenger.h | 4 +-
include/linux/ceph/mon_client.h | 2 +-
include/linux/ceph/msgpool.h | 2 +-
include/linux/ceph/osdmap.h | 4 +-
include/linux/ceph/rados.h | 2 +-
include/linux/ceph/types.h | 6 +--
include/linux/crush/mapper.h | 2 +-
include/linux/drbd_tag_magic.h | 8 ++--
include/linux/libfdt.h | 4 +-
include/linux/netfilter/nf_conntrack_h323_asn1.h | 2 +-
include/linux/pinctrl/consumer.h | 2 +-
include/linux/pinctrl/machine.h | 2 +-
include/linux/pinctrl/pinctrl.h | 2 +-
include/linux/pinctrl/pinmux.h | 2 +-
include/scsi/osd_attributes.h | 2 +-
include/scsi/osd_initiator.h | 4 +-
include/scsi/osd_sec.h | 4 +-
include/sound/ac97_codec.h | 6 +--
include/sound/ad1816a.h | 6 +--
include/sound/ak4531_codec.h | 4 +-
include/sound/emu10k1_synth.h | 4 +-
include/sound/emu8000.h | 4 +-
include/sound/emux_legacy.h | 2 +-
include/sound/emux_synth.h | 14 +++----
include/sound/es1688.h | 4 +-
include/sound/gus.h | 10 ++---
include/sound/mpu401.h | 2 +-
include/sound/pcm.h | 2 +-
include/sound/rawmidi.h | 2 +-
include/sound/sb.h | 4 +-
include/sound/sb16_csp.h | 4 +-
include/sound/seq_kernel.h | 2 +-
include/sound/seq_midi_emul.h | 2 +-
include/sound/seq_midi_event.h | 2 +-
include/sound/seq_oss.h | 4 +-
include/sound/seq_virmidi.h | 4 +-
include/sound/snd_wavefront.h | 8 ++--
include/sound/soundfont.h | 4 +-
include/sound/tea6330t.h | 2 +-
include/sound/wss.h | 8 ++--
include/trace/events/compaction.h | 2 +-
include/trace/events/kmem.h | 2 +-
include/trace/events/vmscan.h | 2 +-
include/uapi/Kbuild | 14 +++++++
include/uapi/asm-generic/Kbuild | 1 +
include/uapi/asm-generic/Kbuild.asm | 49 ++++++++++++++++++++++
include/uapi/drm/Kbuild | 1 +
include/uapi/linux/Kbuild | 24 +++++++++++
include/uapi/linux/byteorder/Kbuild | 1 +
include/uapi/linux/caif/Kbuild | 1 +
include/uapi/linux/can/Kbuild | 1 +
include/uapi/linux/dvb/Kbuild | 1 +
include/uapi/linux/hdlc/Kbuild | 1 +
include/uapi/linux/hsi/Kbuild | 1 +
include/uapi/linux/isdn/Kbuild | 1 +
include/uapi/linux/mmc/Kbuild | 1 +
include/uapi/linux/netfilter/Kbuild | 2 +
include/uapi/linux/netfilter/ipset/Kbuild | 1 +
include/uapi/linux/netfilter_arp/Kbuild | 1 +
include/uapi/linux/netfilter_bridge/Kbuild | 1 +
include/uapi/linux/netfilter_ipv4/Kbuild | 1 +
include/uapi/linux/netfilter_ipv6/Kbuild | 1 +
include/uapi/linux/nfsd/Kbuild | 1 +
include/uapi/linux/raid/Kbuild | 1 +
include/uapi/linux/spi/Kbuild | 1 +
include/uapi/linux/sunrpc/Kbuild | 1 +
include/uapi/linux/tc_act/Kbuild | 1 +
include/uapi/linux/tc_ematch/Kbuild | 1 +
include/uapi/linux/usb/Kbuild | 1 +
include/uapi/linux/wimax/Kbuild | 1 +
include/uapi/mtd/Kbuild | 1 +
include/uapi/rdma/Kbuild | 1 +
include/uapi/scsi/Kbuild | 2 +
include/uapi/scsi/fc/Kbuild | 1 +
include/uapi/sound/Kbuild | 1 +
include/uapi/video/Kbuild | 1 +
include/uapi/xen/Kbuild | 1 +
include/xen/interface/callback.h | 2 +-
include/xen/interface/hvm/params.h | 2 +-
include/xen/interface/io/blkif.h | 4 +-
include/xen/interface/io/netif.h | 4 +-
include/xen/interface/platform.h | 2 +-
include/xen/interface/sched.h | 2 +-
include/xen/interface/version.h | 2 +-
scripts/Makefile.headersinst | 52 +++++++++++++++---------
scripts/headers_install.pl | 14 ++++---
634 files changed, 1399 insertions(+), 1327 deletions(-)
create mode 100644 arch/alpha/include/uapi/asm/Kbuild
create mode 100644 arch/arm/include/uapi/asm/Kbuild
create mode 100644 arch/arm64/include/uapi/asm/Kbuild
create mode 100644 arch/avr32/include/uapi/asm/Kbuild
create mode 100644 arch/blackfin/include/uapi/asm/Kbuild
create mode 100644 arch/c6x/include/uapi/asm/Kbuild
create mode 100644 arch/cris/include/uapi/arch-v10/arch/Kbuild
create mode 100644 arch/cris/include/uapi/arch-v32/arch/Kbuild
create mode 100644 arch/cris/include/uapi/asm/Kbuild
create mode 100644 arch/frv/include/uapi/asm/Kbuild
create mode 100644 arch/h8300/include/uapi/asm/Kbuild
create mode 100644 arch/hexagon/include/uapi/asm/Kbuild
create mode 100644 arch/ia64/include/uapi/asm/Kbuild
create mode 100644 arch/m32r/include/uapi/asm/Kbuild
create mode 100644 arch/m68k/include/uapi/asm/Kbuild
create mode 100644 arch/microblaze/include/uapi/asm/Kbuild
create mode 100644 arch/mips/include/uapi/asm/Kbuild
create mode 100644 arch/mn10300/include/uapi/asm/Kbuild
create mode 100644 arch/openrisc/include/uapi/asm/Kbuild
create mode 100644 arch/parisc/include/uapi/asm/Kbuild
create mode 100644 arch/powerpc/include/uapi/asm/Kbuild
create mode 100644 arch/s390/include/uapi/asm/Kbuild
create mode 100644 arch/score/include/uapi/asm/Kbuild
create mode 100644 arch/sh/include/uapi/asm/Kbuild
create mode 100644 arch/sparc/include/uapi/asm/Kbuild
create mode 100644 arch/tile/include/uapi/arch/Kbuild
create mode 100644 arch/tile/include/uapi/asm/Kbuild
create mode 100644 arch/unicore32/include/uapi/asm/Kbuild
create mode 100644 arch/x86/include/uapi/asm/Kbuild
create mode 100644 arch/xtensa/include/uapi/asm/Kbuild
create mode 100644 include/uapi/Kbuild
create mode 100644 include/uapi/asm-generic/Kbuild
create mode 100644 include/uapi/asm-generic/Kbuild.asm
create mode 100644 include/uapi/drm/Kbuild
create mode 100644 include/uapi/linux/Kbuild
create mode 100644 include/uapi/linux/byteorder/Kbuild
create mode 100644 include/uapi/linux/caif/Kbuild
create mode 100644 include/uapi/linux/can/Kbuild
create mode 100644 include/uapi/linux/dvb/Kbuild
create mode 100644 include/uapi/linux/hdlc/Kbuild
create mode 100644 include/uapi/linux/hsi/Kbuild
create mode 100644 include/uapi/linux/isdn/Kbuild
create mode 100644 include/uapi/linux/mmc/Kbuild
create mode 100644 include/uapi/linux/netfilter/Kbuild
create mode 100644 include/uapi/linux/netfilter/ipset/Kbuild
create mode 100644 include/uapi/linux/netfilter_arp/Kbuild
create mode 100644 include/uapi/linux/netfilter_bridge/Kbuild
create mode 100644 include/uapi/linux/netfilter_ipv4/Kbuild
create mode 100644 include/uapi/linux/netfilter_ipv6/Kbuild
create mode 100644 include/uapi/linux/nfsd/Kbuild
create mode 100644 include/uapi/linux/raid/Kbuild
create mode 100644 include/uapi/linux/spi/Kbuild
create mode 100644 include/uapi/linux/sunrpc/Kbuild
create mode 100644 include/uapi/linux/tc_act/Kbuild
create mode 100644 include/uapi/linux/tc_ematch/Kbuild
create mode 100644 include/uapi/linux/usb/Kbuild
create mode 100644 include/uapi/linux/wimax/Kbuild
create mode 100644 include/uapi/mtd/Kbuild
create mode 100644 include/uapi/rdma/Kbuild
create mode 100644 include/uapi/scsi/Kbuild
create mode 100644 include/uapi/scsi/fc/Kbuild
create mode 100644 include/uapi/sound/Kbuild
create mode 100644 include/uapi/video/Kbuild
create mode 100644 include/uapi/xen/Kbuild
On Tue, Oct 2, 2012 at 8:36 PM, David Howells <[email protected]> wrote:
> include/linux/libfdt.h | 4 +-
So what happened here?
-#include "../../scripts/dtc/libfdt/fdt.h"
-#include "../../scripts/dtc/libfdt/libfdt.h"
+#include <>
+#include <>
Woops...
http://kisskb.ellerman.id.au/kisskb/buildresult/7312681/
include/linux/libfdt.h:5:10: error: empty filename in #include
include/linux/libfdt.h:6:10: error: empty filename in #include
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Geert Uytterhoeven <[email protected]> wrote:
> > include/linux/libfdt.h | 4 +-
>
> So what happened here?
>
> -#include "../../scripts/dtc/libfdt/fdt.h"
> -#include "../../scripts/dtc/libfdt/libfdt.h"
> +#include <>
> +#include <>
I didn't expect 'system' header files to be outside of include/ or
arch/*/include/, so the bit of perl I had to turn this into <...> quietly
malfunctioned when it stripped too much off of the front.
Out of interest, why aren't these in include/? The normal way seems to be to
point the tool build at the kernel headers, not the kernel build at the script
headers.
David
On 2 October 2012 19:36, David Howells <[email protected]> wrote:
> The patches herein prepare for the extraction of the Userspace API bits from
> the various header files named in the Kbuild files.
>
> [IMPORTANT NOTE! These patches may need regenerating if the header files
> change too much. This doesn't normally take very long to do as the
> disintegration procedure is almost entirely scripted.]
Hi David,
Any chance you (or somebody else) can point me towards your latest
scripts for all this UAPI disintegration work? They don't seem to be
in the kernel tree, and the only scripts I can find are from 2011 so I
guess they're probably a bit out of date.
Thanks in advance
--
James Hogan
On 17 October 2012 09:42, James Hogan <[email protected]> wrote:
> On 2 October 2012 19:36, David Howells <[email protected]> wrote:
>> The patches herein prepare for the extraction of the Userspace API bits from
>> the various header files named in the Kbuild files.
>>
>> [IMPORTANT NOTE! These patches may need regenerating if the header files
>> change too much. This doesn't normally take very long to do as the
>> disintegration procedure is almost entirely scripted.]
>
> Hi David,
>
> Any chance you (or somebody else) can point me towards your latest
> scripts for all this UAPI disintegration work? They don't seem to be
> in the kernel tree, and the only scripts I can find are from 2011 so I
> guess they're probably a bit out of date.
Ping... Please can you point me to the scripts you've been using David?
Thanks
James Hogan
On Monday 22 October 2012 05:20 PM, James Hogan wrote:
> On 17 October 2012 09:42, James Hogan <[email protected]> wrote:
>> On 2 October 2012 19:36, David Howells <[email protected]> wrote:
>>> The patches herein prepare for the extraction of the Userspace API bits from
>>> the various header files named in the Kbuild files.
>>>
>>> [IMPORTANT NOTE! These patches may need regenerating if the header files
>>> change too much. This doesn't normally take very long to do as the
>>> disintegration procedure is almost entirely scripted.]
>>
>> Hi David,
>>
>> Any chance you (or somebody else) can point me towards your latest
>> scripts for all this UAPI disintegration work? They don't seem to be
>> in the kernel tree, and the only scripts I can find are from 2011 so I
>> guess they're probably a bit out of date.
>
> Ping... Please can you point me to the scripts you've been using David?
>
> Thanks
> James Hogan
>
Hi David,
I'm planning to submit ARC Linux kernel port (from Synopsys) for review
on lkml and arch mailing lists. I already have a a 3.7-rc3 based kernel
(modulo the arch UAPI split). What would be the best way to get the UAPI
split done.
Can you point me to the latest scripts and the best way to use them (so
we have consistent automated split of headers). Otherwise if you like,
you could take a stab at it yourself via my tree at
git://github.com/organizations/foss-for-synopsys-dwc-arc-processors/linux.git
arc-3.7-rc3-newport
TIA,
-Vineet
Vineet Gupta <[email protected]> wrote:
> I'm planning to submit ARC Linux kernel port (from Synopsys) for review
> on lkml and arch mailing lists. I already have a a 3.7-rc3 based kernel
> (modulo the arch UAPI split). What would be the best way to get the UAPI
> split done.
Do you want the headers to be split in the patches that add them, or would you
be happy with one patch stacked on the end to do the whole lot? The last is
easiest for me to do.
However, I could 'uncommit' your patches using stgit, do the headers
individually and recommit them if you'd prefer.
David
Vineet Gupta <[email protected]> wrote:
> git://github.com/organizations/foss-for-synopsys-dwc-arc-processors/linux.git
That seems to be wrong. I think you mean:
git://github.com/foss-for-synopsys-dwc-arc-processors/linux.git
David
Vineet Gupta <[email protected]> wrote:
> I'm planning to submit ARC Linux kernel port (from Synopsys) for review
> on lkml and arch mailing lists. I already have a a 3.7-rc3 based kernel
> (modulo the arch UAPI split). What would be the best way to get the UAPI
> split done.
>
> Can you point me to the latest scripts and the best way to use them (so
> we have consistent automated split of headers). Otherwise if you like,
> you could take a stab at it yourself via my tree at
>
> git://github.com/organizations/foss-for-synopsys-dwc-arc-processors/linux.git
> arc-3.7-rc3-newport
If you look at:
http://git.infradead.org/users/dhowells/linux-headers.git/shortlog/refs/tags/disintegrate-arc-20121108
You'll find a branch with a patch that does the UAPI disintegration for you as
one piece. I've merged your branch onto Linus's latest before doing the
disintegration. If you'd prefer it directly on your branch, that should be
possible too.
David
> Vineet Gupta <[email protected]> wrote:
>> I'm planning to submit ARC Linux kernel port (from Synopsys) for review
>> on lkml and arch mailing lists. I already have a a 3.7-rc3 based kernel
>> (modulo the arch UAPI split). What would be the best way to get the UAPI
>> split done.
>>
>> Can you point me to the latest scripts and the best way to use them (so
>> we have consistent automated split of headers). Otherwise if you like,
>> you could take a stab at it yourself via my tree at
>>
>> git://github.com/organizations/foss-for-synopsys-dwc-arc-processors/linux.git
>> arc-3.7-rc3-newport
> If you look at:
>
> http://git.infradead.org/users/dhowells/linux-headers.git/shortlog/refs/tags/disintegrate-arc-20121108
>
> You'll find a branch with a patch that does the UAPI disintegration for you as
> one piece. I've merged your branch onto Linus's latest before doing the
> disintegration. If you'd prefer it directly on your branch, that should be
> possible too.
Hi David,
Many thanks for doing this. Looking at the disintegrated headers, I have some observations,
very likely due to shortcomings in my code, which need some clarifying.
While I'd done some of the prep work in my code such as splitting
__KERNEL__ && __ASSEMBLY__ into two separate lines, majority of orig headers
didn't have #ifdef __KERNEL__ guard despite the code not being meant for
user-space ABI. Is that fundamental to UAPI split scripting because it seems to be
causing setup.h to be in uapi despite seemingly being kernel internal only.
OTOH the missing guards seem to be benign for several other headers (e.g. bug.h)
Also there's an empty UAPI header generated (tlb.h) - again very likely due to the
missing guard.
Per you email from last week, When I ran the disintergrate-one.pl script myself I saw a
whole bunch of empty UAPI files being generated with references in orig header.
I'm not sure what I'm doing wrong.
For any ABI changes to headers per review of the new port on list (e.g. don't export pt_regs)
would mean moving the code manually from uapi to orig header - right. And if the file becomes
empty just nuke it completely.
How do you reckon we go about fixing these. I don't want to bother you multiple times
hence it would be best if I could reproduce this at my end.
thanks again for you help and time
-Vineet
Vineet Gupta <[email protected]> wrote:
> While I'd done some of the prep work in my code such as splitting __KERNEL__
> && __ASSEMBLY__ into two separate lines, majority of orig headers didn't
> have #ifdef __KERNEL__ guard despite the code not being meant for user-space
> ABI. Is that fundamental to UAPI split scripting
Yes. My scripts work purely along __KERNEL__ lines. If there are no
__KERNEL__ markers and the header is marked for export, it is simply moved.
> because it seems to be causing setup.h to be in uapi despite seemingly being
> kernel internal only.
Check also include/uapi/asm-generic/Kbuild.asm. That exports setup.h, whether
you think it should be exported or not.
Vineet Gupta <[email protected]> wrote:
> Per you email from last week, When I ran the disintergrate-one.pl script
> myself I saw a whole bunch of empty UAPI files being generated with
> references in orig header. I'm not sure what I'm doing wrong.
Can you give an example of such a header?
> For any ABI changes to headers per review of the new port on list
> (e.g. don't export pt_regs) would mean moving the code manually from uapi to
> orig header - right. And if the file becomes empty just nuke it completely.
You can't necessarily remove a UAPI header completely. Userspace may depend
on its existence, even if it gets no content from there.
> How do you reckon we go about fixing these. I don't want to bother you
> multiple times hence it would be best if I could reproduce this at my end.
The best advice I can give you without more specific examples is to compare
what's in your arch's headers to those of, say, hexagon or arm64. Those are
recent additions and should be pretty clean as to what they contain.
David
On Friday 09 November 2012 04:49 AM, David Howells wrote:
> Vineet Gupta <[email protected]> wrote:
>
>> While I'd done some of the prep work in my code such as splitting __KERNEL__
>> && __ASSEMBLY__ into two separate lines, majority of orig headers didn't
>> have #ifdef __KERNEL__ guard despite the code not being meant for user-space
>> ABI. Is that fundamental to UAPI split scripting
> Yes. My scripts work purely along __KERNEL__ lines. If there are no
> __KERNEL__ markers and the header is marked for export, it is simply moved.
Understood.
>
>> because it seems to be causing setup.h to be in uapi despite seemingly being
>> kernel internal only.
> Check also include/uapi/asm-generic/Kbuild.asm. That exports setup.h, whether
> you think it should be exported or not.
Correct. And if there's nothing to export in there the script will not
generate the empty uapi sibling.
>> Per you email from last week, When I ran the disintergrate-one.pl script
>> myself I saw a whole bunch of empty UAPI files being generated with
>> references in orig header. I'm not sure what I'm doing wrong.
> Can you give an example of such a header?
tlb.h - despite having __KERNEL__ guard in orig file. Here's how I did it.
1. In my orig tree, I created arch/arc/include/uapi/asm/Kbuild, with
following 2 lines
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm
2. ./disintegrate-one.pl arch/arc/include/asm/tlb.h
arch/arc/include/uapi/asm/tlb.h
This generates a empty uapi/asm/tlb.h, a reference to it in asm/tlb.h
and is also exported from Kbuild.asm - all 3 of which are wrong.
But now that I think about it - I was wrong to call this script for
all/any arch headers. It should be done only for the ones in
include/uapi/asm-generic/Kbuild.asm or any specific ones that arch wants
to export (cachectl.h for our case).
>
>> For any ABI changes to headers per review of the new port on list
>> (e.g. don't export pt_regs) would mean moving the code manually from uapi to
>> orig header - right. And if the file becomes empty just nuke it completely.
> You can't necessarily remove a UAPI header completely. Userspace may depend
> on its existence, even if it gets no content from there.
>
>> How do you reckon we go about fixing these. I don't want to bother you
>> multiple times hence it would be best if I could reproduce this at my end.
> The best advice I can give you without more specific examples is to compare
> what's in your arch's headers to those of, say, hexagon or arm64. Those are
> recent additions and should be pretty clean as to what they contain.
>
> David
Vineet Gupta <[email protected]> wrote:
> >> Per you email from last week, When I ran the disintergrate-one.pl script
> >> myself I saw a whole bunch of empty UAPI files being generated with
> >> references in orig header. I'm not sure what I'm doing wrong.
> > Can you give an example of such a header?
>
> tlb.h - despite having __KERNEL__ guard in orig file. Here's how I did it.
>
> 1. In my orig tree, I created arch/arc/include/uapi/asm/Kbuild, with
> following 2 lines
>
> # UAPI Header export list
> include include/uapi/asm-generic/Kbuild.asm
>
> 2. ./disintegrate-one.pl arch/arc/include/asm/tlb.h
> arch/arc/include/uapi/asm/tlb.h
>
> This generates a empty uapi/asm/tlb.h, a reference to it in asm/tlb.h
> and is also exported from Kbuild.asm - all 3 of which are wrong.
Actually, this is the correct operation - it's just that there's nothing in
tlb.h to export. (Note that Kbuild.asm is not modified, but rather
uapi/asm/Kbuild. asm/Kbuild would too, but there's no export line there to be
removed.)
However... tlb.h isn't exported in Kbuild.asm - nor is it exported in arc's
asm/Kbuild, so the script shouldn't be run on that.
> But now that I think about it - I was wrong to call this script for
> all/any arch headers. It should be done only for the ones in
> include/uapi/asm-generic/Kbuild.asm or any specific ones that arch wants
> to export (cachectl.h for our case).
Exactly so. I should probably have mentioned that, but I've had it automated
for so long, that I don't think about it any more. You should only call it
for arch headers
I've attached a script that I use to work out which files need disintegration
in a directory. Run as:
genfilelist.pl arch/arc/include/asm/
I get:
byteorder.h
cachectl.h
page.h
ptrace.h
setup.h
sigcontext.h
signal.h
swab.h
unistd.h
as being all that you need to disintegrate. Almost everything seems to be
generic.
David
Hi David,
The disintegration scripts strip out the #ifdef __KERNEL__ from the
headers in both uapi/ and the old directories. However there are still a
bunch of unexported headers through the tree which have #ifdef
__KERNEL__ in them, usually guarding the entire file (just grep
__KERNEL__ in arch/).
Is this something that you're already planning to eliminate? We have a
few in the metag tree too, and now that uapi/ is nicely separated I'm
not sure if it's worth removing the __KERNEL__ guards or keeping them to
match other architectures.
Thanks
James
James Hogan <[email protected]> wrote:
> The disintegration scripts strip out the #ifdef __KERNEL__ from the
> headers in both uapi/ and the old directories. However there are still a
> bunch of unexported headers through the tree which have #ifdef
> __KERNEL__ in them, usually guarding the entire file (just grep
> __KERNEL__ in arch/).
>
> Is this something that you're already planning to eliminate? We have a
> few in the metag tree too, and now that uapi/ is nicely separated I'm
> not sure if it's worth removing the __KERNEL__ guards or keeping them to
> match other architectures.
I would like to remove the __KERNEL__ guards from KAPI files - they should not
be necessary there.
In the UAPI files, it will, unfortunately, be necessary to keep some of the
__KERNEL__ guards that remain.
David