Merge tag 'disintegrate-alpha-20121217' of git://git.infradead.org/users/dhowells...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2012 18:10:36 +0000 (10:10 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2012 18:10:36 +0000 (10:10 -0800)
Pull UAPI disintegration for Alpha from David Howells:
 "I've been asked to send the Alpha UAPI disintegration to you directly.
  The acks I have been given have been added into the patch."

* tag 'disintegrate-alpha-20121217' of git://git.infradead.org/users/dhowells/linux-headers:
  UAPI: (Scripted) Disintegrate arch/alpha/include/asm

909 files changed:
.gitignore
Documentation/00-INDEX
Documentation/ABI/README
Documentation/DMA-attributes.txt
Documentation/DocBook/drm.tmpl
Documentation/DocBook/kernel-api.tmpl
Documentation/aoe/aoe.txt
Documentation/backlight/lp855x-driver.txt
Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt [new file with mode: 0644]
Documentation/devicetree/bindings/powerpc/fsl/raideng.txt [new file with mode: 0644]
Documentation/devicetree/bindings/rtc/imxdi-rtc.txt [new file with mode: 0644]
Documentation/devicetree/bindings/rtc/rtc-omap.txt [new file with mode: 0644]
Documentation/filesystems/proc.txt
Documentation/filesystems/vfat.txt
Documentation/kernel-parameters.txt
Documentation/kref.txt
Documentation/powerpc/ptrace.txt
Documentation/security/00-INDEX
Documentation/sparse.txt
MAINTAINERS
arch/Kconfig
arch/arm/mach-davinci/devices-da8xx.c
arch/arm/mach-mxs/mach-mxs.c
arch/arm/mm/dma-mapping.c
arch/arm64/include/asm/unistd.h
arch/arm64/kernel/sys_compat.c
arch/frv/kernel/setup.c
arch/frv/mm/init.c
arch/openrisc/include/asm/Kbuild
arch/openrisc/include/uapi/asm/kvm_para.h [deleted file]
arch/openrisc/kernel/asm-offsets.c
arch/powerpc/Makefile
arch/powerpc/boot/dts/a3m071.dts [new file with mode: 0644]
arch/powerpc/boot/dts/fsl/p5020si-post.dtsi
arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi
arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi [new file with mode: 0644]
arch/powerpc/configs/pseries_defconfig
arch/powerpc/include/asm/bitops.h
arch/powerpc/include/asm/cputable.h
arch/powerpc/include/asm/dbell.h
arch/powerpc/include/asm/exception-64s.h
arch/powerpc/include/asm/firmware.h
arch/powerpc/include/asm/fsl_gtm.h
arch/powerpc/include/asm/fsl_guts.h
arch/powerpc/include/asm/hvcall.h
arch/powerpc/include/asm/immap_qe.h
arch/powerpc/include/asm/machdep.h
arch/powerpc/include/asm/mmu.h
arch/powerpc/include/asm/pSeries_reconfig.h [deleted file]
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/prom.h
arch/powerpc/include/asm/qe.h
arch/powerpc/include/asm/qe_ic.h
arch/powerpc/include/asm/reg.h
arch/powerpc/include/asm/rtas.h
arch/powerpc/include/asm/setup.h [new file with mode: 0644]
arch/powerpc/include/asm/systbl.h
arch/powerpc/include/asm/ucc.h
arch/powerpc/include/asm/ucc_fast.h
arch/powerpc/include/asm/ucc_slow.h
arch/powerpc/include/asm/udbg.h
arch/powerpc/include/asm/unistd.h
arch/powerpc/include/uapi/asm/setup.h
arch/powerpc/kernel/Makefile
arch/powerpc/kernel/cpu_setup_power.S [new file with mode: 0644]
arch/powerpc/kernel/cpu_setup_power7.S [deleted file]
arch/powerpc/kernel/cputable.c
arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/idle.c
arch/powerpc/kernel/iommu.c
arch/powerpc/kernel/machine_kexec.c
arch/powerpc/kernel/machine_kexec_64.c
arch/powerpc/kernel/pci_32.c
arch/powerpc/kernel/prom.c
arch/powerpc/kernel/prom_init.c
arch/powerpc/kernel/ptrace.c
arch/powerpc/kernel/rtas.c
arch/powerpc/kernel/rtas_flash.c
arch/powerpc/kernel/setup_64.c
arch/powerpc/kernel/sys_ppc32.c
arch/powerpc/kernel/udbg.c
arch/powerpc/mm/numa.c
arch/powerpc/mm/tlb_nohash_low.S
arch/powerpc/perf/power7-pmu.c
arch/powerpc/platforms/512x/Kconfig
arch/powerpc/platforms/512x/mpc5121_ads.c
arch/powerpc/platforms/512x/mpc512x.h
arch/powerpc/platforms/512x/mpc512x_shared.c
arch/powerpc/platforms/52xx/lite5200.c
arch/powerpc/platforms/52xx/mpc5200_simple.c
arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
arch/powerpc/platforms/83xx/mpc832x_mds.c
arch/powerpc/platforms/83xx/mpc836x_mds.c
arch/powerpc/platforms/83xx/mpc836x_rdk.c
arch/powerpc/platforms/83xx/mpc837x_rdb.c
arch/powerpc/platforms/85xx/mpc85xx_mds.c
arch/powerpc/platforms/85xx/p1022_ds.c
arch/powerpc/platforms/85xx/smp.c
arch/powerpc/platforms/86xx/mpc8610_hpcd.c
arch/powerpc/platforms/cell/spufs/sched.c
arch/powerpc/platforms/powermac/cpufreq_32.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/platforms/ps3/os-area.c
arch/powerpc/platforms/pseries/dlpar.c
arch/powerpc/platforms/pseries/firmware.c
arch/powerpc/platforms/pseries/hotplug-cpu.c
arch/powerpc/platforms/pseries/hotplug-memory.c
arch/powerpc/platforms/pseries/iommu.c
arch/powerpc/platforms/pseries/mobility.c
arch/powerpc/platforms/pseries/plpar_wrappers.h
arch/powerpc/platforms/pseries/reconfig.c
arch/powerpc/platforms/pseries/setup.c
arch/powerpc/platforms/pseries/smp.c
arch/powerpc/sysdev/fsl_gtm.c
arch/powerpc/sysdev/fsl_pci.c
arch/powerpc/sysdev/pmi.c
arch/powerpc/sysdev/qe_lib/qe.c
arch/powerpc/sysdev/qe_lib/qe_ic.c
arch/powerpc/sysdev/qe_lib/qe_ic.h
arch/powerpc/sysdev/qe_lib/qe_io.c
arch/powerpc/sysdev/qe_lib/ucc.c
arch/powerpc/sysdev/qe_lib/ucc_fast.c
arch/powerpc/sysdev/qe_lib/ucc_slow.c
arch/powerpc/sysdev/qe_lib/usb.c
arch/powerpc/xmon/Makefile
arch/powerpc/xmon/nonstdio.c
arch/powerpc/xmon/nonstdio.h
arch/powerpc/xmon/start.c [deleted file]
arch/powerpc/xmon/xmon.c
arch/s390/include/asm/ccwdev.h
arch/s390/include/asm/pci.h
arch/s390/include/asm/pci_debug.h [new file with mode: 0644]
arch/s390/pci/Makefile
arch/s390/pci/pci.c
arch/s390/pci/pci_clp.c
arch/s390/pci/pci_debug.c [new file with mode: 0644]
arch/s390/pci/pci_dma.c
arch/s390/pci/pci_event.c
arch/sparc/include/asm/unistd.h
arch/sparc/kernel/sys_sparc32.c
arch/tile/include/asm/compat.h
arch/tile/include/asm/unistd.h
arch/tile/kernel/compat.c
arch/um/drivers/mconsole_kern.c
arch/x86/Makefile
arch/x86/include/asm/paravirt.h
arch/x86/include/uapi/asm/hw_breakpoint.h
arch/x86/include/uapi/asm/setup.h
block/Kconfig
block/blk-cgroup.c
block/blk-core.c
block/blk-exec.c
block/blk-lib.c
block/blk-settings.c
block/blk-sysfs.c
block/blk-throttle.c
block/blk.h
block/bsg-lib.c
block/cfq-iosched.c
block/deadline-iosched.c
block/elevator.c
block/genhd.c
block/partitions/Kconfig
block/partitions/efi.c
block/partitions/msdos.c
drivers/block/aoe/aoe.h
drivers/block/aoe/aoeblk.c
drivers/block/aoe/aoechr.c
drivers/block/aoe/aoecmd.c
drivers/block/aoe/aoedev.c
drivers/block/aoe/aoemain.c
drivers/block/aoe/aoenet.c
drivers/block/cciss.c
drivers/block/drbd/Kconfig
drivers/block/drbd/Makefile
drivers/block/drbd/drbd_actlog.c
drivers/block/drbd/drbd_bitmap.c
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_interval.c [new file with mode: 0644]
drivers/block/drbd/drbd_interval.h [new file with mode: 0644]
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_nl.c
drivers/block/drbd/drbd_nla.c [new file with mode: 0644]
drivers/block/drbd/drbd_nla.h [new file with mode: 0644]
drivers/block/drbd/drbd_proc.c
drivers/block/drbd/drbd_receiver.c
drivers/block/drbd/drbd_req.c
drivers/block/drbd/drbd_req.h
drivers/block/drbd/drbd_state.c [new file with mode: 0644]
drivers/block/drbd/drbd_state.h [new file with mode: 0644]
drivers/block/drbd/drbd_strings.c
drivers/block/drbd/drbd_worker.c
drivers/block/drbd/drbd_wrappers.h
drivers/block/loop.c
drivers/block/xen-blkback/blkback.c
drivers/block/xen-blkback/common.h
drivers/block/xen-blkback/xenbus.c
drivers/block/xen-blkfront.c
drivers/char/agp/intel-agp.h
drivers/char/agp/intel-gtt.c
drivers/crypto/nx/nx-842.c
drivers/crypto/nx/nx.c
drivers/dma/dmatest.c
drivers/firmware/efivars.c
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/ast/ast_ttm.c
drivers/gpu/drm/cirrus/cirrus_drv.c
drivers/gpu/drm/cirrus/cirrus_ttm.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_dp_helper.c [new file with mode: 0644]
drivers/gpu/drm/drm_dp_i2c_helper.c [deleted file]
drivers/gpu/drm/drm_edid.c
drivers/gpu/drm/drm_fb_helper.c
drivers/gpu/drm/drm_hashtab.c
drivers/gpu/drm/drm_ioctl.c
drivers/gpu/drm/drm_irq.c
drivers/gpu/drm/drm_modes.c
drivers/gpu/drm/drm_pci.c
drivers/gpu/drm/drm_stub.c
drivers/gpu/drm/drm_sysfs.c
drivers/gpu/drm/exynos/Kconfig
drivers/gpu/drm/exynos/Makefile
drivers/gpu/drm/exynos/exynos_ddc.c
drivers/gpu/drm/exynos/exynos_drm_buf.c
drivers/gpu/drm/exynos/exynos_drm_buf.h
drivers/gpu/drm/exynos/exynos_drm_crtc.c
drivers/gpu/drm/exynos/exynos_drm_dmabuf.c
drivers/gpu/drm/exynos/exynos_drm_drv.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_encoder.c
drivers/gpu/drm/exynos/exynos_drm_encoder.h
drivers/gpu/drm/exynos/exynos_drm_fb.c
drivers/gpu/drm/exynos/exynos_drm_fbdev.c
drivers/gpu/drm/exynos/exynos_drm_fimc.c [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_fimc.h [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_fimd.c
drivers/gpu/drm/exynos/exynos_drm_g2d.c
drivers/gpu/drm/exynos/exynos_drm_gem.c
drivers/gpu/drm/exynos/exynos_drm_gem.h
drivers/gpu/drm/exynos/exynos_drm_gsc.c [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_gsc.h [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_hdmi.c
drivers/gpu/drm/exynos/exynos_drm_hdmi.h
drivers/gpu/drm/exynos/exynos_drm_iommu.c [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_iommu.h [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_ipp.c [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_ipp.h [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_plane.c
drivers/gpu/drm/exynos/exynos_drm_rotator.c [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_rotator.h [new file with mode: 0644]
drivers/gpu/drm/exynos/exynos_drm_vidi.c
drivers/gpu/drm/exynos/exynos_hdmi.c
drivers/gpu/drm/exynos/exynos_hdmiphy.c
drivers/gpu/drm/exynos/exynos_mixer.c
drivers/gpu/drm/exynos/regs-fimc.h [new file with mode: 0644]
drivers/gpu/drm/exynos/regs-gsc.h [new file with mode: 0644]
drivers/gpu/drm/exynos/regs-hdmi.h
drivers/gpu/drm/exynos/regs-rotator.h [new file with mode: 0644]
drivers/gpu/drm/gma500/cdv_device.c
drivers/gpu/drm/gma500/cdv_intel_dp.c
drivers/gpu/drm/gma500/cdv_intel_hdmi.c
drivers/gpu/drm/gma500/cdv_intel_lvds.c
drivers/gpu/drm/gma500/mdfld_dsi_output.c
drivers/gpu/drm/gma500/mdfld_intel_display.c
drivers/gpu/drm/gma500/oaktrail.h
drivers/gpu/drm/gma500/oaktrail_crtc.c
drivers/gpu/drm/gma500/oaktrail_device.c
drivers/gpu/drm/gma500/oaktrail_hdmi.c
drivers/gpu/drm/gma500/oaktrail_lvds.c
drivers/gpu/drm/gma500/psb_intel_lvds.c
drivers/gpu/drm/gma500/psb_intel_sdvo.c
drivers/gpu/drm/i2c/ch7006_drv.c
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_context.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/i915_suspend.c
drivers/gpu/drm/i915/i915_sysfs.c
drivers/gpu/drm/i915/i915_trace.h
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_i2c.c
drivers/gpu/drm/i915/intel_lvds.c
drivers/gpu/drm/i915/intel_modes.c
drivers/gpu/drm/i915/intel_opregion.c
drivers/gpu/drm/i915/intel_panel.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h
drivers/gpu/drm/i915/intel_sdvo.c
drivers/gpu/drm/i915/intel_sprite.c
drivers/gpu/drm/i915/intel_tv.c
drivers/gpu/drm/mgag200/mgag200_main.c
drivers/gpu/drm/mgag200/mgag200_ttm.c
drivers/gpu/drm/nouveau/Makefile
drivers/gpu/drm/nouveau/core/core/engctx.c
drivers/gpu/drm/nouveau/core/core/falcon.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/core/gpuobj.c
drivers/gpu/drm/nouveau/core/core/mm.c
drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c
drivers/gpu/drm/nouveau/core/engine/bsp/nvc0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/bsp/nve0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/copy/nva3.c
drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c
drivers/gpu/drm/nouveau/core/engine/copy/nve0.c
drivers/gpu/drm/nouveau/core/engine/crypt/nv84.c
drivers/gpu/drm/nouveau/core/engine/crypt/nv98.c
drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/hdanva3.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/hdanvd0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/hdminva3.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/hdminvd0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
drivers/gpu/drm/nouveau/core/engine/disp/nv50.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/nv84.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/nv94.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/nva0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/nva3.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c
drivers/gpu/drm/nouveau/core/engine/disp/nve0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/sornv50.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/disp/sornvd0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/dmaobj/base.c
drivers/gpu/drm/nouveau/core/engine/dmaobj/nv04.c
drivers/gpu/drm/nouveau/core/engine/dmaobj/nv50.c
drivers/gpu/drm/nouveau/core/engine/dmaobj/nvc0.c
drivers/gpu/drm/nouveau/core/engine/dmaobj/nvd0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/fifo/base.c
drivers/gpu/drm/nouveau/core/engine/fifo/nv04.c
drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
drivers/gpu/drm/nouveau/core/engine/fifo/nv17.c
drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c
drivers/gpu/drm/nouveau/core/engine/fifo/nv50.c
drivers/gpu/drm/nouveau/core/engine/fifo/nv84.c
drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c
drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
drivers/gpu/drm/nouveau/core/engine/graph/nv04.c
drivers/gpu/drm/nouveau/core/engine/graph/nv10.c
drivers/gpu/drm/nouveau/core/engine/graph/nv20.c
drivers/gpu/drm/nouveau/core/engine/graph/nv40.c
drivers/gpu/drm/nouveau/core/engine/graph/nv50.c
drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
drivers/gpu/drm/nouveau/core/engine/graph/regs.h
drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c
drivers/gpu/drm/nouveau/core/engine/mpeg/nv50.c
drivers/gpu/drm/nouveau/core/engine/ppp/nv98.c
drivers/gpu/drm/nouveau/core/engine/ppp/nvc0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/software/nv04.c
drivers/gpu/drm/nouveau/core/engine/software/nv10.c
drivers/gpu/drm/nouveau/core/engine/software/nv50.c
drivers/gpu/drm/nouveau/core/engine/software/nvc0.c
drivers/gpu/drm/nouveau/core/engine/vp/nv84.c
drivers/gpu/drm/nouveau/core/engine/vp/nvc0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/engine/vp/nve0.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/include/core/class.h
drivers/gpu/drm/nouveau/core/include/core/engctx.h
drivers/gpu/drm/nouveau/core/include/core/falcon.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/include/core/gpuobj.h
drivers/gpu/drm/nouveau/core/include/core/mm.h
drivers/gpu/drm/nouveau/core/include/core/object.h
drivers/gpu/drm/nouveau/core/include/core/parent.h
drivers/gpu/drm/nouveau/core/include/engine/bsp.h
drivers/gpu/drm/nouveau/core/include/engine/copy.h
drivers/gpu/drm/nouveau/core/include/engine/crypt.h
drivers/gpu/drm/nouveau/core/include/engine/disp.h
drivers/gpu/drm/nouveau/core/include/engine/dmaobj.h
drivers/gpu/drm/nouveau/core/include/engine/fifo.h
drivers/gpu/drm/nouveau/core/include/engine/ppp.h
drivers/gpu/drm/nouveau/core/include/engine/vp.h
drivers/gpu/drm/nouveau/core/include/subdev/bios/dcb.h
drivers/gpu/drm/nouveau/core/include/subdev/bios/disp.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/include/subdev/bios/dp.h
drivers/gpu/drm/nouveau/core/include/subdev/fb.h
drivers/gpu/drm/nouveau/core/subdev/bar/base.c
drivers/gpu/drm/nouveau/core/subdev/bios/base.c
drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c
drivers/gpu/drm/nouveau/core/subdev/bios/disp.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/bios/dp.c
drivers/gpu/drm/nouveau/core/subdev/bios/gpio.c
drivers/gpu/drm/nouveau/core/subdev/bios/init.c
drivers/gpu/drm/nouveau/core/subdev/device/base.c
drivers/gpu/drm/nouveau/core/subdev/device/nv10.c
drivers/gpu/drm/nouveau/core/subdev/device/nv20.c
drivers/gpu/drm/nouveau/core/subdev/device/nv30.c
drivers/gpu/drm/nouveau/core/subdev/device/nv40.c
drivers/gpu/drm/nouveau/core/subdev/device/nv50.c
drivers/gpu/drm/nouveau/core/subdev/device/nvc0.c
drivers/gpu/drm/nouveau/core/subdev/device/nve0.c
drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.c
drivers/gpu/drm/nouveau/core/subdev/fb/base.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv04.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv1a.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv20.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv25.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv30.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv35.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv36.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv41.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv46.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv47.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv49.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv4e.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/core/subdev/fb/nv50.c
drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c
drivers/gpu/drm/nouveau/core/subdev/i2c/aux.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv40.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c
drivers/gpu/drm/nouveau/core/subdev/mc/base.c
drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c
drivers/gpu/drm/nouveau/core/subdev/mc/nv98.c
drivers/gpu/drm/nouveau/core/subdev/mc/nvc0.c
drivers/gpu/drm/nouveau/nouveau_abi16.c
drivers/gpu/drm/nouveau/nouveau_acpi.c
drivers/gpu/drm/nouveau/nouveau_acpi.h
drivers/gpu/drm/nouveau/nouveau_bios.c
drivers/gpu/drm/nouveau/nouveau_bios.h
drivers/gpu/drm/nouveau/nouveau_bo.c
drivers/gpu/drm/nouveau/nouveau_bo.h
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nouveau_connector.c
drivers/gpu/drm/nouveau/nouveau_connector.h
drivers/gpu/drm/nouveau/nouveau_crtc.h
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nouveau_dp.c
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_drm.h
drivers/gpu/drm/nouveau/nouveau_encoder.h
drivers/gpu/drm/nouveau/nouveau_gem.c
drivers/gpu/drm/nouveau/nouveau_hdmi.c [deleted file]
drivers/gpu/drm/nouveau/nouveau_irq.c
drivers/gpu/drm/nouveau/nouveau_prime.c
drivers/gpu/drm/nouveau/nouveau_vga.c
drivers/gpu/drm/nouveau/nv04_crtc.c
drivers/gpu/drm/nouveau/nv04_display.c
drivers/gpu/drm/nouveau/nv10_fence.c
drivers/gpu/drm/nouveau/nv17_tv.c
drivers/gpu/drm/nouveau/nv50_crtc.c [deleted file]
drivers/gpu/drm/nouveau/nv50_cursor.c [deleted file]
drivers/gpu/drm/nouveau/nv50_dac.c [deleted file]
drivers/gpu/drm/nouveau/nv50_display.c
drivers/gpu/drm/nouveau/nv50_display.h
drivers/gpu/drm/nouveau/nv50_evo.c [deleted file]
drivers/gpu/drm/nouveau/nv50_evo.h [deleted file]
drivers/gpu/drm/nouveau/nv50_fence.c
drivers/gpu/drm/nouveau/nv50_pm.c
drivers/gpu/drm/nouveau/nv50_sor.c [deleted file]
drivers/gpu/drm/nouveau/nvc0_fence.c
drivers/gpu/drm/nouveau/nvd0_display.c [deleted file]
drivers/gpu/drm/radeon/atombios_crtc.c
drivers/gpu/drm/radeon/atombios_dp.c
drivers/gpu/drm/radeon/atombios_encoders.c
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/radeon/evergreen_cs.c
drivers/gpu/drm/radeon/evergreend.h
drivers/gpu/drm/radeon/ni.c
drivers/gpu/drm/radeon/nid.h
drivers/gpu/drm/radeon/r100.c
drivers/gpu/drm/radeon/r600.c
drivers/gpu/drm/radeon/r600_cp.c
drivers/gpu/drm/radeon/r600_cs.c
drivers/gpu/drm/radeon/r600_reg.h
drivers/gpu/drm/radeon/r600d.h
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_asic.c
drivers/gpu/drm/radeon/radeon_asic.h
drivers/gpu/drm/radeon/radeon_combios.c
drivers/gpu/drm/radeon/radeon_connectors.c
drivers/gpu/drm/radeon/radeon_cp.c
drivers/gpu/drm/radeon/radeon_cs.c
drivers/gpu/drm/radeon/radeon_cursor.c
drivers/gpu/drm/radeon/radeon_device.c
drivers/gpu/drm/radeon/radeon_display.c
drivers/gpu/drm/radeon/radeon_drv.c
drivers/gpu/drm/radeon/radeon_drv.h
drivers/gpu/drm/radeon/radeon_fence.c
drivers/gpu/drm/radeon/radeon_gart.c
drivers/gpu/drm/radeon/radeon_kms.c
drivers/gpu/drm/radeon/radeon_mode.h
drivers/gpu/drm/radeon/radeon_object.c
drivers/gpu/drm/radeon/radeon_object.h
drivers/gpu/drm/radeon/radeon_test.c
drivers/gpu/drm/radeon/radeon_ttm.c
drivers/gpu/drm/radeon/rv515.c
drivers/gpu/drm/radeon/rv770.c
drivers/gpu/drm/radeon/rv770d.h
drivers/gpu/drm/radeon/si.c
drivers/gpu/drm/radeon/sid.h
drivers/gpu/drm/shmobile/shmob_drm_crtc.c
drivers/gpu/drm/tegra/Kconfig [new file with mode: 0644]
drivers/gpu/drm/tegra/Makefile [new file with mode: 0644]
drivers/gpu/drm/tegra/dc.c [new file with mode: 0644]
drivers/gpu/drm/tegra/dc.h [new file with mode: 0644]
drivers/gpu/drm/tegra/drm.c [new file with mode: 0644]
drivers/gpu/drm/tegra/drm.h [new file with mode: 0644]
drivers/gpu/drm/tegra/fb.c [new file with mode: 0644]
drivers/gpu/drm/tegra/hdmi.c [new file with mode: 0644]
drivers/gpu/drm/tegra/hdmi.h [new file with mode: 0644]
drivers/gpu/drm/tegra/host1x.c [new file with mode: 0644]
drivers/gpu/drm/tegra/output.c [new file with mode: 0644]
drivers/gpu/drm/tegra/rgb.c [new file with mode: 0644]
drivers/gpu/drm/ttm/ttm_bo.c
drivers/gpu/drm/ttm/ttm_bo_util.c
drivers/gpu/drm/ttm/ttm_bo_vm.c
drivers/gpu/drm/ttm/ttm_execbuf_util.c
drivers/gpu/drm/ttm/ttm_memory.c
drivers/gpu/drm/ttm/ttm_object.c
drivers/gpu/drm/udl/udl_connector.c
drivers/gpu/drm/vmwgfx/Makefile
drivers/gpu/drm/vmwgfx/svga3d_surfacedefs.h [new file with mode: 0644]
drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c
drivers/gpu/drm/vmwgfx/vmwgfx_context.c [new file with mode: 0644]
drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c
drivers/gpu/drm/vmwgfx/vmwgfx_resource_priv.h [new file with mode: 0644]
drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c [new file with mode: 0644]
drivers/gpu/vga/vga_switcheroo.c
drivers/infiniband/hw/ehca/hcp_if.c
drivers/macintosh/smu.c
drivers/macintosh/windfarm_fcu_controls.c
drivers/macintosh/windfarm_lm75_sensor.c
drivers/macintosh/windfarm_max6690_sensor.c
drivers/macintosh/windfarm_smu_sat.c
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1.c
drivers/md/raid10.c
drivers/md/raid5.c
drivers/mtd/nand/nandsim.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
drivers/net/ethernet/ibm/ehea/ehea_phyp.h
drivers/net/wireless/Kconfig
drivers/of/base.c
drivers/of/fdt.c
drivers/platform/x86/asus-nb-wmi.c
drivers/platform/x86/asus-wmi.c
drivers/platform/x86/eeepc-wmi.c
drivers/rtc/Kconfig
drivers/rtc/Makefile
drivers/rtc/rtc-da9055.c [new file with mode: 0644]
drivers/rtc/rtc-davinci.c
drivers/rtc/rtc-dev.c
drivers/rtc/rtc-imxdi.c
drivers/rtc/rtc-omap.c
drivers/rtc/rtc-pcf8523.c [new file with mode: 0644]
drivers/rtc/rtc-s3c.c
drivers/rtc/rtc-spear.c
drivers/rtc/rtc-test.c
drivers/rtc/rtc-tps65910.c
drivers/rtc/rtc-vt8500.c
drivers/scsi/fcoe/fcoe_ctlr.c
drivers/scsi/scsi_lib.c
drivers/staging/android/binder.c
drivers/usb/musb/musb_core.c
drivers/usb/musb/musb_io.h
drivers/usb/musb/tusb6010.c
drivers/video/Kconfig
drivers/video/backlight/88pm860x_bl.c
drivers/video/backlight/atmel-pwm-bl.c
drivers/video/backlight/backlight.c
drivers/video/backlight/corgi_lcd.c
drivers/video/backlight/da903x_bl.c
drivers/video/backlight/da9052_bl.c
drivers/video/backlight/generic_bl.c
drivers/video/backlight/hp680_bl.c
drivers/video/backlight/ili9320.c
drivers/video/backlight/ili9320.h
drivers/video/backlight/jornada720_bl.c
drivers/video/backlight/l4f00242t03.c
drivers/video/backlight/lcd.c
drivers/video/backlight/lm3630_bl.c
drivers/video/backlight/lm3639_bl.c
drivers/video/backlight/lms283gf05.c
drivers/video/backlight/lp855x_bl.c
drivers/video/backlight/max8925_bl.c
drivers/video/backlight/omap1_bl.c
drivers/video/backlight/pandora_bl.c
drivers/video/backlight/pcf50633-backlight.c
drivers/video/backlight/platform_lcd.c
drivers/video/backlight/s6e63m0.c
drivers/video/backlight/tdo24m.c
drivers/video/backlight/tosa_bl.c
drivers/video/backlight/tosa_lcd.c
drivers/video/backlight/vgg2432a4.c
drivers/video/gxt4500.c
drivers/virt/fsl_hypervisor.c
fs/attr.c
fs/autofs4/autofs_i.h
fs/autofs4/dev-ioctl.c
fs/autofs4/inode.c
fs/autofs4/waitq.c
fs/bad_inode.c
fs/binfmt_elf.c
fs/binfmt_em86.c
fs/binfmt_misc.c
fs/binfmt_script.c
fs/block_dev.c
fs/btrfs/Makefile
fs/btrfs/acl.c
fs/btrfs/backref.c
fs/btrfs/btrfs_inode.h
fs/btrfs/check-integrity.c
fs/btrfs/compression.c
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/delayed-inode.c
fs/btrfs/dev-replace.c [new file with mode: 0644]
fs/btrfs/dev-replace.h [new file with mode: 0644]
fs/btrfs/dir-item.c
fs/btrfs/disk-io.c
fs/btrfs/disk-io.h
fs/btrfs/extent-tree.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/extent_map.c
fs/btrfs/extent_map.h
fs/btrfs/file-item.c
fs/btrfs/file.c
fs/btrfs/free-space-cache.c
fs/btrfs/inode-map.c
fs/btrfs/inode.c
fs/btrfs/ioctl.c
fs/btrfs/ioctl.h
fs/btrfs/math.h [new file with mode: 0644]
fs/btrfs/ordered-data.c
fs/btrfs/ordered-data.h
fs/btrfs/print-tree.c
fs/btrfs/reada.c
fs/btrfs/relocation.c
fs/btrfs/root-tree.c
fs/btrfs/scrub.c
fs/btrfs/send.c
fs/btrfs/super.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h
fs/btrfs/tree-log.c
fs/btrfs/volumes.c
fs/btrfs/volumes.h
fs/btrfs/xattr.c
fs/ceph/dir.c
fs/ceph/file.c
fs/cifs/cifsfs.c
fs/configfs/dir.c
fs/eventfd.c
fs/eventpoll.c
fs/exec.c
fs/exofs/inode.c
fs/exportfs/expfs.c
fs/ext3/dir.c
fs/ext3/inode.c
fs/ext3/super.c
fs/ext4/dir.c
fs/ext4/file.c
fs/fat/fat.h
fs/fat/inode.c
fs/fat/misc.c
fs/fuse/dev.c
fs/fuse/dir.c
fs/fuse/file.c
fs/fuse/fuse_i.h
fs/fuse/inode.c
fs/gfs2/file.c
fs/hppfs/hppfs.c
fs/libfs.c
fs/lockd/clnt4xdr.c
fs/lockd/clntproc.c
fs/lockd/clntxdr.c
fs/lockd/host.c
fs/lockd/mon.c
fs/mount.h
fs/namespace.c
fs/nfs/Makefile
fs/nfs/blocklayout/blocklayout.c
fs/nfs/cache_lib.c
fs/nfs/callback.h
fs/nfs/callback_proc.c
fs/nfs/callback_xdr.c
fs/nfs/client.c
fs/nfs/dir.c
fs/nfs/direct.c
fs/nfs/file.c
fs/nfs/inode.c
fs/nfs/internal.h
fs/nfs/mount_clnt.c
fs/nfs/nfs2xdr.c
fs/nfs/nfs3proc.c
fs/nfs/nfs3xdr.c
fs/nfs/nfs4_fs.h
fs/nfs/nfs4client.c
fs/nfs/nfs4file.c
fs/nfs/nfs4filelayout.c
fs/nfs/nfs4filelayoutdev.c
fs/nfs/nfs4proc.c
fs/nfs/nfs4session.c [new file with mode: 0644]
fs/nfs/nfs4session.h [new file with mode: 0644]
fs/nfs/nfs4state.c
fs/nfs/nfs4super.c
fs/nfs/nfs4xdr.c
fs/nfs/objlayout/objlayout.c
fs/nfs/pnfs.c
fs/nfs/proc.c
fs/nfs/super.c
fs/nfs/write.c
fs/notify/Makefile
fs/notify/fanotify/fanotify_user.c
fs/notify/fdinfo.c [new file with mode: 0644]
fs/notify/fdinfo.h [new file with mode: 0644]
fs/notify/inode_mark.c
fs/notify/inotify/inotify_user.c
fs/ocfs2/extent_map.c
fs/ocfs2/file.c
fs/open.c
fs/pnode.h
fs/proc/Makefile
fs/proc/array.c
fs/proc/base.c
fs/proc/fd.c
fs/proc/generic.c
fs/proc/inode.c
fs/proc/internal.h
fs/proc/namespaces.c
fs/proc/proc_devtree.c
fs/proc/root.c
fs/proc/self.c [new file with mode: 0644]
fs/proc/task_mmu.c
fs/pstore/inode.c
fs/quota/quota.c
fs/read_write.c
fs/seq_file.c
fs/signalfd.c
fs/sysfs/mount.c
fs/ubifs/debug.c
fs/ubifs/dir.c
fs/udf/inode.c
include/asm-generic/io.h
include/drm/drmP.h
include/drm/drm_crtc.h
include/drm/drm_crtc_helper.h
include/drm/drm_dp_helper.h
include/drm/drm_hashtab.h
include/drm/exynos_drm.h
include/drm/intel-gtt.h
include/drm/ttm/ttm_bo_api.h
include/drm/ttm/ttm_bo_driver.h
include/drm/ttm/ttm_execbuf_util.h
include/drm/ttm/ttm_memory.h
include/drm/ttm/ttm_object.h
include/linux/backlight.h
include/linux/binfmts.h
include/linux/blkdev.h
include/linux/bsg-lib.h
include/linux/compat.h
include/linux/compiler.h
include/linux/cred.h
include/linux/dma-attrs.h
include/linux/drbd.h
include/linux/drbd_genl.h [new file with mode: 0644]
include/linux/drbd_genl_api.h [new file with mode: 0644]
include/linux/drbd_limits.h
include/linux/drbd_nl.h [deleted file]
include/linux/drbd_tag_magic.h [deleted file]
include/linux/exportfs.h
include/linux/fs.h
include/linux/ftrace.h
include/linux/genhd.h
include/linux/genl_magic_func.h [new file with mode: 0644]
include/linux/genl_magic_struct.h [new file with mode: 0644]
include/linux/idr.h
include/linux/init.h
include/linux/ipc_namespace.h
include/linux/kernel.h
include/linux/kref.h
include/linux/loop.h
include/linux/lru_cache.h
include/linux/mnt_namespace.h
include/linux/nfs_fs_sb.h
include/linux/nfs_xdr.h
include/linux/nsproxy.h
include/linux/of.h
include/linux/percpu-rwsem.h
include/linux/pid_namespace.h
include/linux/platform_data/lp855x.h
include/linux/proc_fs.h
include/linux/ptrace.h
include/linux/raid/pq.h
include/linux/random.h
include/linux/sched.h
include/linux/string.h
include/linux/sunrpc/sched.h
include/linux/syscalls.h
include/linux/user_namespace.h
include/linux/utsname.h
include/linux/wait.h
include/net/net_namespace.h
include/trace/events/btrfs.h
include/uapi/drm/drm.h
include/uapi/drm/exynos_drm.h
include/uapi/drm/i915_drm.h
include/uapi/drm/radeon_drm.h
include/uapi/linux/ptrace.h
init/Kconfig
init/do_mounts.c
init/main.c
init/version.c
ipc/msgutil.c
ipc/namespace.c
kernel/cgroup.c
kernel/compat.c
kernel/events/core.c
kernel/exit.c
kernel/fork.c
kernel/module.c
kernel/nsproxy.c
kernel/pid.c
kernel/pid_namespace.c
kernel/printk.c
kernel/ptrace.c
kernel/sched/core.c
kernel/sched/fair.c
kernel/signal.c
kernel/sysctl_binary.c
kernel/trace/ftrace.c
kernel/trace/trace_uprobe.c
kernel/user.c
kernel/user_namespace.c
kernel/utsname.c
kernel/watchdog.c
lib/Kconfig
lib/Kconfig.debug
lib/Makefile
lib/dynamic_debug.c
lib/interval_tree_test_main.c
lib/kstrtox.c
lib/lru_cache.c
lib/of-reconfig-notifier-error-inject.c [new file with mode: 0644]
lib/pSeries-reconfig-notifier-error-inject.c [deleted file]
lib/percpu-rwsem.c [new file with mode: 0644]
lib/raid6/Makefile
lib/raid6/algos.c
lib/raid6/altivec.uc
lib/raid6/avx2.c [new file with mode: 0644]
lib/raid6/mmx.c
lib/raid6/recov_avx2.c [new file with mode: 0644]
lib/raid6/recov_ssse3.c
lib/raid6/sse1.c
lib/raid6/sse2.c
lib/raid6/test/Makefile
lib/raid6/x86.h
lib/random32.c
lib/rbtree_test.c
lib/scatterlist.c
lib/vsprintf.c
mm/memory.c
mm/migrate.c
mm/shmem.c
net/core/net_namespace.c
net/sunrpc/auth_gss/auth_gss.c
net/sunrpc/backchannel_rqst.c
net/sunrpc/bc_svc.c
net/sunrpc/cache.c
net/sunrpc/clnt.c
net/sunrpc/rpc_pipe.c
net/sunrpc/rpcb_clnt.c
net/sunrpc/sched.c
net/sunrpc/svc.c
net/sunrpc/svc_xprt.c
net/sunrpc/svcsock.c
net/sunrpc/xdr.c
net/sunrpc/xprtsock.c
scripts/checkpatch.pl
security/yama/yama_lsm.c
sound/Kconfig
sound/sound_core.c
tools/testing/selftests/breakpoints/Makefile
tools/testing/selftests/cpu-hotplug/Makefile
tools/testing/selftests/kcmp/Makefile
tools/testing/selftests/kcmp/kcmp_test.c
tools/testing/selftests/memory-hotplug/Makefile
tools/testing/selftests/mqueue/Makefile
tools/testing/selftests/vm/Makefile

index 92bd0e45dfa165cfdaddb3de4f91e2db61a7a927..3b8b9b33be380b75f9a4d19a4680723f3febfce7 100644 (file)
@@ -60,7 +60,6 @@ modules.builtin
 # Generated include files
 #
 include/config
-include/linux/version.h
 include/generated
 arch/*/include/generated
 
index ceb1ff735469995b560f0cdf07227407be682235..8afe64fb20099f0be31c863b7854614d4b250b87 100644 (file)
@@ -136,8 +136,6 @@ fault-injection/
        - dir with docs about the fault injection capabilities infrastructure.
 fb/
        - directory with info on the frame buffer graphics abstraction layer.
-feature-removal-schedule.txt
-       - list of files and features that are going to be removed.
 filesystems/
        - info on the vfs and the various filesystems that Linux supports.
 firmware_class/
index 9feaf16f1617320038422cc32cb885a21f9075cd..10069828568b4e6d6b698e99c3aaccfe16128e12 100644 (file)
@@ -36,9 +36,6 @@ The different levels of stability are:
        the kernel, but are marked to be removed at some later point in
        time.  The description of the interface will document the reason
        why it is obsolete and when it can be expected to be removed.
-       The file Documentation/feature-removal-schedule.txt may describe
-       some of these interfaces, giving a schedule for when they will
-       be removed.
 
   removed/
        This directory contains a list of the old interfaces that have
index f50309081ac78e0900c3ef5e5646abf998079657..e59480db9ee0acb6be2793a9e48ea4e55d1bf5e3 100644 (file)
@@ -91,3 +91,12 @@ transferred to 'device' domain. This attribute can be also used for
 dma_unmap_{single,page,sg} functions family to force buffer to stay in
 device domain after releasing a mapping for it. Use this attribute with
 care!
+
+DMA_ATTR_FORCE_CONTIGUOUS
+-------------------------
+
+By default DMA-mapping subsystem is allowed to assemble the buffer
+allocated by dma_alloc_attrs() function from individual pages if it can
+be mapped as contiguous chunk into device dma address space. By
+specifing this attribute the allocated buffer is forced to be contiguous
+also in physical memory.
index b0300529ab13ede1178cf51097a02da67cfcc315..4ee2304f82f92e0edd8dfb8c36140451d74342ef 100644 (file)
@@ -1141,23 +1141,13 @@ int max_width, max_height;</synopsis>
             the <methodname>page_flip</methodname> operation will be called with a
             non-NULL <parameter>event</parameter> argument pointing to a
             <structname>drm_pending_vblank_event</structname> instance. Upon page
-            flip completion the driver must fill the
-            <parameter>event</parameter>::<structfield>event</structfield>
-            <structfield>sequence</structfield>, <structfield>tv_sec</structfield>
-            and <structfield>tv_usec</structfield> fields with the associated
-            vertical blanking count and timestamp, add the event to the
-            <parameter>drm_file</parameter> list of events to be signaled, and wake
-            up any waiting process. This can be performed with
+            flip completion the driver must call <methodname>drm_send_vblank_event</methodname>
+            to fill in the event and send to wake up any waiting processes.
+            This can be performed with
             <programlisting><![CDATA[
-            struct timeval now;
-
-            event->event.sequence = drm_vblank_count_and_time(..., &now);
-            event->event.tv_sec = now.tv_sec;
-            event->event.tv_usec = now.tv_usec;
-
             spin_lock_irqsave(&dev->event_lock, flags);
-            list_add_tail(&event->base.link, &event->base.file_priv->event_list);
-            wake_up_interruptible(&event->base.file_priv->event_wait);
+            ...
+            drm_send_vblank_event(dev, pipe, event);
             spin_unlock_irqrestore(&dev->event_lock, flags);
             ]]></programlisting>
           </para>
@@ -1621,10 +1611,10 @@ void intel_crt_init(struct drm_device *dev)
     </sect2>
   </sect1>
 
-  <!-- Internals: mid-layer helper functions -->
+  <!-- Internals: kms helper functions -->
 
   <sect1>
-    <title>Mid-layer Helper Functions</title>
+    <title>Mode Setting Helper Functions</title>
     <para>
       The CRTC, encoder and connector functions provided by the drivers
       implement the DRM API. They're called by the DRM core and ioctl handlers
@@ -2106,6 +2096,21 @@ void intel_crt_init(struct drm_device *dev)
         </listitem>
       </itemizedlist>
     </sect2>
+    <sect2>
+      <title>Modeset Helper Functions Reference</title>
+!Edrivers/gpu/drm/drm_crtc_helper.c
+    </sect2>
+    <sect2>
+      <title>fbdev Helper Functions Reference</title>
+!Pdrivers/gpu/drm/drm_fb_helper.c fbdev helpers
+!Edrivers/gpu/drm/drm_fb_helper.c
+    </sect2>
+    <sect2>
+      <title>Display Port Helper Functions Reference</title>
+!Pdrivers/gpu/drm/drm_dp_helper.c dp helpers
+!Iinclude/drm/drm_dp_helper.h
+!Edrivers/gpu/drm/drm_dp_helper.c
+    </sect2>
   </sect1>
 
   <!-- Internals: vertical blanking -->
index 00687ee9d363ef0d7a57461ffa21e153ce831bcb..f75ab4c1b281119672df234624f1ae7aa80919c2 100644 (file)
@@ -58,6 +58,9 @@
 
      <sect1><title>String Conversions</title>
 !Elib/vsprintf.c
+!Finclude/linux/kernel.h kstrtol
+!Finclude/linux/kernel.h kstrtoul
+!Elib/kstrtox.c
      </sect1>
      <sect1><title>String Manipulation</title>
 <!-- All functions are exported at now
index bfc9cb19abcd56ca23f240c9854f67e0c9f3ec0f..c71487d399d14688206afbe818be88c093ffde29 100644 (file)
@@ -125,7 +125,9 @@ DRIVER OPTIONS
   The aoe_deadsecs module parameter determines the maximum number of
   seconds that the driver will wait for an AoE device to provide a
   response to an AoE command.  After aoe_deadsecs seconds have
-  elapsed, the AoE device will be marked as "down".
+  elapsed, the AoE device will be marked as "down".  A value of zero
+  is supported for testing purposes and makes the aoe driver keep
+  trying AoE commands forever.
 
   The aoe_maxout module parameter has a default of 128.  This is the
   maximum number of unresponded packets that will be sent to an AoE
index f5e4caafab7d6a07dbd030cc017fafbe2458af2b..1529394cfe8b3ed51ca44391b81ed16c8635325d 100644 (file)
@@ -35,11 +35,8 @@ For supporting platform specific data, the lp855x platform data can be used.
 * mode : Brightness control mode. PWM or register based.
 * device_control : Value of DEVICE CONTROL register.
 * initial_brightness : Initial value of backlight brightness.
-* pwm_data : Platform specific pwm generation functions.
+* period_ns : Platform specific PWM period value. unit is nano.
             Only valid when brightness is pwm input mode.
-            Functions should be implemented by PWM driver.
-            - pwm_set_intensity() : set duty of PWM
-            - pwm_get_intensity() : get current duty of PWM
 * load_new_rom_data :
        0 : use default configuration data
        1 : update values of eeprom or eprom registers on loading driver
@@ -71,8 +68,5 @@ static struct lp855x_platform_data lp8556_pdata = {
        .mode = PWM_BASED,
        .device_control = PWM_CONFIG(LP8556),
        .initial_brightness = INITIAL_BRT,
-       .pwm_data = {
-                    .pwm_set_intensity = platform_pwm_set_intensity,
-                    .pwm_get_intensity = platform_pwm_get_intensity,
-                    },
+       .period_ns = 1000000,
 };
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
new file mode 100644 (file)
index 0000000..b4fa934
--- /dev/null
@@ -0,0 +1,191 @@
+NVIDIA Tegra host1x
+
+Required properties:
+- compatible: "nvidia,tegra<chip>-host1x"
+- reg: Physical base address and length of the controller's registers.
+- interrupts: The interrupt outputs from the controller.
+- #address-cells: The number of cells used to represent physical base addresses
+  in the host1x address space. Should be 1.
+- #size-cells: The number of cells used to represent the size of an address
+  range in the host1x address space. Should be 1.
+- ranges: The mapping of the host1x address space to the CPU address space.
+
+The host1x top-level node defines a number of children, each representing one
+of the following host1x client modules:
+
+- mpe: video encoder
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-mpe"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+- vi: video input
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-vi"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+- epp: encoder pre-processor
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-epp"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+- isp: image signal processor
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-isp"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+- gr2d: 2D graphics engine
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-gr2d"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+- gr3d: 3D graphics engine
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-gr3d"
+  - reg: Physical base address and length of the controller's registers.
+
+- dc: display controller
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-dc"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+  Each display controller node has a child node, named "rgb", that represents
+  the RGB output associated with the controller. It can take the following
+  optional properties:
+  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
+  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
+  - nvidia,edid: supplies a binary EDID blob
+
+- hdmi: High Definition Multimedia Interface
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-hdmi"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+  - vdd-supply: regulator for supply voltage
+  - pll-supply: regulator for PLL
+
+  Optional properties:
+  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
+  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
+  - nvidia,edid: supplies a binary EDID blob
+
+- tvo: TV encoder output
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-tvo"
+  - reg: Physical base address and length of the controller's registers.
+  - interrupts: The interrupt outputs from the controller.
+
+- dsi: display serial interface
+
+  Required properties:
+  - compatible: "nvidia,tegra<chip>-dsi"
+  - reg: Physical base address and length of the controller's registers.
+
+Example:
+
+/ {
+       ...
+
+       host1x {
+               compatible = "nvidia,tegra20-host1x", "simple-bus";
+               reg = <0x50000000 0x00024000>;
+               interrupts = <0 65 0x04   /* mpcore syncpt */
+                             0 67 0x04>; /* mpcore general */
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               ranges = <0x54000000 0x54000000 0x04000000>;
+
+               mpe {
+                       compatible = "nvidia,tegra20-mpe";
+                       reg = <0x54040000 0x00040000>;
+                       interrupts = <0 68 0x04>;
+               };
+
+               vi {
+                       compatible = "nvidia,tegra20-vi";
+                       reg = <0x54080000 0x00040000>;
+                       interrupts = <0 69 0x04>;
+               };
+
+               epp {
+                       compatible = "nvidia,tegra20-epp";
+                       reg = <0x540c0000 0x00040000>;
+                       interrupts = <0 70 0x04>;
+               };
+
+               isp {
+                       compatible = "nvidia,tegra20-isp";
+                       reg = <0x54100000 0x00040000>;
+                       interrupts = <0 71 0x04>;
+               };
+
+               gr2d {
+                       compatible = "nvidia,tegra20-gr2d";
+                       reg = <0x54140000 0x00040000>;
+                       interrupts = <0 72 0x04>;
+               };
+
+               gr3d {
+                       compatible = "nvidia,tegra20-gr3d";
+                       reg = <0x54180000 0x00040000>;
+               };
+
+               dc@54200000 {
+                       compatible = "nvidia,tegra20-dc";
+                       reg = <0x54200000 0x00040000>;
+                       interrupts = <0 73 0x04>;
+
+                       rgb {
+                               status = "disabled";
+                       };
+               };
+
+               dc@54240000 {
+                       compatible = "nvidia,tegra20-dc";
+                       reg = <0x54240000 0x00040000>;
+                       interrupts = <0 74 0x04>;
+
+                       rgb {
+                               status = "disabled";
+                       };
+               };
+
+               hdmi {
+                       compatible = "nvidia,tegra20-hdmi";
+                       reg = <0x54280000 0x00040000>;
+                       interrupts = <0 75 0x04>;
+                       status = "disabled";
+               };
+
+               tvo {
+                       compatible = "nvidia,tegra20-tvo";
+                       reg = <0x542c0000 0x00040000>;
+                       interrupts = <0 76 0x04>;
+                       status = "disabled";
+               };
+
+               dsi {
+                       compatible = "nvidia,tegra20-dsi";
+                       reg = <0x54300000 0x00040000>;
+                       status = "disabled";
+               };
+       };
+
+       ...
+};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/raideng.txt b/Documentation/devicetree/bindings/powerpc/fsl/raideng.txt
new file mode 100644 (file)
index 0000000..4ad29b9
--- /dev/null
@@ -0,0 +1,81 @@
+* Freescale 85xx RAID Engine nodes
+
+RAID Engine nodes are defined to describe on-chip RAID accelerators.  Each RAID
+Engine should have a separate node.
+
+Supported chips:
+P5020, P5040
+
+Required properties:
+
+- compatible:  Should contain "fsl,raideng-v1.0" as the value
+               This identifies RAID Engine block. 1 in 1.0 represents
+               major number whereas 0 represents minor number. The
+               version matches the hardware IP version.
+- reg:         offset and length of the register set for the device
+- ranges:      standard ranges property specifying the translation
+               between child address space and parent address space
+
+Example:
+       /* P5020 */
+       raideng: raideng@320000 {
+               compatible = "fsl,raideng-v1.0";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg     = <0x320000 0x10000>;
+               ranges  = <0 0x320000 0x10000>;
+       };
+
+
+There must be a sub-node for each job queue present in RAID Engine
+This node must be a sub-node of the main RAID Engine node
+
+- compatible:  Should contain "fsl,raideng-v1.0-job-queue" as the value
+               This identifies the job queue interface
+- reg:         offset and length of the register set for job queue
+- ranges:      standard ranges property specifying the translation
+               between child address space and parent address space
+
+Example:
+       /* P5020 */
+       raideng_jq0@1000 {
+               compatible = "fsl,raideng-v1.0-job-queue";
+               reg        = <0x1000 0x1000>;
+               ranges     = <0x0 0x1000 0x1000>;
+       };
+
+
+There must be a sub-node for each job ring present in RAID Engine
+This node must be a sub-node of job queue node
+
+- compatible:  Must contain "fsl,raideng-v1.0-job-ring" as the value
+               This identifies job ring. Should contain either
+               "fsl,raideng-v1.0-hp-ring" or "fsl,raideng-v1.0-lp-ring"
+               depending upon whether ring has high or low priority
+- reg:         offset and length of the register set for job ring
+- interrupts:  interrupt mapping for job ring IRQ
+
+Optional property:
+
+- fsl,liodn:   Specifies the LIODN to be used for Job Ring. This
+               property is normally set by firmware. Value
+               is of 12-bits which is the LIODN number for this JR.
+               This property is used by the IOMMU (PAMU) to distinquish
+               transactions from this JR and than be able to do address
+               translation & protection accordingly.
+
+Example:
+       /* P5020 */
+       raideng_jq0@1000 {
+               compatible = "fsl,raideng-v1.0-job-queue";
+               reg        = <0x1000 0x1000>;
+               ranges     = <0x0 0x1000 0x1000>;
+
+               raideng_jr0: jr@0 {
+                       compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-hp-ring";
+                       reg        = <0x0 0x400>;
+                       interrupts = <139 2 0 0>;
+                       interrupt-parent = <&mpic>;
+                       fsl,liodn = <0x41>;
+               };
+       };
diff --git a/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt b/Documentation/devicetree/bindings/rtc/imxdi-rtc.txt
new file mode 100644 (file)
index 0000000..c9d80d7
--- /dev/null
@@ -0,0 +1,17 @@
+* i.MX25 Real Time Clock controller
+
+This binding supports the following chips: i.MX25, i.MX53
+
+Required properties:
+- compatible: should be: "fsl,imx25-rtc"
+- reg: physical base address of the controller and length of memory mapped
+  region.
+- interrupts: rtc alarm interrupt
+
+Example:
+
+rtc@80056000 {
+       compatible = "fsl,imx53-rtc", "fsl,imx25-rtc";
+       reg = <0x80056000 2000>;
+       interrupts = <29>;
+};
diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
new file mode 100644 (file)
index 0000000..b47aa41
--- /dev/null
@@ -0,0 +1,17 @@
+TI Real Time Clock
+
+Required properties:
+- compatible: "ti,da830-rtc"
+- reg: Address range of rtc register set
+- interrupts: rtc timer, alarm interrupts in order
+- interrupt-parent: phandle for the interrupt controller
+
+Example:
+
+rtc@1c23000 {
+       compatible = "ti,da830-rtc";
+       reg = <0x23000 0x1000>;
+       interrupts = <19
+                     19>;
+       interrupt-parent = <&intc>;
+};
index 3844d21d6ca32223838b7856a2f353bf56ef2417..fd8d0d594fc7c9fd6bd1a5baa107968a9c9fab01 100644 (file)
@@ -41,6 +41,7 @@ Table of Contents
   3.5  /proc/<pid>/mountinfo - Information about mounts
   3.6  /proc/<pid>/comm  & /proc/<pid>/task/<tid>/comm
   3.7   /proc/<pid>/task/<tid>/children - Information about task children
+  3.8   /proc/<pid>/fdinfo/<fd> - Information about opened file
 
   4    Configuring procfs
   4.1  Mount options
@@ -142,7 +143,7 @@ Table 1-1: Process specific entries in /proc
  pagemap       Page table
  stack         Report full stack trace, enable via CONFIG_STACKTRACE
  smaps         a extension based on maps, showing the memory consumption of
-               each mapping
+               each mapping and flags associated with it
 ..............................................................................
 
 For example, to get the status information of a process, all you have to do is
@@ -181,6 +182,7 @@ read the file /proc/PID/status:
   CapPrm: 0000000000000000
   CapEff: 0000000000000000
   CapBnd: ffffffffffffffff
+  Seccomp:        0
   voluntary_ctxt_switches:        0
   nonvoluntary_ctxt_switches:     1
 
@@ -237,6 +239,7 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7)
  CapPrm                      bitmap of permitted capabilities
  CapEff                      bitmap of effective capabilities
  CapBnd                      bitmap of capabilities bounding set
+ Seccomp                     seccomp mode, like prctl(PR_GET_SECCOMP, ...)
  Cpus_allowed                mask of CPUs on which this process may run
  Cpus_allowed_list           Same as previous, but in "list format"
  Mems_allowed                mask of memory nodes allowed to this process
@@ -415,8 +418,9 @@ Swap:                  0 kB
 KernelPageSize:        4 kB
 MMUPageSize:           4 kB
 Locked:              374 kB
+VmFlags: rd ex mr mw me de
 
-The first of these lines shows the same information as is displayed for the
+the first of these lines shows the same information as is displayed for the
 mapping in /proc/PID/maps.  The remaining lines show the size of the mapping
 (size), the amount of the mapping that is currently resident in RAM (RSS), the
 process' proportional share of this mapping (PSS), the number of clean and
@@ -430,6 +434,41 @@ and a page is modified, the file page is replaced by a private anonymous copy.
 "Swap" shows how much would-be-anonymous memory is also used, but out on
 swap.
 
+"VmFlags" field deserves a separate description. This member represents the kernel
+flags associated with the particular virtual memory area in two letter encoded
+manner. The codes are the following:
+    rd  - readable
+    wr  - writeable
+    ex  - executable
+    sh  - shared
+    mr  - may read
+    mw  - may write
+    me  - may execute
+    ms  - may share
+    gd  - stack segment growns down
+    pf  - pure PFN range
+    dw  - disabled write to the mapped file
+    lo  - pages are locked in memory
+    io  - memory mapped I/O area
+    sr  - sequential read advise provided
+    rr  - random read advise provided
+    dc  - do not copy area on fork
+    de  - do not expand area on remapping
+    ac  - area is accountable
+    nr  - swap space is not reserved for the area
+    ht  - area uses huge tlb pages
+    nl  - non-linear mapping
+    ar  - architecture specific flag
+    dd  - do not include area into core dump
+    mm  - mixed map area
+    hg  - huge page advise flag
+    nh  - no-huge page advise flag
+    mg  - mergable advise flag
+
+Note that there is no guarantee that every flag and associated mnemonic will
+be present in all further kernel releases. Things get changed, the flags may
+be vanished or the reverse -- new added.
+
 This file is only present if the CONFIG_MMU kernel configuration option is
 enabled.
 
@@ -1595,6 +1634,93 @@ pids, so one need to either stop or freeze processes being inspected
 if precise results are needed.
 
 
+3.7    /proc/<pid>/fdinfo/<fd> - Information about opened file
+---------------------------------------------------------------
+This file provides information associated with an opened file. The regular
+files have at least two fields -- 'pos' and 'flags'. The 'pos' represents
+the current offset of the opened file in decimal form [see lseek(2) for
+details] and 'flags' denotes the octal O_xxx mask the file has been
+created with [see open(2) for details].
+
+A typical output is
+
+       pos:    0
+       flags:  0100002
+
+The files such as eventfd, fsnotify, signalfd, epoll among the regular pos/flags
+pair provide additional information particular to the objects they represent.
+
+       Eventfd files
+       ~~~~~~~~~~~~~
+       pos:    0
+       flags:  04002
+       eventfd-count:  5a
+
+       where 'eventfd-count' is hex value of a counter.
+
+       Signalfd files
+       ~~~~~~~~~~~~~~
+       pos:    0
+       flags:  04002
+       sigmask:        0000000000000200
+
+       where 'sigmask' is hex value of the signal mask associated
+       with a file.
+
+       Epoll files
+       ~~~~~~~~~~~
+       pos:    0
+       flags:  02
+       tfd:        5 events:       1d data: ffffffffffffffff
+
+       where 'tfd' is a target file descriptor number in decimal form,
+       'events' is events mask being watched and the 'data' is data
+       associated with a target [see epoll(7) for more details].
+
+       Fsnotify files
+       ~~~~~~~~~~~~~~
+       For inotify files the format is the following
+
+       pos:    0
+       flags:  02000000
+       inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7e9e0000640d1b6d
+
+       where 'wd' is a watch descriptor in decimal form, ie a target file
+       descriptor number, 'ino' and 'sdev' are inode and device where the
+       target file resides and the 'mask' is the mask of events, all in hex
+       form [see inotify(7) for more details].
+
+       If the kernel was built with exportfs support, the path to the target
+       file is encoded as a file handle.  The file handle is provided by three
+       fields 'fhandle-bytes', 'fhandle-type' and 'f_handle', all in hex
+       format.
+
+       If the kernel is built without exportfs support the file handle won't be
+       printed out.
+
+       If there is no inotify mark attached yet the 'inotify' line will be omitted.
+
+       For fanotify files the format is
+
+       pos:    0
+       flags:  02
+       fanotify flags:10 event-flags:0
+       fanotify mnt_id:12 mflags:40 mask:38 ignored_mask:40000003
+       fanotify ino:4f969 sdev:800013 mflags:0 mask:3b ignored_mask:40000000 fhandle-bytes:8 fhandle-type:1 f_handle:69f90400c275b5b4
+
+       where fanotify 'flags' and 'event-flags' are values used in fanotify_init
+       call, 'mnt_id' is the mount point identifier, 'mflags' is the value of
+       flags associated with mark which are tracked separately from events
+       mask. 'ino', 'sdev' are target inode and device, 'mask' is the events
+       mask and 'ignored_mask' is the mask of events which are to be ignored.
+       All in hex format. Incorporation of 'mflags', 'mask' and 'ignored_mask'
+       does provide information about flags and mask used in fanotify_mark
+       call [see fsnotify manpage for details].
+
+       While the first three lines are mandatory and always printed, the rest is
+       optional and may be omitted if no marks created yet.
+
+
 ------------------------------------------------------------------------------
 Configuring procfs
 ------------------------------------------------------------------------------
index de1e6c4dccff047766f1bfc1801319ef28cdf0d1..d230dd9c99b07bad6cbbc8cd9445b798188b8684 100644 (file)
@@ -111,6 +111,15 @@ tz=UTC        -- Interpret timestamps as UTC rather than local time.
                  useful when mounting devices (like digital cameras)
                  that are set to UTC in order to avoid the pitfalls of
                  local time.
+time_offset=minutes
+             -- Set offset for conversion of timestamps from local time
+                used by FAT to UTC. I.e. <minutes> minutes will be subtracted
+                from each timestamp to convert it to UTC used internally by
+                Linux. This is useful when time zone set in sys_tz is
+                not the time zone used by the filesystem. Note that this
+                option still does not provide correct time stamps in all
+                cases in presence of DST - time stamps in a different DST
+                setting will be off by one hour.
 
 showexec      -- If set, the execute permission bits of the file will be
                 allowed only if the extension part of the name is .EXE,
index ea8e5b48557674a3fc7725234237798aeef68a04..ddd84d627185f4b83fcd27fff46054ad6f94ff69 100644 (file)
@@ -1503,9 +1503,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
        mem=nn[KMG]     [KNL,BOOT] Force usage of a specific amount of memory
                        Amount of memory to be used when the kernel is not able
                        to see the whole system memory or for test.
-                       [X86-32] Use together with memmap= to avoid physical
-                       address space collisions. Without memmap= PCI devices
-                       could be placed at addresses belonging to unused RAM.
+                       [X86] Work as limiting max address. Use together
+                       with memmap= to avoid physical address space collisions.
+                       Without memmap= PCI devices could be placed at addresses
+                       belonging to unused RAM.
 
        mem=nopentium   [BUGS=X86-32] Disable usage of 4MB pages for kernel
                        memory.
index 48ba715d5a633fb246855aca0595ce47ecb5e187..ddf85a5dde0c12a435b9cbcc30f44159de5acc0b 100644 (file)
@@ -213,3 +213,91 @@ presentation on krefs, which can be found at:
 and:
   http://www.kroah.com/linux/talks/ols_2004_kref_talk/
 
+
+The above example could also be optimized using kref_get_unless_zero() in
+the following way:
+
+static struct my_data *get_entry()
+{
+       struct my_data *entry = NULL;
+       mutex_lock(&mutex);
+       if (!list_empty(&q)) {
+               entry = container_of(q.next, struct my_data, link);
+               if (!kref_get_unless_zero(&entry->refcount))
+                       entry = NULL;
+       }
+       mutex_unlock(&mutex);
+       return entry;
+}
+
+static void release_entry(struct kref *ref)
+{
+       struct my_data *entry = container_of(ref, struct my_data, refcount);
+
+       mutex_lock(&mutex);
+       list_del(&entry->link);
+       mutex_unlock(&mutex);
+       kfree(entry);
+}
+
+static void put_entry(struct my_data *entry)
+{
+       kref_put(&entry->refcount, release_entry);
+}
+
+Which is useful to remove the mutex lock around kref_put() in put_entry(), but
+it's important that kref_get_unless_zero is enclosed in the same critical
+section that finds the entry in the lookup table,
+otherwise kref_get_unless_zero may reference already freed memory.
+Note that it is illegal to use kref_get_unless_zero without checking its
+return value. If you are sure (by already having a valid pointer) that
+kref_get_unless_zero() will return true, then use kref_get() instead.
+
+The function kref_get_unless_zero also makes it possible to use rcu
+locking for lookups in the above example:
+
+struct my_data
+{
+       struct rcu_head rhead;
+       .
+       struct kref refcount;
+       .
+       .
+};
+
+static struct my_data *get_entry_rcu()
+{
+       struct my_data *entry = NULL;
+       rcu_read_lock();
+       if (!list_empty(&q)) {
+               entry = container_of(q.next, struct my_data, link);
+               if (!kref_get_unless_zero(&entry->refcount))
+                       entry = NULL;
+       }
+       rcu_read_unlock();
+       return entry;
+}
+
+static void release_entry_rcu(struct kref *ref)
+{
+       struct my_data *entry = container_of(ref, struct my_data, refcount);
+
+       mutex_lock(&mutex);
+       list_del_rcu(&entry->link);
+       mutex_unlock(&mutex);
+       kfree_rcu(entry, rhead);
+}
+
+static void put_entry(struct my_data *entry)
+{
+       kref_put(&entry->refcount, release_entry_rcu);
+}
+
+But note that the struct kref member needs to remain in valid memory for a
+rcu grace period after release_entry_rcu was called. That can be accomplished
+by using kfree_rcu(entry, rhead) as done above, or by calling synchronize_rcu()
+before using kfree, but note that synchronize_rcu() may sleep for a
+substantial amount of time.
+
+
+Thomas Hellstrom <thellstrom@vmware.com>
index f4a5499b7bc6823fd95d6701965e4e1e0e7d07c5..f2a7a3919772ef8e36075231cdad82435cba718a 100644 (file)
@@ -127,6 +127,22 @@ Some examples of using the structure to:
   p.addr2           = (uint64_t) end_range;
   p.condition_value = 0;
 
+- set a watchpoint in server processors (BookS)
+
+  p.version         = 1;
+  p.trigger_type    = PPC_BREAKPOINT_TRIGGER_RW;
+  p.addr_mode       = PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE;
+  or
+  p.addr_mode       = PPC_BREAKPOINT_MODE_EXACT;
+
+  p.condition_mode  = PPC_BREAKPOINT_CONDITION_NONE;
+  p.addr            = (uint64_t) begin_range;
+  /* For PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE addr2 needs to be specified, where
+   * addr2 - addr <= 8 Bytes.
+   */
+  p.addr2           = (uint64_t) end_range;
+  p.condition_value = 0;
+
 3. PTRACE_DELHWDEBUG
 
 Takes an integer which identifies an existing breakpoint or watchpoint
index eeed1de546d4d178a8d6c8e91da1012b71d9c970..414235c1fcfcdd3f4a8ca191df7edf7cf21049ad 100644 (file)
@@ -12,6 +12,8 @@ apparmor.txt
        - documentation on the AppArmor security extension.
 credentials.txt
        - documentation about credentials in Linux.
+keys-ecryptfs.txt
+       - description of the encryption keys for the ecryptfs filesystem.
 keys-request-key.txt
        - description of the kernel key request service.
 keys-trusted-encrypted.txt
index 4909d41163564c0fcc7fefb4e6a4c6e25183bf3b..eceab1308a8c2fbde6722232db18bbb57a6e7f2e 100644 (file)
@@ -49,6 +49,24 @@ be generated without __CHECK_ENDIAN__.
 __bitwise - noisy stuff; in particular, __le*/__be* are that.  We really
 don't want to drown in noise unless we'd explicitly asked for it.
 
+Using sparse for lock checking
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following macros are undefined for gcc and defined during a sparse
+run to use the "context" tracking feature of sparse, applied to
+locking.  These annotations tell sparse when a lock is held, with
+regard to the annotated function's entry and exit.
+
+__must_hold - The specified lock is held on function entry and exit.
+
+__acquires - The specified lock is held on function exit, but not entry.
+
+__releases - The specified lock is held on function entry, but not exit.
+
+If the function enters and exits without the lock held, acquiring and
+releasing the lock inside the function in a balanced way, no
+annotation is needed.  The tree annotations above are for cases where
+sparse would otherwise report a context imbalance.
 
 Getting sparse
 ~~~~~~~~~~~~~~
index d9c31b906ac9cc503e8fff1b33e8df5e033e94f0..4e2a1f67a1fcf00b553e8190947368d240d74b44 100644 (file)
@@ -1280,7 +1280,7 @@ F:        Documentation/hwmon/asc7621
 F:     drivers/hwmon/asc7621.c
 
 ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
-M:     Corentin Chary <corentincj@iksaif.net>
+M:     Corentin Chary <corentin.chary@gmail.com>
 L:     acpi4asus-user@lists.sourceforge.net
 L:     platform-driver-x86@vger.kernel.org
 W:     http://acpi4asus.sf.net
@@ -1929,7 +1929,7 @@ F:        scripts/checkpatch.pl
 
 CHINESE DOCUMENTATION
 M:     Harry Wei <harryxiyou@gmail.com>
-L:     xiyoulinuxkernelgroup@googlegroups.com
+L:     xiyoulinuxkernelgroup@googlegroups.com (subscribers-only)
 L:     linux-kernel@zh-kernel.org (moderated for non-subscribers)
 S:     Maintained
 F:     Documentation/zh_CN/
@@ -2549,6 +2549,15 @@ S:       Supported
 F:     drivers/gpu/drm/exynos
 F:     include/drm/exynos*
 
+DRM DRIVERS FOR NVIDIA TEGRA
+M:     Thierry Reding <thierry.reding@avionic-design.de>
+L:     dri-devel@lists.freedesktop.org
+L:     linux-tegra@vger.kernel.org
+T:     git git://gitorious.org/thierryreding/linux.git
+S:     Maintained
+F:     drivers/gpu/drm/tegra/
+F:     Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
+
 DSCC4 DRIVER
 M:     Francois Romieu <romieu@fr.zoreil.com>
 L:     netdev@vger.kernel.org
@@ -2973,7 +2982,6 @@ L:        linux-ext4@vger.kernel.org
 S:     Maintained
 F:     Documentation/filesystems/ext3.txt
 F:     fs/ext3/
-F:     include/linux/ext3*
 
 EXT4 FILE SYSTEM
 M:     "Theodore Ts'o" <tytso@mit.edu>
@@ -3120,7 +3128,8 @@ W:        http://ieee1394.wiki.kernel.org/
 T:     git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git
 S:     Maintained
 F:     drivers/firewire/
-F:     include/linux/firewire*.h
+F:     include/linux/firewire.h
+F:     include/uapi/linux/firewire*.h
 F:     tools/firewire/
 
 FIRMWARE LOADER (request_firmware)
@@ -4305,7 +4314,6 @@ M:        Jan Kara <jack@suse.cz>
 L:     linux-ext4@vger.kernel.org
 S:     Maintained
 F:     fs/jbd/
-F:     include/linux/ext3_jbd.h
 F:     include/linux/jbd.h
 
 JOURNALLING LAYER FOR BLOCK DEVICES (JBD2)
@@ -6483,7 +6491,7 @@ F:        drivers/media/pci/saa7146/
 F:     include/media/saa7146*
 
 SAMSUNG LAPTOP DRIVER
-M:     Corentin Chary <corentincj@iksaif.net>
+M:     Corentin Chary <corentin.chary@gmail.com>
 L:     platform-driver-x86@vger.kernel.org
 S:     Maintained
 F:     drivers/platform/x86/samsung-laptop.c
@@ -7537,6 +7545,13 @@ S:       Maintained
 F:     sound/soc/codecs/lm49453*
 F:     sound/soc/codecs/isabelle*
 
+TI LP855x BACKLIGHT DRIVER
+M:     Milo Kim <milo.kim@ti.com>
+S:     Maintained
+F:     Documentation/backlight/lp855x-driver.txt
+F:     drivers/video/backlight/lp855x_bl.c
+F:     include/linux/platform_data/lp855x.h
+
 TI TWL4030 SERIES SOC CODEC DRIVER
 M:     Peter Ujfalusi <peter.ujfalusi@ti.com>
 L:     alsa-devel@alsa-project.org (moderated for non-subscribers)
index 34884faf98cd26f3f24c6483dd98b10855387232..54ffd0f9df21b7d9f28789104dd48e5bdcf5a965 100644 (file)
@@ -80,6 +80,7 @@ config UPROBES
        bool "Transparent user-space probes (EXPERIMENTAL)"
        depends on UPROBE_EVENT && PERF_EVENTS
        default n
+       select PERCPU_RWSEM
        help
          Uprobes is the user-space counterpart to kprobes: they
          enable instrumentation applications (such as 'perf probe')
index fcdbe437409e3a5141b5b7231a143fecf7c933a4..2d5502d84a223aaf9b0a05ccb80d284393c9a815 100644 (file)
@@ -725,7 +725,7 @@ static struct resource da8xx_rtc_resources[] = {
 };
 
 static struct platform_device da8xx_rtc_device = {
-       .name           = "omap_rtc",
+       .name           = "da830-rtc",
        .id             = -1,
        .num_resources  = ARRAY_SIZE(da8xx_rtc_resources),
        .resource       = da8xx_rtc_resources,
@@ -734,17 +734,6 @@ static struct platform_device da8xx_rtc_device = {
 int da8xx_register_rtc(void)
 {
        int ret;
-       void __iomem *base;
-
-       base = ioremap(DA8XX_RTC_BASE, SZ_4K);
-       if (WARN_ON(!base))
-               return -ENOMEM;
-
-       /* Unlock the rtc's registers */
-       __raw_writel(0x83e70b13, base + 0x6c);
-       __raw_writel(0x95a4f1e0, base + 0x70);
-
-       iounmap(base);
 
        ret = platform_device_register(&da8xx_rtc_device);
        if (!ret)
index 98070370d602de66f781c8187ebdaf0bc8015e38..c66129b5dd18574fbfc1bd4716f80536c625c341 100644 (file)
@@ -240,7 +240,7 @@ static void __init update_fec_mac_prop(enum mac_oui oui)
                macaddr[4] = (val >> 8) & 0xff;
                macaddr[5] = (val >> 0) & 0xff;
 
-               prom_update_property(np, newmac);
+               of_update_property(np, newmac);
        }
 }
 
index 5383bc0185713d68be350602dff677d334c19f02..6b2fb87c8698a99254bdd56c0e4c2bf146994da5 100644 (file)
@@ -1034,7 +1034,8 @@ static inline void __free_iova(struct dma_iommu_mapping *mapping,
        spin_unlock_irqrestore(&mapping->lock, flags);
 }
 
-static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, gfp_t gfp)
+static struct page **__iommu_alloc_buffer(struct device *dev, size_t size,
+                                         gfp_t gfp, struct dma_attrs *attrs)
 {
        struct page **pages;
        int count = size >> PAGE_SHIFT;
@@ -1048,6 +1049,23 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, gfp_t
        if (!pages)
                return NULL;
 
+       if (dma_get_attr(DMA_ATTR_FORCE_CONTIGUOUS, attrs))
+       {
+               unsigned long order = get_order(size);
+               struct page *page;
+
+               page = dma_alloc_from_contiguous(dev, count, order);
+               if (!page)
+                       goto error;
+
+               __dma_clear_buffer(page, size);
+
+               for (i = 0; i < count; i++)
+                       pages[i] = page + i;
+
+               return pages;
+       }
+
        while (count) {
                int j, order = __fls(count);
 
@@ -1081,14 +1099,21 @@ error:
        return NULL;
 }
 
-static int __iommu_free_buffer(struct device *dev, struct page **pages, size_t size)
+static int __iommu_free_buffer(struct device *dev, struct page **pages,
+                              size_t size, struct dma_attrs *attrs)
 {
        int count = size >> PAGE_SHIFT;
        int array_size = count * sizeof(struct page *);
        int i;
-       for (i = 0; i < count; i++)
-               if (pages[i])
-                       __free_pages(pages[i], 0);
+
+       if (dma_get_attr(DMA_ATTR_FORCE_CONTIGUOUS, attrs)) {
+               dma_release_from_contiguous(dev, pages[0], count);
+       } else {
+               for (i = 0; i < count; i++)
+                       if (pages[i])
+                               __free_pages(pages[i], 0);
+       }
+
        if (array_size <= PAGE_SIZE)
                kfree(pages);
        else
@@ -1250,7 +1275,7 @@ static void *arm_iommu_alloc_attrs(struct device *dev, size_t size,
        if (gfp & GFP_ATOMIC)
                return __iommu_alloc_atomic(dev, size, handle);
 
-       pages = __iommu_alloc_buffer(dev, size, gfp);
+       pages = __iommu_alloc_buffer(dev, size, gfp, attrs);
        if (!pages)
                return NULL;
 
@@ -1271,7 +1296,7 @@ static void *arm_iommu_alloc_attrs(struct device *dev, size_t size,
 err_mapping:
        __iommu_remove_mapping(dev, *handle, size);
 err_buffer:
-       __iommu_free_buffer(dev, pages, size);
+       __iommu_free_buffer(dev, pages, size, attrs);
        return NULL;
 }
 
@@ -1327,7 +1352,7 @@ void arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr,
        }
 
        __iommu_remove_mapping(dev, handle, size);
-       __iommu_free_buffer(dev, pages, size);
+       __iommu_free_buffer(dev, pages, size, attrs);
 }
 
 static int arm_iommu_get_sgtable(struct device *dev, struct sg_table *sgt,
index d69aeea6da1e83fd6fc36c435007f0104ba96af0..76fb7dd3350aef410b3946095ae98665e5e6a92c 100644 (file)
@@ -20,6 +20,7 @@
 #define __ARCH_WANT_SYS_GETPGRP
 #define __ARCH_WANT_SYS_LLSEEK
 #define __ARCH_WANT_SYS_NICE
+#define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL
 #define __ARCH_WANT_SYS_SIGPENDING
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
index f7b05edf8ce36c925196b59dcf4c03ac12259b73..26e9c4eeaba82a20f539991c754d5e40cb161e3a 100644 (file)
 #include <asm/cacheflush.h>
 #include <asm/unistd32.h>
 
-asmlinkage int compat_sys_sched_rr_get_interval(compat_pid_t pid,
-                                               struct compat_timespec __user *interval)
-{
-       struct timespec t;
-       int ret;
-       mm_segment_t old_fs = get_fs();
-
-       set_fs(KERNEL_DS);
-       ret = sys_sched_rr_get_interval(pid, (struct timespec __user *)&t);
-       set_fs(old_fs);
-       if (put_compat_timespec(&t, interval))
-               return -EFAULT;
-       return ret;
-}
-
 static inline void
 do_compat_cache_op(unsigned long start, unsigned long end, int flags)
 {
index b8993c87d3de8473d95141560fdb82aef0aa1085..3cb3392f799e02886e8a93b88907a2ca7a9f0215 100644 (file)
@@ -804,9 +804,9 @@ void __init setup_arch(char **cmdline_p)
 
        BUG_ON(memory_start == memory_end);
 
-       init_mm.start_code = (unsigned long) &_stext;
-       init_mm.end_code = (unsigned long) &_etext;
-       init_mm.end_data = (unsigned long) &_edata;
+       init_mm.start_code = (unsigned long) _stext;
+       init_mm.end_code = (unsigned long) _etext;
+       init_mm.end_data = (unsigned long) _edata;
 #if 0 /* DAVIDM - don't set brk just incase someone decides to use it */
        init_mm.brk = (unsigned long) &_end;
 #else
@@ -814,10 +814,8 @@ void __init setup_arch(char **cmdline_p)
 #endif
 
 #ifdef DEBUG
-       printk("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x BSS=0x%06x-0x%06x\n",
-              (int) &_stext, (int) &_etext,
-              (int) &_sdata, (int) &_edata,
-              (int) &_sbss, (int) &_ebss);
+       printk("KERNEL -> TEXT=0x%p-0x%p DATA=0x%p-0x%p BSS=0x%p-0x%p\n",
+              _stext, _etext, _sdata, _edata, __bss_start, __bss_stop);
 #endif
 
 #ifdef CONFIG_VT
index a19effcccb34cbf1a60e0404e18a01758ba84d61..92e97b0894a68bbebcc138bf93305b69624c0ee7 100644 (file)
@@ -146,7 +146,7 @@ void __init mem_init(void)
 
 #else
        codek = (_etext - _stext) >> 10;
-       datak = 0; //(_ebss - _sdata) >> 10;
+       datak = 0; //(__bss_stop - _sdata) >> 10;
 #endif
 
        tmp = nr_free_pages() << PAGE_SHIFT;
index 8971026e1c63fbee30dda6c1992176a63903e115..f20d01d9aaf973bec2f0affd4cfb4a2117267d47 100644 (file)
@@ -32,6 +32,7 @@ generic-y += ipcbuf.h
 generic-y += irq_regs.h
 generic-y += kdebug.h
 generic-y += kmap_types.h
+generic-y += kvm_para.h
 generic-y += local.h
 generic-y += mman.h
 generic-y += module.h
diff --git a/arch/openrisc/include/uapi/asm/kvm_para.h b/arch/openrisc/include/uapi/asm/kvm_para.h
deleted file mode 100644 (file)
index 14fab8f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/kvm_para.h>
index 1a242a0d7583d7e0303c21cc1d9bf4522156082c..ddb7368558631118a83f9d619262f0b186135305 100644 (file)
 #include <linux/mm.h>
 #include <linux/io.h>
 #include <linux/thread_info.h>
+#include <linux/kbuild.h>
 #include <asm/page.h>
 #include <asm/pgtable.h>
 #include <asm/processor.h>
 
-#define DEFINE(sym, val) \
-               asm volatile("\n->" #sym " %0 " #val : : "i" (val))
-
-#define BLANK() asm volatile("\n->" : : )
-
 int main(void)
 {
        /* offsets into the task_struct */
index 159e94f4b22aa3b808587812ccc013ff7bc18ee7..b639852116fa3465a38347fc7186a605b0383ec9 100644 (file)
@@ -181,7 +181,7 @@ $(BOOT_TARGETS2): vmlinux
 bootwrapper_install:
        $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 
-%.dtb:
+%.dtb: scripts
        $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 
 define archhelp
diff --git a/arch/powerpc/boot/dts/a3m071.dts b/arch/powerpc/boot/dts/a3m071.dts
new file mode 100644 (file)
index 0000000..877a28c
--- /dev/null
@@ -0,0 +1,144 @@
+/*
+ * a3m071 board Device Tree Source
+ *
+ * Copyright 2012 Stefan Roese <sr@denx.de>
+ *
+ * Copyright (C) 2011 DENX Software Engineering GmbH
+ * Heiko Schocher <hs@denx.de>
+ *
+ * Copyright (C) 2007 Semihalf
+ * Marian Balakowicz <m8@semihalf.com>
+ *
+ * This program is free software; you can redistribute  it and/or modify it
+ * under  the terms of  the GNU General  Public License as published by the
+ * Free Software Foundation;  either version 2 of the  License, or (at your
+ * option) any later version.
+ */
+
+/include/ "mpc5200b.dtsi"
+
+/ {
+       model = "anonymous,a3m071";
+       compatible = "anonymous,a3m071";
+
+       soc5200@f0000000 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "fsl,mpc5200b-immr";
+               ranges = <0 0xf0000000 0x0000c000>;
+               reg = <0xf0000000 0x00000100>;
+               bus-frequency = <0>; /* From boot loader */
+               system-frequency = <0>; /* From boot loader */
+
+               timer@600 {
+                       fsl,has-wdt;
+               };
+
+               spi@f00 {
+                       status = "disabled";
+               };
+
+               usb: usb@1000 {
+                       status = "disabled";
+               };
+
+               psc@2000 {
+                       compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
+                       reg = <0x2000 0x100>;
+                       interrupts = <2 1 0>;
+               };
+
+               psc@2200 {
+                       status = "disabled";
+               };
+
+               psc@2400 {
+                       status = "disabled";
+               };
+
+               psc@2600 {
+                       status = "disabled";
+               };
+
+               psc@2800 {
+                       status = "disabled";
+               };
+
+               psc@2c00 {              // PSC6
+                       compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
+                       reg = <0x2c00 0x100>;
+                       interrupts = <2 4 0>;
+               };
+
+               ethernet@3000 {
+                       phy-handle = <&phy0>;
+               };
+
+               mdio@3000 {
+                       phy0: ethernet-phy@3 {
+                               reg = <0x03>;
+                       };
+               };
+
+               ata@3a00 {
+                       status = "disabled";
+               };
+
+               i2c@3d00 {
+                       status = "disabled";
+               };
+
+               i2c@3d40 {
+                       status = "disabled";
+               };
+       };
+
+       localbus {
+               compatible = "fsl,mpc5200b-lpb","simple-bus";
+               #address-cells = <2>;
+               #size-cells = <1>;
+               ranges = <0 0 0xfc000000 0x02000000
+                         3 0 0xe9000000 0x00080000
+                         5 0 0xe8000000 0x00010000>;
+
+               flash@0,0 {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0 0x0 0x02000000>;
+                       compatible = "cfi-flash";
+                       bank-width = <2>;
+                       partition@0x0 {
+                               label = "u-boot";
+                               reg = <0x00000000 0x00040000>;
+                               read-only;
+                       };
+                       partition@0x00040000 {
+                               label = "env";
+                               reg = <0x00040000 0x00020000>;
+                       };
+                       partition@0x00060000 {
+                               label = "dtb";
+                               reg = <0x00060000 0x00020000>;
+                       };
+                       partition@0x00080000 {
+                               label = "kernel";
+                               reg = <0x00080000 0x00500000>;
+                       };
+                       partition@0x00580000 {
+                               label = "root";
+                               reg = <0x00580000 0x00A80000>;
+                       };
+               };
+
+               fpga@3,0 {
+                       compatible = "anonymous,a3m071-fpga";
+                       reg = <3 0x0 0x00080000
+                              5 0x0 0x00010000>;
+                       interrupts = <0 0 3>;  /* level low */
+               };
+       };
+
+       pci@f0000d00 {
+               status = "disabled";
+       };
+};
index 64b6abea846453ed79f727df4bfca689670d87b9..5d7205b7bb05ea46ca0ebd253ad883917d231699 100644 (file)
 /include/ "qoriq-sata2-0.dtsi"
 /include/ "qoriq-sata2-1.dtsi"
 /include/ "qoriq-sec4.2-0.dtsi"
+/include/ "qoriq-raid1.0-0.dtsi"
 };
index 0a198b0a77e53a3447600c8180f897a4790b9cf7..8df47fc45ab530c2523c3ae0968f61d5aa09c685 100644 (file)
                rtic_c = &rtic_c;
                rtic_d = &rtic_d;
                sec_mon = &sec_mon;
+
+               raideng = &raideng;
+               raideng_jr0 = &raideng_jr0;
+               raideng_jr1 = &raideng_jr1;
+               raideng_jr2 = &raideng_jr2;
+               raideng_jr3 = &raideng_jr3;
        };
 
        cpus {
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi
new file mode 100644 (file)
index 0000000..8d2e8aa
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * QorIQ RAID 1.0 device tree stub [ controller @ offset 0x320000 ]
+ *
+ * Copyright 2012 Freescale Semiconductor Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Freescale Semiconductor nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+raideng: raideng@320000 {
+       compatible = "fsl,raideng-v1.0";
+       #address-cells = <1>;
+       #size-cells = <1>;
+       reg = <0x320000 0x10000>;
+       ranges = <0 0x320000 0x10000>;
+
+       raideng_jq0@1000 {
+               compatible = "fsl,raideng-v1.0-job-queue";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x1000 0x1000>;
+               ranges = <0x0 0x1000 0x1000>;
+
+               raideng_jr0: jr@0 {
+                       compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-hp-ring";
+                       reg = <0x0 0x400>;
+                       interrupts = <139 2 0 0>;
+                       interrupt-parent = <&mpic>;
+               };
+
+               raideng_jr1: jr@400 {
+                       compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-lp-ring";
+                       reg = <0x400 0x400>;
+                       interrupts = <140 2 0 0>;
+                       interrupt-parent = <&mpic>;
+               };
+       };
+
+       raideng_jq1@2000 {
+               compatible = "fsl,raideng-v1.0-job-queue";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x2000 0x1000>;
+               ranges = <0x0 0x2000 0x1000>;
+
+               raideng_jr2: jr@0 {
+                       compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-hp-ring";
+                       reg = <0x0 0x400>;
+                       interrupts = <141 2 0 0>;
+                       interrupt-parent = <&mpic>;
+               };
+
+               raideng_jr3: jr@400 {
+                       compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-lp-ring";
+                       reg = <0x400 0x400>;
+                       interrupts = <142 2 0 0>;
+                       interrupt-parent = <&mpic>;
+               };
+       };
+};
index 1f710a32ffae840e4fca8af13e13b4607410b5c6..5b8e1e508270a9b931eb33508c37d971d4956432 100644 (file)
@@ -2,7 +2,7 @@ CONFIG_PPC64=y
 CONFIG_ALTIVEC=y
 CONFIG_VSX=y
 CONFIG_SMP=y
-CONFIG_NR_CPUS=1024
+CONFIG_NR_CPUS=2048
 CONFIG_EXPERIMENTAL=y
 CONFIG_SYSVIPC=y
 CONFIG_POSIX_MQUEUE=y
index dc2cf9c6d9e65cc0a3592ce8275dcb114b6d6401..ef918a2328bba044173e61a799d23f8ae3cf2576 100644 (file)
@@ -52,8 +52,6 @@
 #define smp_mb__before_clear_bit()     smp_mb()
 #define smp_mb__after_clear_bit()      smp_mb()
 
-#define BITOP_MASK(nr)         (1UL << ((nr) % BITS_PER_LONG))
-#define BITOP_WORD(nr)         ((nr) / BITS_PER_LONG)
 #define BITOP_LE_SWIZZLE       ((BITS_PER_LONG-1) & ~0x7)
 
 /* Macro for generating the ***_bits() functions */
@@ -83,22 +81,22 @@ DEFINE_BITOP(change_bits, xor, "", "")
 
 static __inline__ void set_bit(int nr, volatile unsigned long *addr)
 {
-       set_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr));
+       set_bits(BIT_MASK(nr), addr + BIT_WORD(nr));
 }
 
 static __inline__ void clear_bit(int nr, volatile unsigned long *addr)
 {
-       clear_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr));
+       clear_bits(BIT_MASK(nr), addr + BIT_WORD(nr));
 }
 
 static __inline__ void clear_bit_unlock(int nr, volatile unsigned long *addr)
 {
-       clear_bits_unlock(BITOP_MASK(nr), addr + BITOP_WORD(nr));
+       clear_bits_unlock(BIT_MASK(nr), addr + BIT_WORD(nr));
 }
 
 static __inline__ void change_bit(int nr, volatile unsigned long *addr)
 {
-       change_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr));
+       change_bits(BIT_MASK(nr), addr + BIT_WORD(nr));
 }
 
 /* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output
@@ -136,26 +134,26 @@ DEFINE_TESTOP(test_and_change_bits, xor, PPC_ATOMIC_ENTRY_BARRIER,
 static __inline__ int test_and_set_bit(unsigned long nr,
                                       volatile unsigned long *addr)
 {
-       return test_and_set_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr)) != 0;
+       return test_and_set_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0;
 }
 
 static __inline__ int test_and_set_bit_lock(unsigned long nr,
                                       volatile unsigned long *addr)
 {
-       return test_and_set_bits_lock(BITOP_MASK(nr),
-                               addr + BITOP_WORD(nr)) != 0;
+       return test_and_set_bits_lock(BIT_MASK(nr),
+                               addr + BIT_WORD(nr)) != 0;
 }
 
 static __inline__ int test_and_clear_bit(unsigned long nr,
                                         volatile unsigned long *addr)
 {
-       return test_and_clear_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr)) != 0;
+       return test_and_clear_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0;
 }
 
 static __inline__ int test_and_change_bit(unsigned long nr,
                                          volatile unsigned long *addr)
 {
-       return test_and_change_bits(BITOP_MASK(nr), addr + BITOP_WORD(nr)) != 0;
+       return test_and_change_bits(BIT_MASK(nr), addr + BIT_WORD(nr)) != 0;
 }
 
 #include <asm-generic/bitops/non-atomic.h>
@@ -280,61 +278,8 @@ unsigned long __arch_hweight64(__u64 w);
 #include <asm-generic/bitops/find.h>
 
 /* Little-endian versions */
+#include <asm-generic/bitops/le.h>
 
-static __inline__ int test_bit_le(unsigned long nr,
-                                 __const__ void *addr)
-{
-       __const__ unsigned char *tmp = (__const__ unsigned char *) addr;
-       return (tmp[nr >> 3] >> (nr & 7)) & 1;
-}
-
-static inline void set_bit_le(int nr, void *addr)
-{
-       set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline void clear_bit_le(int nr, void *addr)
-{
-       clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline void __set_bit_le(int nr, void *addr)
-{
-       __set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline void __clear_bit_le(int nr, void *addr)
-{
-       __clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline int test_and_set_bit_le(int nr, void *addr)
-{
-       return test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline int test_and_clear_bit_le(int nr, void *addr)
-{
-       return test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline int __test_and_set_bit_le(int nr, void *addr)
-{
-       return __test_and_set_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-static inline int __test_and_clear_bit_le(int nr, void *addr)
-{
-       return __test_and_clear_bit(nr ^ BITOP_LE_SWIZZLE, addr);
-}
-
-#define find_first_zero_bit_le(addr, size) \
-       find_next_zero_bit_le((addr), (size), 0)
-unsigned long find_next_zero_bit_le(const void *addr,
-                                   unsigned long size, unsigned long offset);
-
-unsigned long find_next_bit_le(const void *addr,
-                                   unsigned long size, unsigned long offset);
 /* Bitmap functions for the ext2 filesystem */
 
 #include <asm-generic/bitops/ext2-atomic-setbit.h>
index 21a0687b8c4da061927ebb6e89e84b1d6035c16f..76f81bd64f1df31efca14ea59f9aa71f6e67af34 100644 (file)
@@ -401,6 +401,14 @@ extern const char *powerpc_base_platform;
            CPU_FTR_DSCR | CPU_FTR_SAO  | CPU_FTR_ASYM_SMT | \
            CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \
            CPU_FTR_ICSWX | CPU_FTR_CFAR | CPU_FTR_HVMODE | CPU_FTR_VMX_COPY)
+#define CPU_FTRS_POWER8 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
+           CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | CPU_FTR_ARCH_206 |\
+           CPU_FTR_MMCRA | CPU_FTR_SMT | \
+           CPU_FTR_COHERENT_ICACHE | \
+           CPU_FTR_PURR | CPU_FTR_SPURR | CPU_FTR_REAL_LE | \
+           CPU_FTR_DSCR | CPU_FTR_SAO  | \
+           CPU_FTR_STCX_CHECKS_ADDRESS | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \
+           CPU_FTR_ICSWX | CPU_FTR_CFAR | CPU_FTR_HVMODE | CPU_FTR_VMX_COPY)
 #define CPU_FTRS_CELL  (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
            CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \
            CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \
@@ -421,8 +429,8 @@ extern const char *powerpc_base_platform;
 #define CPU_FTRS_POSSIBLE      \
            (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 |        \
            CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_POWER6 |       \
-           CPU_FTRS_POWER7 | CPU_FTRS_CELL | CPU_FTRS_PA6T |           \
-           CPU_FTR_VSX)
+           CPU_FTRS_POWER7 | CPU_FTRS_POWER8 | CPU_FTRS_CELL |         \
+           CPU_FTRS_PA6T | CPU_FTR_VSX)
 #endif
 #else
 enum {
index 154c067761b15bbf50af6bf099bed0c997ff542e..607e4eeeb694df518fe6db2078c5475ebeae01b2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 Freescale Semicondutor, Inc.
+ * Copyright 2009 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
index a43c1473915fd745cc50cb8b574065ce7ad12507..ad708dda3ba371a5a63b9f5e970870dd0e9aaa71 100644 (file)
 #define EX_LR          72
 #define EX_CFAR                80
 
+#ifdef CONFIG_RELOCATABLE
+#define EXCEPTION_RELON_PROLOG_PSERIES_1(label, h)                     \
+       ld      r12,PACAKBASE(r13);     /* get high part of &label */   \
+       mfspr   r11,SPRN_##h##SRR0;     /* save SRR0 */                 \
+       LOAD_HANDLER(r12,label);                                        \
+       mtlr    r12;                                                    \
+       mfspr   r12,SPRN_##h##SRR1;     /* and SRR1 */                  \
+       li      r10,MSR_RI;                                             \
+       mtmsrd  r10,1;                  /* Set RI (EE=0) */             \
+       blr;
+#else
+/* If not relocatable, we can jump directly -- and save messing with LR */
+#define EXCEPTION_RELON_PROLOG_PSERIES_1(label, h)                     \
+       mfspr   r11,SPRN_##h##SRR0;     /* save SRR0 */                 \
+       mfspr   r12,SPRN_##h##SRR1;     /* and SRR1 */                  \
+       li      r10,MSR_RI;                                             \
+       mtmsrd  r10,1;                  /* Set RI (EE=0) */             \
+       b       label;
+#endif
+
+/*
+ * As EXCEPTION_PROLOG_PSERIES(), except we've already got relocation on
+ * so no need to rfid.  Save lr in case we're CONFIG_RELOCATABLE, in which
+ * case EXCEPTION_RELON_PROLOG_PSERIES_1 will be using lr.
+ */
+#define EXCEPTION_RELON_PROLOG_PSERIES(area, label, h, extra, vec)     \
+       EXCEPTION_PROLOG_1(area, extra, vec);                           \
+       EXCEPTION_RELON_PROLOG_PSERIES_1(label, h)
+
 /*
  * We're short on space and time in the exception prolog, so we can't
  * use the normal SET_REG_IMMEDIATE macro. Normally we just need the
  * word.
  */
 #define LOAD_HANDLER(reg, label)                                       \
-       addi    reg,reg,(label)-_stext; /* virt addr of handler ... */
+       /* Handlers must be within 64K of kbase, which must be 64k aligned */ \
+       ori     reg,reg,(label)-_stext; /* virt addr of handler ... */
 
 /* Exception register prefixes */
 #define EXC_HV H
 #define EXC_STD
 
+#if defined(CONFIG_RELOCATABLE)
+/*
+ * If we support interrupts with relocation on AND we're a relocatable
+ * kernel, we need to use LR to get to the 2nd level handler.  So, save/restore
+ * it when required.
+ */
+#define SAVE_LR(reg, area)     mflr    reg ;   std     reg,area+EX_LR(r13)
+#define GET_LR(reg, area)                      ld      reg,area+EX_LR(r13)
+#define RESTORE_LR(reg, area)  ld      reg,area+EX_LR(r13) ; mtlr reg
+#else
+/* ...else LR is unused and in register. */
+#define SAVE_LR(reg, area)
+#define GET_LR(reg, area)      mflr    reg
+#define RESTORE_LR(reg, area)
+#endif
+
 #define __EXCEPTION_PROLOG_1(area, extra, vec)                         \
        GET_PACA(r13);                                                  \
        std     r9,area+EX_R9(r13);     /* save r9 - r12 */             \
        mfspr   r10,SPRN_CFAR;                                          \
        std     r10,area+EX_CFAR(r13);                                  \
        END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66);         \
+       SAVE_LR(r10, area);                                             \
        mfcr    r9;                                                     \
        extra(vec);                                                     \
        std     r11,area+EX_R11(r13);                                   \
@@ -169,6 +216,7 @@ do_kvm_##n:                                                         \
        sth     r1,PACA_TRAP_SAVE(r13);                                    \
        std     r3,area+EX_R3(r13);                                        \
        addi    r3,r13,area;            /* r3 -> where regs are saved*/    \
+       RESTORE_LR(r1, area);                                              \
        b       bad_stack;                                                 \
 3:     std     r9,_CCR(r1);            /* save CR in stackframe        */ \
        std     r11,_NIP(r1);           /* save SRR0 in stackframe      */ \
@@ -194,8 +242,8 @@ do_kvm_##n:                                                         \
        ld      r10,area+EX_CFAR(r13);                                     \
        std     r10,ORIG_GPR3(r1);                                         \
        END_FTR_SECTION_NESTED(CPU_FTR_CFAR, CPU_FTR_CFAR, 66);            \
+       GET_LR(r9,area);                /* Get LR, later save to stack  */ \
        ld      r2,PACATOC(r13);        /* get kernel TOC into r2       */ \
-       mflr    r9;                     /* save LR in stackframe        */ \
        std     r9,_LINK(r1);                                              \
        mfctr   r10;                    /* save CTR in stackframe       */ \
        std     r10,_CTR(r1);                                              \
@@ -232,6 +280,26 @@ label##_hv:                                                \
        EXCEPTION_PROLOG_PSERIES(PACA_EXGEN, label##_common,    \
                                 EXC_HV, KVMTEST, vec)
 
+#define STD_RELON_EXCEPTION_PSERIES(loc, vec, label)   \
+       . = loc;                                        \
+       .globl label##_relon_pSeries;                   \
+label##_relon_pSeries:                                 \
+       HMT_MEDIUM;                                     \
+       /* No guest interrupts come through here */     \
+       SET_SCRATCH0(r13);              /* save r13 */  \
+       EXCEPTION_RELON_PROLOG_PSERIES(PACA_EXGEN, label##_common, \
+                                      EXC_STD, KVMTEST_PR, vec)
+
+#define STD_RELON_EXCEPTION_HV(loc, vec, label)                \
+       . = loc;                                        \
+       .globl label##_relon_hv;                        \
+label##_relon_hv:                                      \
+       HMT_MEDIUM;                                     \
+       /* No guest interrupts come through here */     \
+       SET_SCRATCH0(r13);      /* save r13 */          \
+       EXCEPTION_RELON_PROLOG_PSERIES(PACA_EXGEN, label##_common, \
+                                      EXC_HV, KVMTEST, vec)
+
 /* This associate vector numbers with bits in paca->irq_happened */
 #define SOFTEN_VALUE_0x500     PACA_IRQ_EE
 #define SOFTEN_VALUE_0x502     PACA_IRQ_EE
@@ -257,6 +325,9 @@ label##_hv:                                         \
        KVMTEST(vec);                                                   \
        _SOFTEN_TEST(EXC_STD, vec)
 
+#define SOFTEN_NOTEST_PR(vec)          _SOFTEN_TEST(EXC_STD, vec)
+#define SOFTEN_NOTEST_HV(vec)          _SOFTEN_TEST(EXC_HV, vec)
+
 #define __MASKABLE_EXCEPTION_PSERIES(vec, label, h, extra)             \
        HMT_MEDIUM;                                                     \
        SET_SCRATCH0(r13);    /* save r13 */                            \
@@ -279,6 +350,28 @@ label##_hv:                                                                \
        _MASKABLE_EXCEPTION_PSERIES(vec, label,                         \
                                    EXC_HV, SOFTEN_TEST_HV)
 
+#define __MASKABLE_RELON_EXCEPTION_PSERIES(vec, label, h, extra)       \
+       HMT_MEDIUM;                                                     \
+       SET_SCRATCH0(r13);    /* save r13 */                            \
+       __EXCEPTION_PROLOG_1(PACA_EXGEN, extra, vec);           \
+       EXCEPTION_RELON_PROLOG_PSERIES_1(label##_common, h);
+#define _MASKABLE_RELON_EXCEPTION_PSERIES(vec, label, h, extra)        \
+       __MASKABLE_RELON_EXCEPTION_PSERIES(vec, label, h, extra)
+
+#define MASKABLE_RELON_EXCEPTION_PSERIES(loc, vec, label)              \
+       . = loc;                                                        \
+       .globl label##_relon_pSeries;                                   \
+label##_relon_pSeries:                                                 \
+       _MASKABLE_RELON_EXCEPTION_PSERIES(vec, label,                   \
+                                         EXC_STD, SOFTEN_NOTEST_PR)
+
+#define MASKABLE_RELON_EXCEPTION_HV(loc, vec, label)                   \
+       . = loc;                                                        \
+       .globl label##_relon_hv;                                        \
+label##_relon_hv:                                                      \
+       _MASKABLE_RELON_EXCEPTION_PSERIES(vec, label,                   \
+                                         EXC_HV, SOFTEN_NOTEST_HV)
+
 /*
  * Our exception common code can be passed various "additions"
  * to specify the behaviour of interrupts, whether to kick the
index ad0b751b0d78e418e799b7cb959091d4a6f35df7..973cc3be011b95950b7402a841337c02497cb06f 100644 (file)
@@ -49,6 +49,7 @@
 #define FW_FEATURE_XCMO                ASM_CONST(0x0000000008000000)
 #define FW_FEATURE_OPAL                ASM_CONST(0x0000000010000000)
 #define FW_FEATURE_OPALv2      ASM_CONST(0x0000000020000000)
+#define FW_FEATURE_SET_MODE    ASM_CONST(0x0000000040000000)
 
 #ifndef __ASSEMBLY__
 
@@ -62,7 +63,8 @@ enum {
                FW_FEATURE_VIO | FW_FEATURE_RDMA | FW_FEATURE_LLAN |
                FW_FEATURE_BULK_REMOVE | FW_FEATURE_XDABR |
                FW_FEATURE_MULTITCE | FW_FEATURE_SPLPAR | FW_FEATURE_LPAR |
-               FW_FEATURE_CMO | FW_FEATURE_VPHN | FW_FEATURE_XCMO,
+               FW_FEATURE_CMO | FW_FEATURE_VPHN | FW_FEATURE_XCMO |
+               FW_FEATURE_SET_MODE,
        FW_FEATURE_PSERIES_ALWAYS = 0,
        FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL | FW_FEATURE_OPALv2,
        FW_FEATURE_POWERNV_ALWAYS = 0,
index 8e8c9b5032d33b61b9d9ca80c20369626f5a89a8..3b05808f9caa40cecda5b399daf39ca9fab095f0 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Freescale General-purpose Timers Module
  *
- * Copyright (c) Freescale Semicondutor, Inc. 2006.
+ * Copyright 2006 Freescale Semiconductor, Inc.
  *               Shlomi Gridish <gridish@freescale.com>
  *               Jerry Huang <Chang-Ming.Huang@freescale.com>
  * Copyright (c) MontaVista Software, Inc. 2008.
index dd5ba2c227712c79ffb574f6ecc2232c0ba91fda..77ced0b3d81d3fcf9bf6c21e43329746b5165af3 100644 (file)
@@ -71,7 +71,9 @@ struct ccsr_guts {
        u8      res0c4[0x224 - 0xc4];
        __be32  iodelay1;       /* 0x.0224 - IO delay control register 1 */
        __be32  iodelay2;       /* 0x.0228 - IO delay control register 2 */
-       u8      res22c[0x800 - 0x22c];
+       u8      res22c[0x604 - 0x22c];
+       __be32  pamubypenr;     /* 0x.604 - PAMU bypass enable register */
+       u8      res608[0x800 - 0x608];
        __be32  clkdvdr;        /* 0x.0800 - Clock Divide Register */
        u8      res804[0x900 - 0x804];
        __be32  ircr;           /* 0x.0900 - Infrared Control Register */
index 7a867065db79a8286578180abc2e8a4d36272885..0975e5c0bb19f93f85cfc1b6552f4c405771ead4 100644 (file)
 #define H_RANDOM               0x300
 #define H_COP                  0x304
 #define H_GET_MPP_X            0x314
-#define MAX_HCALL_OPCODE       H_GET_MPP_X
+#define H_SET_MODE             0x31C
+#define MAX_HCALL_OPCODE       H_SET_MODE
 
 #ifndef __ASSEMBLY__
 
@@ -355,6 +356,26 @@ struct hvcall_mpp_x_data {
 
 int h_get_mpp_x(struct hvcall_mpp_x_data *mpp_x_data);
 
+static inline unsigned int get_longbusy_msecs(int longbusy_rc)
+{
+       switch (longbusy_rc) {
+       case H_LONG_BUSY_ORDER_1_MSEC:
+               return 1;
+       case H_LONG_BUSY_ORDER_10_MSEC:
+               return 10;
+       case H_LONG_BUSY_ORDER_100_MSEC:
+               return 100;
+       case H_LONG_BUSY_ORDER_1_SEC:
+               return 1000;
+       case H_LONG_BUSY_ORDER_10_SEC:
+               return 10000;
+       case H_LONG_BUSY_ORDER_100_SEC:
+               return 100000;
+       default:
+               return 1;
+       }
+}
+
 #ifdef CONFIG_PPC_PSERIES
 extern int CMO_PrPSP;
 extern int CMO_SecPSP;
index 61e8490786b808af0d93cb18729cb8b32c14bdec..bedbff891423de317b890b9b6e65ced3721d708f 100644 (file)
@@ -3,7 +3,7 @@
  * The Internal Memory Map for devices with QE on them. This
  * is the superset of all QE devices (8360, etc.).
 
- * Copyright (C) 2006. Freescale Semicondutor, Inc. All rights reserved.
+ * Copyright (C) 2006. Freescale Semiconductor, Inc. All rights reserved.
  *
  * Authors:    Shlomi Gridish <gridish@freescale.com>
  *             Li Yang <leoli@freescale.com>
index c4231973edd351eacf480dacbdb3d1a529b1b08c..19d9d96eb8d357129e4db6b4cfeb521d44cabfa7 100644 (file)
@@ -166,9 +166,6 @@ struct machdep_calls {
                                                unsigned long size,
                                                pgprot_t vma_prot);
 
-       /* Idle loop for this platform, leave empty for default idle loop */
-       void            (*idle_loop)(void);
-
        /*
         * Function for waiting for work with reduced power in idle loop;
         * called with interrupts disabled.
@@ -320,28 +317,28 @@ static inline void log_error(char *buf, unsigned int err_type, int fatal)
                ppc_md.log_error(buf, err_type, fatal);
 }
 
-#define __define_machine_initcall(mach,level,fn,id) \
+#define __define_machine_initcall(mach, fn, id) \
        static int __init __machine_initcall_##mach##_##fn(void) { \
                if (machine_is(mach)) return fn(); \
                return 0; \
        } \
-       __define_initcall(level,__machine_initcall_##mach##_##fn,id);
-
-#define machine_core_initcall(mach,fn)         __define_machine_initcall(mach,"1",fn,1)
-#define machine_core_initcall_sync(mach,fn)    __define_machine_initcall(mach,"1s",fn,1s)
-#define machine_postcore_initcall(mach,fn)     __define_machine_initcall(mach,"2",fn,2)
-#define machine_postcore_initcall_sync(mach,fn)        __define_machine_initcall(mach,"2s",fn,2s)
-#define machine_arch_initcall(mach,fn)         __define_machine_initcall(mach,"3",fn,3)
-#define machine_arch_initcall_sync(mach,fn)    __define_machine_initcall(mach,"3s",fn,3s)
-#define machine_subsys_initcall(mach,fn)       __define_machine_initcall(mach,"4",fn,4)
-#define machine_subsys_initcall_sync(mach,fn)  __define_machine_initcall(mach,"4s",fn,4s)
-#define machine_fs_initcall(mach,fn)           __define_machine_initcall(mach,"5",fn,5)
-#define machine_fs_initcall_sync(mach,fn)      __define_machine_initcall(mach,"5s",fn,5s)
-#define machine_rootfs_initcall(mach,fn)       __define_machine_initcall(mach,"rootfs",fn,rootfs)
-#define machine_device_initcall(mach,fn)       __define_machine_initcall(mach,"6",fn,6)
-#define machine_device_initcall_sync(mach,fn)  __define_machine_initcall(mach,"6s",fn,6s)
-#define machine_late_initcall(mach,fn)         __define_machine_initcall(mach,"7",fn,7)
-#define machine_late_initcall_sync(mach,fn)    __define_machine_initcall(mach,"7s",fn,7s)
+       __define_initcall(__machine_initcall_##mach##_##fn, id);
+
+#define machine_core_initcall(mach, fn)                __define_machine_initcall(mach, fn, 1)
+#define machine_core_initcall_sync(mach, fn)   __define_machine_initcall(mach, fn, 1s)
+#define machine_postcore_initcall(mach, fn)    __define_machine_initcall(mach, fn, 2)
+#define machine_postcore_initcall_sync(mach, fn)       __define_machine_initcall(mach, fn, 2s)
+#define machine_arch_initcall(mach, fn)                __define_machine_initcall(mach, fn, 3)
+#define machine_arch_initcall_sync(mach, fn)   __define_machine_initcall(mach, fn, 3s)
+#define machine_subsys_initcall(mach, fn)      __define_machine_initcall(mach, fn, 4)
+#define machine_subsys_initcall_sync(mach, fn) __define_machine_initcall(mach, fn, 4s)
+#define machine_fs_initcall(mach, fn)          __define_machine_initcall(mach, fn, 5)
+#define machine_fs_initcall_sync(mach, fn)     __define_machine_initcall(mach, fn, 5s)
+#define machine_rootfs_initcall(mach, fn)      __define_machine_initcall(mach, fn, rootfs)
+#define machine_device_initcall(mach, fn)      __define_machine_initcall(mach, fn, 6)
+#define machine_device_initcall_sync(mach, fn) __define_machine_initcall(mach, fn, 6s)
+#define machine_late_initcall(mach, fn)                __define_machine_initcall(mach, fn, 7)
+#define machine_late_initcall_sync(mach, fn)   __define_machine_initcall(mach, fn, 7s)
 
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_MACHDEP_H */
index 5e38eedea2186e679e989b2d8a8fd35aef897978..691fd8aca939f8762257de6423a9ea193fb96c8f 100644 (file)
 #define MMU_FTRS_POWER5                MMU_FTRS_POWER4 | MMU_FTR_LOCKLESS_TLBIE
 #define MMU_FTRS_POWER6                MMU_FTRS_POWER4 | MMU_FTR_LOCKLESS_TLBIE
 #define MMU_FTRS_POWER7                MMU_FTRS_POWER4 | MMU_FTR_LOCKLESS_TLBIE
+#define MMU_FTRS_POWER8                MMU_FTRS_POWER4 | MMU_FTR_LOCKLESS_TLBIE
 #define MMU_FTRS_CELL          MMU_FTRS_DEFAULT_HPTE_ARCH_V2 | \
                                MMU_FTR_CI_LARGE_PAGE
 #define MMU_FTRS_PA6T          MMU_FTRS_DEFAULT_HPTE_ARCH_V2 | \
diff --git a/arch/powerpc/include/asm/pSeries_reconfig.h b/arch/powerpc/include/asm/pSeries_reconfig.h
deleted file mode 100644 (file)
index c07edfe..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _PPC64_PSERIES_RECONFIG_H
-#define _PPC64_PSERIES_RECONFIG_H
-#ifdef __KERNEL__
-
-#include <linux/notifier.h>
-
-/*
- * Use this API if your code needs to know about OF device nodes being
- * added or removed on pSeries systems.
- */
-
-#define PSERIES_RECONFIG_ADD           0x0001
-#define PSERIES_RECONFIG_REMOVE                0x0002
-#define PSERIES_DRCONF_MEM_ADD         0x0003
-#define PSERIES_DRCONF_MEM_REMOVE      0x0004
-#define PSERIES_UPDATE_PROPERTY                0x0005
-
-/**
- * pSeries_reconfig_notify - Notifier value structure for OFDT property updates
- *
- * @node: Device tree node which owns the property being updated
- * @property: Updated property
- */
-struct pSeries_reconfig_prop_update {
-       struct device_node *node;
-       struct property *property;
-};
-
-#ifdef CONFIG_PPC_PSERIES
-extern int pSeries_reconfig_notifier_register(struct notifier_block *);
-extern void pSeries_reconfig_notifier_unregister(struct notifier_block *);
-extern int pSeries_reconfig_notify(unsigned long action, void *p);
-/* Not the best place to put this, will be fixed when we move some
- * of the rtas suspend-me stuff to pseries */
-extern void pSeries_coalesce_init(void);
-#else /* !CONFIG_PPC_PSERIES */
-static inline int pSeries_reconfig_notifier_register(struct notifier_block *nb)
-{
-       return 0;
-}
-static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
-static inline void pSeries_coalesce_init(void) { }
-#endif /* CONFIG_PPC_PSERIES */
-
-
-#endif /* __KERNEL__ */
-#endif /* _PPC64_PSERIES_RECONFIG_H */
index 42b1f43b943ba197ce766067d735c47397519382..51fb00a20d7ea4a02304b43cf14a3a1593ef8350 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 Freescale Semicondutor, Inc.
+ * Copyright 2009 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -86,6 +86,7 @@
 #define PPC_INST_DCBA_MASK             0xfc0007fe
 #define PPC_INST_DCBAL                 0x7c2005ec
 #define PPC_INST_DCBZL                 0x7c2007ec
+#define PPC_INST_ICBT                  0x7c00002c
 #define PPC_INST_ISEL                  0x7c00001e
 #define PPC_INST_ISEL_MASK             0xfc00003e
 #define PPC_INST_LDARX                 0x7c0000a8
 #define __PPC_MB(s)    (((s) & 0x1f) << 6)
 #define __PPC_ME(s)    (((s) & 0x1f) << 1)
 #define __PPC_BI(s)    (((s) & 0x1f) << 16)
+#define __PPC_CT(t)    (((t) & 0x0f) << 21)
 
 /*
  * Only use the larx hint bit on 64bit CPUs. e500v1/v2 based CPUs will treat a
                                        __PPC_RS(t) | __PPC_RA0(a) | __PPC_RB(b))
 #define PPC_SLBFEE_DOT(t, b)   stringify_in_c(.long PPC_INST_SLBFEE | \
                                        __PPC_RT(t) | __PPC_RB(b))
+#define PPC_ICBT(c,a,b)                stringify_in_c(.long PPC_INST_ICBT | \
+                                      __PPC_CT(c) | __PPC_RA0(a) | __PPC_RB(b))
 /* PASemi instructions */
 #define LBZCIX(t,a,b)          stringify_in_c(.long PPC_INST_LBZCIX | \
                                       __PPC_RT(t) | __PPC_RA(a) | __PPC_RB(b))
index b5c91901e3840dd630c459c12322a122771e5030..99c92d5363e4d26d4917834deb36eaf1497c5519 100644 (file)
@@ -58,6 +58,22 @@ static inline int of_node_to_nid(struct device_node *device) { return 0; }
 
 extern void of_instantiate_rtc(void);
 
+/* The of_drconf_cell struct defines the layout of the LMB array
+ * specified in the device tree property
+ * ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory
+ */
+struct of_drconf_cell {
+       u64     base_addr;
+       u32     drc_index;
+       u32     reserved;
+       u32     aa_index;
+       u32     flags;
+};
+
+#define DRCONF_MEM_ASSIGNED    0x00000008
+#define DRCONF_MEM_AI_INVALID  0x00000040
+#define DRCONF_MEM_RESERVED    0x00000080
+
 /* These includes are put at the bottom because they may contain things
  * that are overridden by this file.  Ideally they shouldn't be included
  * by this file, but there are a bunch of .c files that currently depend
index 229571a49391366ed5eea30c8ce5d9cf05b91606..32b9bfa0c9bd39a3b17083afe4eda86dfbd34057 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved.
+ * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.
  *
  * Authors:    Shlomi Gridish <gridish@freescale.com>
  *             Li Yang <leoli@freescale.com>
index f706164b0bd0038d479f54a28b6314ff3861ba68..25784cc959a072a9dc50d0b596f28d0d3f56cc59 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved.
+ * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.
  *
  * Authors:    Shlomi Gridish <gridish@freescale.com>
  *             Li Yang <leoli@freescale.com>
index 97d37278ea2da4f978bbf5b5967b5ed22912ee7d..3d5c9dc8917a8d48ea33c77c14769f663765a50a 100644 (file)
 #define   LPCR_RMLS    0x1C000000      /* impl dependent rmo limit sel */
 #define          LPCR_RMLS_SH  (63-37)
 #define   LPCR_ILE     0x02000000      /* !HV irqs set MSR:LE */
+#define   LPCR_AIL_0   0x00000000      /* MMU off exception offset 0x0 */
+#define   LPCR_AIL_3   0x01800000      /* MMU on exception offset 0xc00...4xxx */
 #define   LPCR_PECE    0x00007000      /* powersave exit cause enable */
 #define     LPCR_PECE0 0x00004000      /* ext. exceptions can cause exit */
 #define     LPCR_PECE1 0x00002000      /* decrementer can cause exit */
 #define PVR_970MP      0x0044
 #define PVR_970GX      0x0045
 #define PVR_POWER7p    0x004A
+#define PVR_POWER8     0x004B
 #define PVR_BE         0x0070
 #define PVR_PA6T       0x0090
 
index 557cff845deed0b6281bf983ccb8684352ea9874..aef00c675905eec1f718deefda05f08003a2936e 100644 (file)
@@ -353,8 +353,13 @@ static inline int page_is_rtas_user_buf(unsigned long pfn)
                return 1;
        return 0;
 }
+
+/* Not the best place to put pSeries_coalesce_init, will be fixed when we
+ * move some of the rtas suspend-me stuff to pseries */
+extern void pSeries_coalesce_init(void);
 #else
 static inline int page_is_rtas_user_buf(unsigned long pfn) { return 0;}
+static inline void pSeries_coalesce_init(void) { }
 #endif
 
 extern int call_rtas(const char *, int, int, unsigned long *, ...);
diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h
new file mode 100644 (file)
index 0000000..d3ca855
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef _ASM_POWERPC_SETUP_H
+#define _ASM_POWERPC_SETUP_H
+
+#include <uapi/asm/setup.h>
+
+#ifndef __ASSEMBLY__
+extern void ppc_printk_progress(char *s, unsigned short hex);
+
+extern unsigned int rtas_data;
+extern int mem_init_done;      /* set on boot once kmalloc can be called */
+extern int init_bootmem_done;  /* set once bootmem is available */
+extern unsigned long long memory_limit;
+extern unsigned long klimit;
+extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask);
+
+struct device_node;
+extern void note_scsi_host(struct device_node *, void *);
+
+/* Used in very early kernel initialization. */
+extern unsigned long reloc_offset(void);
+extern unsigned long add_reloc_offset(unsigned long);
+extern void reloc_got2(unsigned long);
+
+#define PTRRELOC(x)    ((typeof(x)) add_reloc_offset((unsigned long)(x)))
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* _ASM_POWERPC_SETUP_H */
+
index 840838769853e653f1ee950d9fdb4ed619f54ede..cec8aae5cbf8a85fc0f7db35734222e287e7cd48 100644 (file)
@@ -164,7 +164,7 @@ COMPAT_SYS_SPU(sched_getscheduler)
 SYSCALL_SPU(sched_yield)
 COMPAT_SYS_SPU(sched_get_priority_max)
 COMPAT_SYS_SPU(sched_get_priority_min)
-COMPAT_SYS_SPU(sched_rr_get_interval)
+SYSX_SPU(sys_sched_rr_get_interval,compat_sys_sched_rr_get_interval_wrapper,sys_sched_rr_get_interval)
 COMPAT_SYS_SPU(nanosleep)
 SYSCALL_SPU(mremap)
 SYSCALL_SPU(setresuid)
index 46b09ba6bead6fa8b230436f6dc4508348189eff..6927ac26516ea7ef698c0552ef0f67cec27e6a65 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved.
+ * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.
  *
  * Authors:    Shlomi Gridish <gridish@freescale.com>
  *             Li Yang <leoli@freescale.com>
index 4644c840e2fad250364655e11f51ba06fc573274..72ea9bab07df4c1e63bd7022fe340cc7c16c0846 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Internal header file for UCC FAST unit routines.
  *
- * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved.
+ * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.
  *
  * Authors:    Shlomi Gridish <gridish@freescale.com>
  *             Li Yang <leoli@freescale.com>
index cf131ffdb8d1cbcb052ae95aedad8a8be8be6da6..c44131e68e11fa9566182766f42d4c57d314224a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved.
+ * Copyright (C) 2006 Freescale Semiconductor, Inc. All rights reserved.
  *
  * Authors:    Shlomi Gridish <gridish@freescale.com>
  *             Li Yang <leoli@freescale.com>
index b3038817b8dc2a863287a5d0370d22e615e1377d..5a7510e9d09d3865619b7a874efa7584074b5f7a 100644 (file)
@@ -21,7 +21,6 @@ extern int (*udbg_getc_poll)(void);
 
 extern void udbg_puts(const char *s);
 extern int udbg_write(const char *s, int n);
-extern int udbg_read(char *buf, int buflen);
 
 extern void register_early_udbg_console(void);
 extern void udbg_printf(const char *fmt, ...)
index 76fe846ec40e7fe771e70c25d0f01bbe75ea4789..bcbbe413c6069a885f8c755acee5baab38cf1220 100644 (file)
@@ -54,6 +54,7 @@
 #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
 #define __ARCH_WANT_SYS_NEWFSTATAT
 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
+#define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL
 #endif
 #define __ARCH_WANT_SYS_EXECVE
 #define __ARCH_WANT_SYS_FORK
index 8b9a306260b2cf7c7bc664d09ba2926bc1ac6dda..552df83f1a49627ddd1d49e1ba982c743a5bfefe 100644 (file)
@@ -1,32 +1 @@
-#ifndef _ASM_POWERPC_SETUP_H
-#define _ASM_POWERPC_SETUP_H
-
 #include <asm-generic/setup.h>
-
-#ifndef __ASSEMBLY__
-extern void ppc_printk_progress(char *s, unsigned short hex);
-
-extern unsigned int rtas_data;
-extern int mem_init_done;      /* set on boot once kmalloc can be called */
-extern int init_bootmem_done;  /* set once bootmem is available */
-extern unsigned long long memory_limit;
-extern unsigned long klimit;
-extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask);
-
-extern void via_cuda_init(void);
-extern void read_rtc_time(void);
-extern void pmac_find_display(void);
-
-struct device_node;
-extern void note_scsi_host(struct device_node *, void *);
-
-/* Used in very early kernel initialization. */
-extern unsigned long reloc_offset(void);
-extern unsigned long add_reloc_offset(unsigned long);
-extern void reloc_got2(unsigned long);
-
-#define PTRRELOC(x)    ((typeof(x)) add_reloc_offset((unsigned long)(x)))
-
-#endif /* !__ASSEMBLY__ */
-
-#endif /* _ASM_POWERPC_SETUP_H */
index cde12f8a4ebc4e98342491a2fcb91bd31fb26f05..8f619342f14c9b64fa03579b12c245ccad7ab489 1