From 62e7cafcdd47e7c5e5b76148b762fbb9186e6921 Mon Sep 17 00:00:00 2001 From: Thierry Reding Date: Wed, 21 Mar 2012 22:50:08 +0100 Subject: [PATCH] --- yaml --- r: 295283 b: refs/heads/master c: 13354dc412c36fe554f9904a92f1268c74af7e87 h: refs/heads/master i: 295281: 4fd9c6ab0a6df838b72ece1bb2a2ee6610537c87 295279: 94795b6accf80c51ada50547650513ee6f1834f6 v: v3 --- [refs] | 2 +- trunk/Documentation/00-INDEX | 2 - .../ABI/testing/sysfs-kernel-mm-cleancache | 11 + trunk/Documentation/DocBook/kgdb.tmpl | 17 - .../DocBook/media/v4l/biblio.xml | 20 - .../DocBook/media/v4l/compat.xml | 14 - .../DocBook/media/v4l/controls.xml | 220 - .../DocBook/media/v4l/selection-api.xml | 8 +- .../Documentation/DocBook/media/v4l/v4l2.xml | 19 +- .../DocBook/media/v4l/vidioc-decoder-cmd.xml | 256 - .../DocBook/media/v4l/vidioc-encoder-cmd.xml | 9 +- .../DocBook/media/v4l/vidioc-g-jpegcomp.xml | 16 +- .../DocBook/media/v4l/vidioc-g-selection.xml | 106 +- .../DocBook/media/v4l/vidioc-querycap.xml | 36 +- .../media/v4l/vidioc-s-hw-freq-seek.xml | 6 +- trunk/Documentation/EDID/1024x768.S | 44 - trunk/Documentation/EDID/1280x1024.S | 44 - trunk/Documentation/EDID/1680x1050.S | 44 - trunk/Documentation/EDID/1920x1080.S | 44 - trunk/Documentation/EDID/HOWTO.txt | 39 - trunk/Documentation/EDID/Makefile | 26 - trunk/Documentation/EDID/edid.S | 261 -- trunk/Documentation/EDID/hex | 1 - .../Documentation/backlight/lp855x-driver.txt | 78 - trunk/Documentation/crc32.txt | 182 - .../devicetree/bindings/i2c/sirf-i2c.txt | 19 - .../bindings/input/matrix-keymap.txt | 19 - .../devicetree/bindings/input/tegra-kbc.txt | 17 +- .../devicetree/bindings/sound/alc5632.txt | 24 - .../devicetree/bindings/sound/imx-audmux.txt | 13 - .../codecs/fsl-sgtl5000.txt} | 0 .../bindings/sound/tegra-audio-alc5632.txt | 59 - .../devicetree/bindings/vendor-prefixes.txt | 1 - trunk/Documentation/dvb/cards.txt | 1 - trunk/Documentation/dvb/lmedm04.txt | 11 - .../filesystems/nfs/idmapper.txt | 20 +- trunk/Documentation/filesystems/nfs/pnfs.txt | 54 - trunk/Documentation/hwmon/lm90 | 4 - trunk/Documentation/hwmon/mc13783-adc | 50 +- trunk/Documentation/hwmon/mcp3021 | 22 - trunk/Documentation/kernel-parameters.txt | 52 +- trunk/Documentation/leds/leds-lp5521.txt | 63 - trunk/Documentation/pinctrl.txt | 311 +- trunk/Documentation/scsi/LICENSE.qla2xxx | 41 +- trunk/Documentation/scsi/bfa.txt | 82 - trunk/Documentation/scsi/libsas.txt | 15 + .../sound/alsa/ALSA-Configuration.txt | 8 +- .../sound/alsa/HD-Audio-Models.txt | 79 +- trunk/Documentation/sound/alsa/HD-Audio.txt | 7 +- .../video4linux/CARDLIST.cx23885 | 1 - trunk/Documentation/video4linux/CARDLIST.cx88 | 4 +- .../Documentation/video4linux/CARDLIST.em28xx | 10 +- .../video4linux/CARDLIST.saa7134 | 1 - .../Documentation/video4linux/CARDLIST.tuner | 3 +- trunk/Documentation/video4linux/fimc.txt | 178 - trunk/Documentation/video4linux/gspca.txt | 1 - trunk/Documentation/vm/cleancache.txt | 41 +- trunk/MAINTAINERS | 177 +- trunk/arch/Kconfig | 3 - trunk/arch/alpha/include/asm/mman.h | 4 - trunk/arch/alpha/include/asm/pci.h | 7 +- trunk/arch/alpha/kernel/pci.c | 86 +- trunk/arch/alpha/kernel/pci_impl.h | 3 + trunk/arch/alpha/kernel/sys_marvel.c | 3 +- trunk/arch/alpha/kernel/sys_titan.c | 3 +- trunk/arch/arm/common/it8152.c | 4 +- trunk/arch/arm/include/asm/pci.h | 8 + trunk/arch/arm/include/asm/pgtable-nommu.h | 1 + trunk/arch/arm/kernel/bios32.c | 75 +- trunk/arch/arm/kernel/process.c | 3 +- trunk/arch/arm/mach-cns3xxx/pcie.c | 4 +- trunk/arch/arm/mach-dove/pcie.c | 4 +- trunk/arch/arm/mach-ep93xx/core.c | 19 +- .../arm/mach-ep93xx/include/mach/platform.h | 2 +- trunk/arch/arm/mach-footbridge/dc21285.c | 8 +- trunk/arch/arm/mach-imx/Kconfig | 6 + trunk/arch/arm/mach-imx/clock-imx27.c | 2 +- trunk/arch/arm/mach-imx/devices-imx27.h | 2 - .../arm/mach-imx/eukrea_mbimx27-baseboard.c | 20 + .../arm/mach-imx/eukrea_mbimxsd-baseboard.c | 1 + .../arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 17 + .../arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 17 + .../arm/mach-imx/mach-imx27_visstrim_m10.c | 1 - trunk/arch/arm/mach-imx/mach-pca100.c | 13 + trunk/arch/arm/mach-imx/mach-pcm043.c | 13 + trunk/arch/arm/mach-imx/mm-imx21.c | 6 - trunk/arch/arm/mach-imx/mm-imx25.c | 7 - trunk/arch/arm/mach-imx/mm-imx27.c | 7 - trunk/arch/arm/mach-imx/mm-imx3.c | 13 - trunk/arch/arm/mach-imx/mm-imx5.c | 22 - trunk/arch/arm/mach-integrator/pci_v3.c | 7 +- trunk/arch/arm/mach-iop13xx/pci.c | 4 +- trunk/arch/arm/mach-ixp2000/ixdp2400.c | 4 +- trunk/arch/arm/mach-ixp2000/ixdp2800.c | 4 +- trunk/arch/arm/mach-ixp2000/ixdp2x00.c | 4 +- trunk/arch/arm/mach-ixp2000/pci.c | 6 +- trunk/arch/arm/mach-ixp23xx/pci.c | 6 +- trunk/arch/arm/mach-ixp4xx/common-pci.c | 4 +- trunk/arch/arm/mach-kirkwood/openrd-setup.c | 6 - trunk/arch/arm/mach-kirkwood/pcie.c | 4 +- trunk/arch/arm/mach-kirkwood/t5325-setup.c | 6 - trunk/arch/arm/mach-ks8695/pci.c | 4 +- trunk/arch/arm/mach-mv78xx0/pcie.c | 4 +- trunk/arch/arm/mach-omap1/Kconfig | 3 + trunk/arch/arm/mach-omap1/Makefile | 4 +- trunk/arch/arm/mach-omap1/board-ams-delta.c | 9 +- trunk/arch/arm/mach-omap1/board-fsample.c | 15 +- trunk/arch/arm/mach-omap1/board-h2.c | 15 +- trunk/arch/arm/mach-omap1/board-h3.c | 9 +- trunk/arch/arm/mach-omap1/board-htcherald.c | 9 +- trunk/arch/arm/mach-omap1/board-innovator.c | 11 +- trunk/arch/arm/mach-omap1/board-nokia770.c | 19 +- trunk/arch/arm/mach-omap1/board-osk.c | 14 +- trunk/arch/arm/mach-omap1/board-palmte.c | 10 +- trunk/arch/arm/mach-omap1/board-palmtt.c | 10 +- trunk/arch/arm/mach-omap1/board-palmz71.c | 10 +- trunk/arch/arm/mach-omap1/board-perseus2.c | 15 +- trunk/arch/arm/mach-omap1/board-sx1.c | 16 +- trunk/arch/arm/mach-omap1/devices.c | 9 + trunk/arch/arm/mach-omap1/mcbsp.c | 14 +- trunk/arch/arm/mach-omap2/Makefile | 4 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 30 - trunk/arch/arm/mach-omap2/board-omap4panda.c | 60 +- trunk/arch/arm/mach-omap2/devices.c | 23 +- trunk/arch/arm/mach-omap2/io.c | 1 + trunk/arch/arm/mach-omap2/mcbsp.c | 54 +- trunk/arch/arm/mach-orion5x/pci.c | 14 +- .../arm/mach-s3c64xx/mach-crag6410-module.c | 1 - trunk/arch/arm/mach-sa1100/pci-nanoengine.c | 8 +- trunk/arch/arm/mach-shmobile/board-ag5evm.c | 24 +- trunk/arch/arm/mach-shmobile/board-ap4evb.c | 332 +- trunk/arch/arm/mach-shmobile/board-bonito.c | 6 +- trunk/arch/arm/mach-shmobile/board-mackerel.c | 124 +- trunk/arch/arm/mach-tegra/Kconfig | 4 - trunk/arch/arm/mach-tegra/include/mach/kbc.h | 13 +- .../mach-tegra/include/mach/pinconf-tegra.h | 63 - trunk/arch/arm/mach-tegra/include/mach/smmu.h | 63 - trunk/arch/arm/mach-tegra/pcie.c | 6 +- trunk/arch/arm/mach-u300/core.c | 80 +- .../arm/mach-u300/include/mach/gpio-u300.h | 2 - trunk/arch/arm/mach-versatile/pci.c | 6 +- trunk/arch/arm/mm/iomap.c | 3 + trunk/arch/arm/plat-iop/pci.c | 4 +- trunk/arch/arm/plat-mxc/Kconfig | 6 + trunk/arch/arm/plat-mxc/Makefile | 2 + trunk/arch/arm/plat-mxc/audmux-v1.c | 64 + .../arm/plat-mxc/audmux-v2.c} | 185 +- .../plat-mxc/devices/platform-mx2-camera.c | 18 - trunk/arch/arm/plat-mxc/include/mach/audmux.h | 60 + .../plat-mxc/include/mach/devices-common.h | 2 - trunk/arch/arm/plat-omap/Kconfig | 8 + trunk/arch/arm/plat-omap/Makefile | 2 + trunk/arch/arm/plat-omap/common.c | 2 + trunk/arch/arm/plat-omap/fb.c | 334 +- trunk/arch/arm/plat-omap/fb.h | 10 + .../arm/plat-omap/include/plat/blizzard.h | 12 + trunk/arch/arm/plat-omap/include/plat/board.h | 2 + .../arch/arm/plat-omap/include/plat/hwa742.h | 8 + trunk/arch/arm/plat-omap/include/plat/mcbsp.h | 333 ++ .../arm/plat-omap/include/plat/omap4-keypad.h | 9 + trunk/arch/arm/plat-omap/include/plat/vram.h | 21 +- .../soc/omap => arch/arm/plat-omap}/mcbsp.c | 549 ++- .../arm/plat-samsung/include/plat/regs-fb.h | 33 +- .../arm/plat-spear/include/plat/keyboard.h | 66 +- trunk/arch/blackfin/Kconfig | 1 - .../blackfin/configs/BF518F-EZBRD_defconfig | 25 +- .../blackfin/configs/BF526-EZBRD_defconfig | 26 +- .../blackfin/configs/BF527-EZKIT-V2_defconfig | 27 +- .../blackfin/configs/BF527-EZKIT_defconfig | 28 +- .../blackfin/configs/BF533-EZKIT_defconfig | 23 +- .../blackfin/configs/BF533-STAMP_defconfig | 22 +- .../blackfin/configs/BF537-STAMP_defconfig | 27 +- .../blackfin/configs/BF548-EZKIT_defconfig | 15 +- .../configs/BF561-EZKIT-SMP_defconfig | 35 +- .../blackfin/configs/BF561-EZKIT_defconfig | 23 +- trunk/arch/blackfin/include/asm/atomic.h | 2 - trunk/arch/blackfin/include/asm/barrier.h | 48 - trunk/arch/blackfin/include/asm/bfin5xx_spi.h | 1 + .../blackfin/include/asm/bfin_simple_timer.h | 10 +- trunk/arch/blackfin/include/asm/bfin_sport.h | 3 - trunk/arch/blackfin/include/asm/blackfin.h | 44 +- trunk/arch/blackfin/include/asm/cmpxchg.h | 132 - trunk/arch/blackfin/include/asm/exec.h | 1 - trunk/arch/blackfin/include/asm/irq.h | 4 + trunk/arch/blackfin/include/asm/irq_handler.h | 1 - trunk/arch/blackfin/include/asm/kgdb.h | 1 - trunk/arch/blackfin/include/asm/mmu_context.h | 5 +- trunk/arch/blackfin/include/asm/switch_to.h | 39 - trunk/arch/blackfin/include/asm/system.h | 197 +- trunk/arch/blackfin/include/asm/thread_info.h | 2 - trunk/arch/blackfin/include/asm/unistd.h | 4 +- trunk/arch/blackfin/kernel/Makefile | 2 +- trunk/arch/blackfin/kernel/asm-offsets.c | 1 - .../kernel/{bfin_dma.c => bfin_dma_5xx.c} | 8 +- trunk/arch/blackfin/kernel/cplb-mpu/cplbmgr.c | 2 - trunk/arch/blackfin/kernel/ipipe.c | 1 + trunk/arch/blackfin/kernel/kgdb_test.c | 1 + trunk/arch/blackfin/kernel/process.c | 1 - trunk/arch/blackfin/kernel/ptrace.c | 1 + trunk/arch/blackfin/kernel/reboot.c | 1 + trunk/arch/blackfin/kernel/setup.c | 1 - trunk/arch/blackfin/kernel/trace.c | 1 - trunk/arch/blackfin/kernel/traps.c | 1 - trunk/arch/blackfin/lib/ins.S | 2 +- .../arch/blackfin/mach-bf537/boards/pnav10.c | 1 + trunk/arch/blackfin/mach-bf537/boards/stamp.c | 24 +- trunk/arch/blackfin/mach-bf548/boards/ezkit.c | 49 +- trunk/arch/blackfin/mach-bf561/atomic.S | 7 - .../mach-bf561/include/mach/defBF561.h | 227 +- trunk/arch/blackfin/mach-common/entry.S | 4 +- trunk/arch/c6x/include/asm/pgtable.h | 3 + trunk/arch/hexagon/kernel/signal.c | 12 +- trunk/arch/hexagon/kernel/vdso.c | 3 +- trunk/arch/ia64/include/asm/pci.h | 6 + trunk/arch/ia64/include/asm/xen/interface.h | 1 - trunk/arch/ia64/pci/pci.c | 55 +- trunk/arch/ia64/sn/kernel/io_init.c | 16 +- trunk/arch/m68k/q40/config.c | 13 - .../arch/microblaze/include/asm/pci-bridge.h | 1 + trunk/arch/microblaze/include/asm/pci.h | 8 + trunk/arch/microblaze/include/asm/pgtable.h | 2 + trunk/arch/microblaze/pci/pci-common.c | 117 +- trunk/arch/mips/include/asm/mman.h | 4 - trunk/arch/mips/include/asm/pci.h | 9 +- trunk/arch/mips/jz4740/board-qi_lb60.c | 6 - trunk/arch/mips/kernel/vdso.c | 3 +- trunk/arch/mips/pci/fixup-cobalt.c | 61 + trunk/arch/mips/pci/pci-bcm1480.c | 2 +- trunk/arch/mips/pci/pci-ip27.c | 2 +- trunk/arch/mips/pci/pci-lantiq.c | 3 +- trunk/arch/mips/pci/pci-sb1250.c | 2 +- trunk/arch/mips/pci/pci-xlr.c | 2 +- trunk/arch/mips/pci/pci.c | 86 +- trunk/arch/mn10300/Kconfig | 1 - trunk/arch/mn10300/include/asm/pci.h | 16 + trunk/arch/mn10300/include/asm/reset-regs.h | 4 + trunk/arch/mn10300/unit-asb2305/pci.c | 62 +- trunk/arch/openrisc/include/asm/pgtable.h | 1 + trunk/arch/parisc/include/asm/mman.h | 4 - trunk/arch/parisc/include/asm/pci.h | 38 + trunk/arch/parisc/kernel/pci.c | 52 + trunk/arch/powerpc/include/asm/pci.h | 9 +- trunk/arch/powerpc/include/asm/ppc-pci.h | 2 + trunk/arch/powerpc/kernel/pci-common.c | 86 +- trunk/arch/powerpc/kernel/pci_32.c | 6 +- trunk/arch/powerpc/kernel/pci_64.c | 7 +- trunk/arch/powerpc/kernel/pci_of_scan.c | 12 +- trunk/arch/powerpc/kernel/rtas_pci.c | 10 +- trunk/arch/powerpc/kernel/vdso.c | 10 +- trunk/arch/powerpc/platforms/maple/pci.c | 2 +- trunk/arch/powerpc/platforms/pasemi/pci.c | 3 + trunk/arch/powerpc/platforms/powermac/pci.c | 3 + .../arch/powerpc/platforms/powernv/pci-ioda.c | 5 +- trunk/arch/powerpc/platforms/powernv/pci.c | 5 +- .../powerpc/platforms/pseries/pci_dlpar.c | 2 +- trunk/arch/powerpc/platforms/pseries/setup.c | 3 - trunk/arch/powerpc/platforms/wsp/wsp_pci.c | 1 + trunk/arch/s390/include/asm/cputime.h | 9 +- trunk/arch/s390/include/asm/debug.h | 1 - trunk/arch/s390/include/asm/hardirq.h | 1 - trunk/arch/s390/include/asm/ipl.h | 1 - trunk/arch/s390/include/asm/irq.h | 7 +- trunk/arch/s390/include/asm/lowcore.h | 119 +- trunk/arch/s390/include/asm/os_info.h | 50 - trunk/arch/s390/include/asm/sigp.h | 132 + trunk/arch/s390/include/asm/smp.h | 63 +- trunk/arch/s390/include/asm/system.h | 34 - trunk/arch/s390/include/asm/timer.h | 4 +- trunk/arch/s390/include/asm/vdso.h | 4 +- trunk/arch/s390/kernel/Makefile | 4 +- trunk/arch/s390/kernel/asm-offsets.c | 27 +- trunk/arch/s390/kernel/compat_signal.c | 6 +- trunk/arch/s390/kernel/crash_dump.c | 37 +- trunk/arch/s390/kernel/debug.c | 40 +- trunk/arch/s390/kernel/early.c | 22 +- trunk/arch/s390/kernel/entry.S | 159 +- trunk/arch/s390/kernel/entry.h | 17 +- trunk/arch/s390/kernel/entry64.S | 139 +- trunk/arch/s390/kernel/ipl.c | 99 +- trunk/arch/s390/kernel/irq.c | 14 +- trunk/arch/s390/kernel/lgr.c | 200 - trunk/arch/s390/kernel/machine_kexec.c | 52 +- trunk/arch/s390/kernel/nmi.c | 2 + trunk/arch/s390/kernel/os_info.c | 169 - trunk/arch/s390/kernel/process.c | 7 +- trunk/arch/s390/kernel/setup.c | 61 +- trunk/arch/s390/kernel/signal.c | 6 +- trunk/arch/s390/kernel/smp.c | 1147 +++-- trunk/arch/s390/kernel/switch_cpu.S | 58 + trunk/arch/s390/kernel/switch_cpu64.S | 51 + trunk/arch/s390/kernel/swsusp_asm64.S | 19 +- trunk/arch/s390/kernel/time.c | 4 +- trunk/arch/s390/kernel/topology.c | 8 +- trunk/arch/s390/kernel/traps.c | 6 +- trunk/arch/s390/kernel/vdso.c | 38 +- trunk/arch/s390/kernel/vtime.c | 168 +- trunk/arch/s390/kvm/interrupt.c | 6 +- trunk/arch/s390/lib/delay.c | 31 +- trunk/arch/s390/lib/spinlock.c | 30 +- trunk/arch/s390/mm/fault.c | 4 +- trunk/arch/s390/oprofile/hwsampler.c | 6 +- trunk/arch/sh/boards/mach-ap325rxa/setup.c | 22 +- trunk/arch/sh/boards/mach-ecovec24/setup.c | 24 +- trunk/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c | 10 +- trunk/arch/sh/boards/mach-kfr2r09/setup.c | 8 +- trunk/arch/sh/boards/mach-migor/lcd_qvga.c | 3 +- trunk/arch/sh/boards/mach-migor/setup.c | 16 +- trunk/arch/sh/boards/mach-se/7724/setup.c | 16 +- trunk/arch/sh/drivers/pci/pci.c | 75 +- trunk/arch/sh/include/asm/pci.h | 6 + .../sh/include/mach-kfr2r09/mach/kfr2r09.h | 16 +- trunk/arch/sh/include/mach-migor/mach/migor.h | 2 +- trunk/arch/sh/kernel/vsyscall/vsyscall.c | 3 +- trunk/arch/sparc/Kconfig | 1 - trunk/arch/sparc/include/asm/irq_64.h | 1 + trunk/arch/sparc/include/asm/pci_32.h | 8 + trunk/arch/sparc/include/asm/pci_64.h | 8 + trunk/arch/sparc/kernel/leon_pci.c | 47 +- trunk/arch/sparc/kernel/pci.c | 106 +- trunk/arch/tile/mm/elf.c | 8 +- trunk/arch/um/kernel/signal.c | 26 +- trunk/arch/unicore32/include/asm/pci.h | 1 - trunk/arch/unicore32/kernel/pci.c | 5 +- trunk/arch/unicore32/kernel/process.c | 2 +- trunk/arch/x86/crypto/camellia_glue.c | 4 +- trunk/arch/x86/crypto/twofish_glue_3way.c | 4 +- trunk/arch/x86/include/asm/kgdb.h | 10 +- trunk/arch/x86/include/asm/xen/interface.h | 1 - trunk/arch/x86/kernel/cpu/perf_event.c | 4 +- trunk/arch/x86/kernel/irqinit.c | 6 +- trunk/arch/x86/kernel/kgdb.c | 6 +- trunk/arch/x86/kernel/pci-dma.c | 5 +- trunk/arch/x86/pci/acpi.c | 7 +- trunk/arch/x86/pci/fixup.c | 12 +- trunk/arch/x86/pci/i386.c | 85 +- trunk/arch/x86/pci/mrst.c | 40 +- trunk/arch/x86/pci/xen.c | 27 - trunk/arch/x86/platform/mrst/mrst.c | 16 - trunk/arch/x86/syscalls/syscall_32.tbl | 2 +- trunk/arch/x86/um/mem_32.c | 8 + trunk/arch/x86/um/vdso/vma.c | 3 +- trunk/arch/x86/vdso/vdso32-setup.c | 17 +- trunk/arch/x86/vdso/vma.c | 3 +- trunk/arch/x86/xen/enlighten.c | 99 +- trunk/arch/x86/xen/irq.c | 8 +- trunk/arch/x86/xen/mmu.c | 20 +- trunk/arch/x86/xen/multicalls.h | 2 +- trunk/arch/x86/xen/setup.c | 1 + trunk/arch/x86/xen/smp.c | 2 +- trunk/arch/xtensa/include/asm/mman.h | 4 - trunk/arch/xtensa/kernel/pci.c | 17 +- trunk/crypto/Kconfig | 1 - trunk/crypto/crc32c.c | 94 +- trunk/drivers/ata/ahci.c | 10 +- trunk/drivers/ata/ahci.h | 6 - trunk/drivers/ata/ahci_platform.c | 11 - trunk/drivers/ata/ata_piix.c | 8 - trunk/drivers/ata/libahci.c | 5 - trunk/drivers/ata/libata-core.c | 34 +- trunk/drivers/ata/libata-eh.c | 1 - trunk/drivers/ata/libata-scsi.c | 13 - trunk/drivers/ata/libata.h | 2 +- trunk/drivers/ata/pata_arasan_cf.c | 12 +- trunk/drivers/ata/pata_cmd64x.c | 147 +- trunk/drivers/ata/pata_legacy.c | 3 +- trunk/drivers/ata/pata_mpc52xx.c | 44 +- trunk/drivers/ata/sata_fsl.c | 111 +- trunk/drivers/base/regmap/internal.h | 14 +- trunk/drivers/base/regmap/regcache-lzo.c | 16 +- trunk/drivers/base/regmap/regcache-rbtree.c | 27 +- trunk/drivers/base/regmap/regcache.c | 102 +- trunk/drivers/base/regmap/regmap-debugfs.c | 84 +- trunk/drivers/base/regmap/regmap-i2c.c | 17 - trunk/drivers/base/regmap/regmap-spi.c | 17 - trunk/drivers/base/regmap/regmap.c | 307 +- trunk/drivers/block/drbd/drbd_nl.c | 2 +- trunk/drivers/char/agp/intel-agp.c | 1 - trunk/drivers/char/agp/intel-gtt.c | 10 +- trunk/drivers/crypto/Kconfig | 9 + trunk/drivers/firewire/Kconfig | 5 + trunk/drivers/firewire/core-card.c | 34 +- trunk/drivers/firewire/core-cdev.c | 24 +- trunk/drivers/firewire/core-device.c | 62 +- trunk/drivers/firewire/core-iso.c | 6 - trunk/drivers/firewire/core-topology.c | 17 +- trunk/drivers/firewire/core-transaction.c | 44 +- trunk/drivers/firewire/core.h | 21 - trunk/drivers/firewire/net.c | 43 +- trunk/drivers/firewire/nosy.c | 4 +- trunk/drivers/firewire/ohci.c | 350 +- trunk/drivers/firewire/sbp2.c | 130 +- trunk/drivers/gpu/drm/Kconfig | 20 - trunk/drivers/gpu/drm/Makefile | 7 +- trunk/drivers/gpu/drm/drm_crtc.c | 448 +- trunk/drivers/gpu/drm/drm_crtc_helper.c | 22 +- trunk/drivers/gpu/drm/drm_drv.c | 16 +- trunk/drivers/gpu/drm/drm_edid.c | 12 +- trunk/drivers/gpu/drm/drm_edid_load.c | 250 - trunk/drivers/gpu/drm/drm_fb_helper.c | 88 +- trunk/drivers/gpu/drm/drm_fops.c | 8 - trunk/drivers/gpu/drm/drm_gem.c | 4 +- trunk/drivers/gpu/drm/drm_ioctl.c | 8 - trunk/drivers/gpu/drm/drm_irq.c | 4 +- trunk/drivers/gpu/drm/drm_memory.c | 19 + trunk/drivers/gpu/drm/drm_modes.c | 30 +- trunk/drivers/gpu/drm/drm_pci.c | 2 + trunk/drivers/gpu/drm/drm_platform.c | 12 +- trunk/drivers/gpu/drm/drm_stub.c | 26 - trunk/drivers/gpu/drm/drm_sysfs.c | 7 +- trunk/drivers/gpu/drm/drm_usb.c | 2 + trunk/drivers/gpu/drm/drm_vm.c | 5 +- trunk/drivers/gpu/drm/exynos/Kconfig | 14 +- trunk/drivers/gpu/drm/exynos/Makefile | 11 +- trunk/drivers/gpu/drm/exynos/exynos_ddc.c | 1 + trunk/drivers/gpu/drm/exynos/exynos_drm_buf.c | 191 +- trunk/drivers/gpu/drm/exynos/exynos_drm_buf.h | 22 +- .../gpu/drm/exynos/exynos_drm_connector.c | 35 +- .../drivers/gpu/drm/exynos/exynos_drm_core.c | 140 +- .../drivers/gpu/drm/exynos/exynos_drm_crtc.c | 12 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.c | 94 +- trunk/drivers/gpu/drm/exynos/exynos_drm_drv.h | 38 +- .../gpu/drm/exynos/exynos_drm_encoder.c | 24 +- trunk/drivers/gpu/drm/exynos/exynos_drm_fb.c | 6 + .../drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 90 +- .../drivers/gpu/drm/exynos/exynos_drm_fimd.c | 20 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gem.c | 364 +- trunk/drivers/gpu/drm/exynos/exynos_drm_gem.h | 29 +- .../drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 115 +- .../drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 5 - .../drivers/gpu/drm/exynos/exynos_drm_plane.c | 8 +- .../drivers/gpu/drm/exynos/exynos_drm_vidi.c | 676 --- .../drivers/gpu/drm/exynos/exynos_drm_vidi.h | 36 - trunk/drivers/gpu/drm/exynos/exynos_hdmi.c | 1437 +----- trunk/drivers/gpu/drm/exynos/exynos_hdmi.h | 50 + trunk/drivers/gpu/drm/exynos/exynos_mixer.c | 57 +- trunk/drivers/gpu/drm/exynos/exynos_mixer.h | 92 + trunk/drivers/gpu/drm/exynos/regs-hdmi.h | 488 +- trunk/drivers/gpu/drm/gma500/Kconfig | 10 +- trunk/drivers/gpu/drm/gma500/Makefile | 10 - trunk/drivers/gpu/drm/gma500/cdv_device.c | 169 +- trunk/drivers/gpu/drm/gma500/cdv_device.h | 2 +- trunk/drivers/gpu/drm/gma500/cdv_intel_crt.c | 1 - .../gpu/drm/gma500/cdv_intel_display.c | 91 +- trunk/drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 1 - trunk/drivers/gpu/drm/gma500/cdv_intel_lvds.c | 16 +- trunk/drivers/gpu/drm/gma500/framebuffer.c | 64 +- trunk/drivers/gpu/drm/gma500/gem_glue.c | 1 - trunk/drivers/gpu/drm/gma500/gtt.c | 4 +- trunk/drivers/gpu/drm/gma500/intel_gmbus.c | 2 +- trunk/drivers/gpu/drm/gma500/mdfld_device.c | 691 --- trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 1017 ---- trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.h | 79 - .../drivers/gpu/drm/gma500/mdfld_dsi_output.c | 618 --- .../drivers/gpu/drm/gma500/mdfld_dsi_output.h | 378 -- .../gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 694 --- .../gpu/drm/gma500/mdfld_dsi_pkg_sender.h | 92 - .../gpu/drm/gma500/mdfld_intel_display.c | 1180 ----- trunk/drivers/gpu/drm/gma500/mdfld_output.c | 74 - trunk/drivers/gpu/drm/gma500/mdfld_output.h | 77 - trunk/drivers/gpu/drm/gma500/mdfld_tmd_vid.c | 201 - trunk/drivers/gpu/drm/gma500/mdfld_tpo_vid.c | 124 - trunk/drivers/gpu/drm/gma500/mmu.c | 13 +- trunk/drivers/gpu/drm/gma500/oaktrail_crtc.c | 18 +- .../drivers/gpu/drm/gma500/oaktrail_device.c | 211 +- trunk/drivers/gpu/drm/gma500/oaktrail_hdmi.c | 401 +- .../gpu/drm/gma500/oaktrail_hdmi_i2c.c | 6 +- trunk/drivers/gpu/drm/gma500/oaktrail_lvds.c | 5 +- trunk/drivers/gpu/drm/gma500/power.c | 17 +- trunk/drivers/gpu/drm/gma500/psb_device.c | 34 +- trunk/drivers/gpu/drm/gma500/psb_drv.c | 65 +- trunk/drivers/gpu/drm/gma500/psb_drv.h | 435 +- .../gpu/drm/gma500/psb_intel_display.c | 50 +- trunk/drivers/gpu/drm/gma500/psb_intel_lvds.c | 12 +- trunk/drivers/gpu/drm/gma500/psb_intel_reg.h | 9 - trunk/drivers/gpu/drm/gma500/psb_intel_sdvo.c | 30 +- trunk/drivers/gpu/drm/gma500/psb_irq.c | 62 +- trunk/drivers/gpu/drm/gma500/psb_irq.h | 2 - .../gpu/drm/gma500/tc35876x-dsi-lvds.c | 829 ---- .../gpu/drm/gma500/tc35876x-dsi-lvds.h | 38 - trunk/drivers/gpu/drm/i2c/ch7006_drv.c | 5 +- trunk/drivers/gpu/drm/i810/i810_dma.c | 3 +- trunk/drivers/gpu/drm/i915/Makefile | 2 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 324 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 66 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 49 +- trunk/drivers/gpu/drm/i915/i915_drv.h | 164 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 528 +-- trunk/drivers/gpu/drm/i915/i915_gem_evict.c | 21 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 205 +- trunk/drivers/gpu/drm/i915/i915_gem_gtt.c | 275 +- trunk/drivers/gpu/drm/i915/i915_gem_tiling.c | 23 +- trunk/drivers/gpu/drm/i915/i915_irq.c | 197 +- trunk/drivers/gpu/drm/i915/i915_mem.c | 387 ++ trunk/drivers/gpu/drm/i915/i915_reg.h | 132 +- trunk/drivers/gpu/drm/i915/intel_acpi.c | 2 +- trunk/drivers/gpu/drm/i915/intel_bios.c | 4 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 5 +- trunk/drivers/gpu/drm/i915/intel_display.c | 388 +- trunk/drivers/gpu/drm/i915/intel_dp.c | 23 +- trunk/drivers/gpu/drm/i915/intel_drv.h | 1 - trunk/drivers/gpu/drm/i915/intel_dvo.c | 1 + trunk/drivers/gpu/drm/i915/intel_fb.c | 6 +- trunk/drivers/gpu/drm/i915/intel_hdmi.c | 23 +- trunk/drivers/gpu/drm/i915/intel_i2c.c | 210 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 31 - trunk/drivers/gpu/drm/i915/intel_modes.c | 34 +- trunk/drivers/gpu/drm/i915/intel_overlay.c | 18 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 6 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 210 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.h | 35 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 43 +- trunk/drivers/gpu/drm/i915/intel_sprite.c | 4 +- trunk/drivers/gpu/drm/i915/intel_tv.c | 2 +- trunk/drivers/gpu/drm/mga/mga_dma.c | 2 - trunk/drivers/gpu/drm/nouveau/Makefile | 3 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.c | 278 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.h | 8 +- trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 11 +- .../drivers/gpu/drm/nouveau/nouveau_channel.c | 34 +- .../gpu/drm/nouveau/nouveau_connector.c | 36 +- trunk/drivers/gpu/drm/nouveau/nouveau_crtc.h | 3 - .../drivers/gpu/drm/nouveau/nouveau_display.c | 51 +- trunk/drivers/gpu/drm/nouveau/nouveau_dma.c | 61 +- trunk/drivers/gpu/drm/nouveau/nouveau_dma.h | 4 +- trunk/drivers/gpu/drm/nouveau/nouveau_dp.c | 325 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.c | 18 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.h | 190 +- .../drivers/gpu/drm/nouveau/nouveau_encoder.h | 18 - trunk/drivers/gpu/drm/nouveau/nouveau_fbcon.c | 6 +- trunk/drivers/gpu/drm/nouveau/nouveau_fence.c | 35 +- trunk/drivers/gpu/drm/nouveau/nouveau_gem.c | 10 +- trunk/drivers/gpu/drm/nouveau/nouveau_i2c.c | 8 +- trunk/drivers/gpu/drm/nouveau/nouveau_mem.c | 809 +--- trunk/drivers/gpu/drm/nouveau/nouveau_mxm.c | 39 +- trunk/drivers/gpu/drm/nouveau/nouveau_perf.c | 409 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.c | 235 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.h | 22 - trunk/drivers/gpu/drm/nouveau/nouveau_state.c | 378 +- trunk/drivers/gpu/drm/nouveau/nv04_fb.c | 34 - trunk/drivers/gpu/drm/nouveau/nv10_fb.c | 126 +- trunk/drivers/gpu/drm/nouveau/nv20_fb.c | 148 - trunk/drivers/gpu/drm/nouveau/nv40_fb.c | 45 - trunk/drivers/gpu/drm/nouveau/nv50_crtc.c | 42 +- trunk/drivers/gpu/drm/nouveau/nv50_dac.c | 7 +- trunk/drivers/gpu/drm/nouveau/nv50_display.c | 39 +- trunk/drivers/gpu/drm/nouveau/nv50_display.h | 2 - trunk/drivers/gpu/drm/nouveau/nv50_evo.h | 3 +- trunk/drivers/gpu/drm/nouveau/nv50_pm.c | 397 +- trunk/drivers/gpu/drm/nouveau/nv50_sor.c | 213 +- trunk/drivers/gpu/drm/nouveau/nv50_vm.c | 29 +- trunk/drivers/gpu/drm/nouveau/nv50_vram.c | 17 - trunk/drivers/gpu/drm/nouveau/nvc0_fifo.c | 36 +- trunk/drivers/gpu/drm/nouveau/nvc0_graph.c | 9 + trunk/drivers/gpu/drm/nouveau/nvc0_pm.c | 2 +- trunk/drivers/gpu/drm/nouveau/nvc0_vm.c | 4 +- trunk/drivers/gpu/drm/nouveau/nvc0_vram.c | 33 +- trunk/drivers/gpu/drm/nouveau/nvd0_display.c | 359 +- trunk/drivers/gpu/drm/r128/r128_drv.c | 1 - trunk/drivers/gpu/drm/radeon/Makefile | 2 +- trunk/drivers/gpu/drm/radeon/ObjectID.h | 5 - trunk/drivers/gpu/drm/radeon/atombios.h | 1109 +---- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 120 +- trunk/drivers/gpu/drm/radeon/atombios_dp.c | 9 +- .../gpu/drm/radeon/atombios_encoders.c | 71 +- trunk/drivers/gpu/drm/radeon/atombios_i2c.c | 139 - trunk/drivers/gpu/drm/radeon/evergreen.c | 81 +- .../gpu/drm/radeon/evergreen_blit_kms.c | 14 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 1178 +---- trunk/drivers/gpu/drm/radeon/evergreen_reg.h | 1 - trunk/drivers/gpu/drm/radeon/evergreend.h | 377 -- trunk/drivers/gpu/drm/radeon/ni.c | 147 +- trunk/drivers/gpu/drm/radeon/nid.h | 1 - trunk/drivers/gpu/drm/radeon/r100.c | 109 +- trunk/drivers/gpu/drm/radeon/r200.c | 29 +- trunk/drivers/gpu/drm/radeon/r300.c | 9 +- trunk/drivers/gpu/drm/radeon/r420.c | 2 +- trunk/drivers/gpu/drm/radeon/r500_reg.h | 2 - trunk/drivers/gpu/drm/radeon/r520.c | 4 +- trunk/drivers/gpu/drm/radeon/r600.c | 51 +- trunk/drivers/gpu/drm/radeon/r600_blit_kms.c | 15 +- trunk/drivers/gpu/drm/radeon/r600_cs.c | 629 +-- trunk/drivers/gpu/drm/radeon/r600d.h | 24 - trunk/drivers/gpu/drm/radeon/radeon.h | 296 +- trunk/drivers/gpu/drm/radeon/radeon_asic.c | 1783 +++---- trunk/drivers/gpu/drm/radeon/radeon_asic.h | 49 +- .../drivers/gpu/drm/radeon/radeon_atombios.c | 92 +- .../drivers/gpu/drm/radeon/radeon_benchmark.c | 24 +- .../gpu/drm/radeon/radeon_blit_common.h | 44 - trunk/drivers/gpu/drm/radeon/radeon_clocks.c | 2 +- .../gpu/drm/radeon/radeon_connectors.c | 33 +- trunk/drivers/gpu/drm/radeon/radeon_cp.c | 2 - trunk/drivers/gpu/drm/radeon/radeon_cs.c | 100 +- trunk/drivers/gpu/drm/radeon/radeon_cursor.c | 20 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 92 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 6 +- .../drivers/gpu/drm/radeon/radeon_encoders.c | 6 +- trunk/drivers/gpu/drm/radeon/radeon_family.h | 4 - trunk/drivers/gpu/drm/radeon/radeon_fb.c | 11 +- trunk/drivers/gpu/drm/radeon/radeon_gem.c | 26 + trunk/drivers/gpu/drm/radeon/radeon_i2c.c | 32 +- trunk/drivers/gpu/drm/radeon/radeon_kms.c | 34 +- .../gpu/drm/radeon/radeon_legacy_crtc.c | 4 +- trunk/drivers/gpu/drm/radeon/radeon_mode.h | 2 +- trunk/drivers/gpu/drm/radeon/radeon_object.c | 64 +- trunk/drivers/gpu/drm/radeon/radeon_object.h | 2 - trunk/drivers/gpu/drm/radeon/radeon_pm.c | 13 +- trunk/drivers/gpu/drm/radeon/radeon_reg.h | 3 - trunk/drivers/gpu/drm/radeon/radeon_ring.c | 9 +- trunk/drivers/gpu/drm/radeon/radeon_ttm.c | 15 +- trunk/drivers/gpu/drm/radeon/reg_srcs/cayman | 24 +- .../drivers/gpu/drm/radeon/reg_srcs/evergreen | 24 +- trunk/drivers/gpu/drm/radeon/reg_srcs/r600 | 20 +- trunk/drivers/gpu/drm/radeon/rs400.c | 2 +- trunk/drivers/gpu/drm/radeon/rs600.c | 23 +- trunk/drivers/gpu/drm/radeon/rs690.c | 4 +- trunk/drivers/gpu/drm/radeon/rv515.c | 5 +- trunk/drivers/gpu/drm/radeon/rv770.c | 4 +- trunk/drivers/gpu/drm/radeon/si.c | 4128 ----------------- .../drivers/gpu/drm/radeon/si_blit_shaders.c | 252 - .../drivers/gpu/drm/radeon/si_blit_shaders.h | 32 - trunk/drivers/gpu/drm/radeon/si_reg.h | 33 - trunk/drivers/gpu/drm/radeon/sid.h | 886 ---- trunk/drivers/gpu/drm/savage/savage_state.c | 5 +- trunk/drivers/gpu/drm/sis/sis_drv.c | 2 - trunk/drivers/gpu/drm/ttm/ttm_agp_backend.c | 4 +- trunk/drivers/gpu/drm/ttm/ttm_bo.c | 72 +- trunk/drivers/gpu/drm/ttm/ttm_bo_vm.c | 5 +- trunk/drivers/gpu/drm/ttm/ttm_memory.c | 12 +- trunk/drivers/gpu/drm/ttm/ttm_object.c | 5 +- trunk/drivers/gpu/drm/ttm/ttm_page_alloc.c | 55 +- .../drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 60 +- trunk/drivers/gpu/drm/ttm/ttm_tt.c | 8 +- trunk/drivers/gpu/drm/udl/Kconfig | 12 - trunk/drivers/gpu/drm/udl/Makefile | 6 - trunk/drivers/gpu/drm/udl/udl_connector.c | 141 - trunk/drivers/gpu/drm/udl/udl_drv.c | 99 - trunk/drivers/gpu/drm/udl/udl_drv.h | 141 - trunk/drivers/gpu/drm/udl/udl_encoder.c | 80 - trunk/drivers/gpu/drm/udl/udl_fb.c | 611 --- trunk/drivers/gpu/drm/udl/udl_gem.c | 227 - trunk/drivers/gpu/drm/udl/udl_main.c | 338 -- trunk/drivers/gpu/drm/udl/udl_modeset.c | 414 -- trunk/drivers/gpu/drm/udl/udl_transfer.c | 253 - trunk/drivers/gpu/drm/via/via_map.c | 2 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 55 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 10 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 15 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 22 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 252 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h | 9 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 91 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 8 - trunk/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 4 +- trunk/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 38 +- trunk/drivers/hid/hid-core.c | 20 - trunk/drivers/hid/hid-ids.h | 12 - trunk/drivers/hwmon/Kconfig | 28 +- trunk/drivers/hwmon/Makefile | 1 - trunk/drivers/hwmon/fam15h_power.c | 10 +- trunk/drivers/hwmon/lm63.c | 586 +-- trunk/drivers/hwmon/lm90.c | 98 +- trunk/drivers/hwmon/mc13783-adc.c | 103 +- trunk/drivers/hwmon/mcp3021.c | 171 - trunk/drivers/hwmon/w83795.c | 132 +- trunk/drivers/i2c/algos/i2c-algo-bit.c | 3 +- trunk/drivers/i2c/busses/Kconfig | 44 +- trunk/drivers/i2c/busses/Makefile | 4 +- .../i2c/busses/i2c-designware-platdrv.c | 2 +- trunk/drivers/i2c/busses/i2c-eg20t.c | 44 +- trunk/drivers/i2c/busses/i2c-imx.c | 5 + trunk/drivers/i2c/busses/i2c-mpc.c | 63 +- trunk/drivers/i2c/busses/i2c-s3c2410.c | 14 +- trunk/drivers/i2c/busses/i2c-sirf.c | 459 -- trunk/drivers/i2c/busses/i2c-tegra.c | 1 + trunk/drivers/i2c/busses/i2c-versatile.c | 10 - trunk/drivers/i2c/busses/i2c-xlr.c | 278 -- trunk/drivers/infiniband/ulp/srpt/ib_srpt.c | 64 +- trunk/drivers/input/Kconfig | 4 - trunk/drivers/input/Makefile | 1 - trunk/drivers/input/evdev.c | 52 +- trunk/drivers/input/input.c | 2 +- trunk/drivers/input/joystick/as5011.c | 12 +- trunk/drivers/input/keyboard/Kconfig | 2 +- trunk/drivers/input/keyboard/adp5588-keys.c | 12 +- trunk/drivers/input/keyboard/adp5589-keys.c | 12 +- trunk/drivers/input/keyboard/lm8323.c | 12 +- trunk/drivers/input/keyboard/max7359_keypad.c | 12 +- trunk/drivers/input/keyboard/mcs_touchkey.c | 13 +- .../drivers/input/keyboard/mpr121_touchkey.c | 12 +- .../input/keyboard/nomadik-ske-keypad.c | 17 +- trunk/drivers/input/keyboard/omap4-keypad.c | 2 +- trunk/drivers/input/keyboard/qt1070.c | 12 +- trunk/drivers/input/keyboard/qt2160.c | 12 +- trunk/drivers/input/keyboard/samsung-keypad.c | 6 +- trunk/drivers/input/keyboard/spear-keyboard.c | 16 +- trunk/drivers/input/keyboard/tegra-kbc.c | 72 +- trunk/drivers/input/misc/Kconfig | 26 +- trunk/drivers/input/misc/Makefile | 2 - trunk/drivers/input/misc/ad714x-i2c.c | 12 +- trunk/drivers/input/misc/ad714x-spi.c | 12 +- trunk/drivers/input/misc/adxl34x-i2c.c | 12 +- trunk/drivers/input/misc/adxl34x-spi.c | 12 +- trunk/drivers/input/misc/bma150.c | 13 +- trunk/drivers/input/misc/cma3000_d0x_i2c.c | 13 +- trunk/drivers/input/misc/da9052_onkey.c | 169 - trunk/drivers/input/misc/gp2ap002a00f.c | 13 +- trunk/drivers/input/misc/kxtj9.c | 34 +- trunk/drivers/input/misc/max8925_onkey.c | 115 +- trunk/drivers/input/misc/max8997_haptic.c | 407 -- trunk/drivers/input/misc/mma8450.c | 12 +- trunk/drivers/input/misc/mpu3050.c | 12 +- trunk/drivers/input/misc/pcf8574_keypad.c | 12 +- trunk/drivers/input/misc/twl4030-vibra.c | 2 +- trunk/drivers/input/mouse/Kconfig | 17 - trunk/drivers/input/mouse/Makefile | 1 - trunk/drivers/input/mouse/bcm5974.c | 1 - trunk/drivers/input/mouse/hgpk.c | 9 +- trunk/drivers/input/mouse/psmouse-base.c | 15 +- trunk/drivers/input/mouse/psmouse.h | 2 - trunk/drivers/input/mouse/sentelic.c | 12 +- trunk/drivers/input/mouse/synaptics_i2c.c | 13 +- trunk/drivers/input/mouse/synaptics_usb.c | 557 --- trunk/drivers/input/of_keymap.c | 87 - trunk/drivers/input/serio/altera_ps2.c | 4 +- trunk/drivers/input/serio/at32psif.c | 22 +- trunk/drivers/input/serio/q40kbd.c | 139 +- trunk/drivers/input/tablet/wacom_sys.c | 10 +- trunk/drivers/input/tablet/wacom_wac.c | 28 +- trunk/drivers/input/tablet/wacom_wac.h | 2 - trunk/drivers/input/touchscreen/Kconfig | 68 +- trunk/drivers/input/touchscreen/Makefile | 7 +- trunk/drivers/input/touchscreen/ad7877.c | 12 +- trunk/drivers/input/touchscreen/ad7879-i2c.c | 12 +- trunk/drivers/input/touchscreen/ad7879-spi.c | 12 +- trunk/drivers/input/touchscreen/ads7846.c | 12 +- .../drivers/input/touchscreen/atmel-wm97xx.c | 20 +- .../drivers/input/touchscreen/atmel_mxt_ts.c | 13 +- .../drivers/input/touchscreen/auo-pixcir-ts.c | 12 +- trunk/drivers/input/touchscreen/bu21013_ts.c | 25 +- .../drivers/input/touchscreen/cy8ctmg110_ts.c | 13 +- trunk/drivers/input/touchscreen/cyttsp_core.c | 625 --- trunk/drivers/input/touchscreen/cyttsp_core.h | 149 - trunk/drivers/input/touchscreen/cyttsp_i2c.c | 136 - trunk/drivers/input/touchscreen/cyttsp_spi.c | 200 - trunk/drivers/input/touchscreen/eeti_ts.c | 14 +- trunk/drivers/input/touchscreen/egalax_ts.c | 13 +- .../input/touchscreen/hp680_ts_input.c | 2 +- trunk/drivers/input/touchscreen/ili210x.c | 360 -- trunk/drivers/input/touchscreen/max11801_ts.c | 13 +- trunk/drivers/input/touchscreen/mcs5000_ts.c | 13 +- trunk/drivers/input/touchscreen/migor_ts.c | 13 +- .../drivers/input/touchscreen/pixcir_i2c_ts.c | 12 +- trunk/drivers/input/touchscreen/st1232.c | 12 +- trunk/drivers/input/touchscreen/ti_tscadc.c | 486 -- trunk/drivers/input/touchscreen/tsc2005.c | 12 +- trunk/drivers/input/touchscreen/tsc2007.c | 13 +- .../input/touchscreen/usbtouchscreen.c | 63 - trunk/drivers/iommu/Kconfig | 20 - trunk/drivers/iommu/Makefile | 2 - trunk/drivers/iommu/amd_iommu_init.c | 187 +- trunk/drivers/iommu/amd_iommu_v2.c | 14 +- trunk/drivers/iommu/tegra-gart.c | 451 -- trunk/drivers/iommu/tegra-smmu.c | 1034 ----- trunk/drivers/leds/Kconfig | 10 +- trunk/drivers/leds/Makefile | 1 - trunk/drivers/leds/led-class.c | 70 + trunk/drivers/leds/led-core.c | 70 - trunk/drivers/leds/leds-gpio.c | 3 +- trunk/drivers/leds/leds-lm3530.c | 135 +- trunk/drivers/leds/leds-lp5521.c | 147 +- trunk/drivers/leds/leds-lp5523.c | 6 +- trunk/drivers/leds/leds-pca9633.c | 193 - trunk/drivers/leds/leds-tca6507.c | 9 +- trunk/drivers/md/bitmap.c | 152 +- trunk/drivers/md/bitmap.h | 22 +- trunk/drivers/md/dm-raid.c | 16 +- trunk/drivers/md/faulty.c | 2 +- trunk/drivers/md/linear.c | 32 +- trunk/drivers/md/md.c | 140 +- trunk/drivers/md/md.h | 13 +- trunk/drivers/md/multipath.c | 2 +- trunk/drivers/md/raid0.c | 164 +- trunk/drivers/md/raid0.h | 11 +- trunk/drivers/md/raid1.c | 98 +- trunk/drivers/md/raid10.c | 187 +- trunk/drivers/md/raid5.c | 25 +- trunk/drivers/media/common/tuners/Makefile | 4 +- trunk/drivers/media/common/tuners/max2165.c | 9 +- trunk/drivers/media/common/tuners/mt2063.c | 4 +- trunk/drivers/media/common/tuners/mt2063.h | 4 + .../drivers/media/common/tuners/tuner-types.c | 4 - trunk/drivers/media/common/tuners/xc5000.c | 47 +- trunk/drivers/media/common/tuners/xc5000.h | 5 - .../media/dvb/ddbridge/ddbridge-core.c | 1 - trunk/drivers/media/dvb/ddbridge/ddbridge.h | 2 + .../drivers/media/dvb/dvb-core/dvb_frontend.c | 2 - trunk/drivers/media/dvb/dvb-usb/Kconfig | 19 - trunk/drivers/media/dvb/dvb-usb/Makefile | 14 +- trunk/drivers/media/dvb/dvb-usb/af9015.c | 49 - trunk/drivers/media/dvb/dvb-usb/af9015.h | 2 - trunk/drivers/media/dvb/dvb-usb/anysee.c | 38 +- trunk/drivers/media/dvb/dvb-usb/az6007.c | 957 ---- .../drivers/media/dvb/dvb-usb/dib0700_core.c | 10 +- trunk/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 8 - trunk/drivers/media/dvb/dvb-usb/it913x.c | 170 +- trunk/drivers/media/dvb/dvb-usb/lmedm04.c | 285 +- trunk/drivers/media/dvb/dvb-usb/lmedm04.h | 1 - trunk/drivers/media/dvb/dvb-usb/mxl111sf.c | 6 +- trunk/drivers/media/dvb/dvb-usb/rtl28xxu.c | 982 ---- trunk/drivers/media/dvb/dvb-usb/rtl28xxu.h | 264 -- trunk/drivers/media/dvb/frontends/Kconfig | 15 - trunk/drivers/media/dvb/frontends/Makefile | 6 +- .../media/dvb/frontends/au8522_decoder.c | 13 +- .../drivers/media/dvb/frontends/au8522_dig.c | 10 +- trunk/drivers/media/dvb/frontends/cx22702.c | 22 +- trunk/drivers/media/dvb/frontends/dib0090.c | 2 +- trunk/drivers/media/dvb/frontends/dib9000.c | 121 +- trunk/drivers/media/dvb/frontends/drxd_hard.c | 6 +- trunk/drivers/media/dvb/frontends/drxk.h | 23 +- trunk/drivers/media/dvb/frontends/drxk_hard.c | 46 +- trunk/drivers/media/dvb/frontends/drxk_hard.h | 1 - .../media/dvb/frontends/it913x-fe-priv.h | 5 - trunk/drivers/media/dvb/frontends/it913x-fe.c | 91 +- trunk/drivers/media/dvb/frontends/it913x-fe.h | 4 - trunk/drivers/media/dvb/frontends/lgdt330x.c | 6 +- trunk/drivers/media/dvb/frontends/m88rs2000.c | 904 ---- trunk/drivers/media/dvb/frontends/m88rs2000.h | 66 - trunk/drivers/media/dvb/frontends/rtl2830.c | 562 --- trunk/drivers/media/dvb/frontends/rtl2830.h | 97 - .../media/dvb/frontends/rtl2830_priv.h | 57 - .../drivers/media/dvb/frontends/stb0899_drv.c | 12 +- trunk/drivers/media/dvb/frontends/stv0288.c | 2 +- trunk/drivers/media/dvb/frontends/tda10071.c | 2 +- trunk/drivers/media/dvb/ngene/ngene-cards.c | 1 - trunk/drivers/media/dvb/pt1/pt1.c | 93 +- trunk/drivers/media/media-devnode.c | 2 +- trunk/drivers/media/radio/Kconfig | 125 +- trunk/drivers/media/radio/Makefile | 2 - trunk/drivers/media/radio/radio-aimslab.c | 440 +- trunk/drivers/media/radio/radio-aztech.c | 372 +- trunk/drivers/media/radio/radio-gemtek.c | 494 +- trunk/drivers/media/radio/radio-isa.c | 340 -- trunk/drivers/media/radio/radio-isa.h | 105 - trunk/drivers/media/radio/radio-keene.c | 427 -- trunk/drivers/media/radio/radio-maxiradio.c | 379 +- trunk/drivers/media/radio/radio-rtrack2.c | 332 +- trunk/drivers/media/radio/radio-sf16fmr2.c | 61 +- trunk/drivers/media/radio/radio-tea5764.c | 19 +- trunk/drivers/media/radio/radio-terratec.c | 365 +- trunk/drivers/media/radio/radio-trust.c | 388 +- trunk/drivers/media/radio/radio-typhoon.c | 366 +- trunk/drivers/media/radio/radio-zoltrix.c | 442 +- trunk/drivers/media/radio/saa7706h.c | 13 +- .../media/radio/si470x/radio-si470x-i2c.c | 28 +- trunk/drivers/media/radio/si4713-i2c.c | 15 +- trunk/drivers/media/radio/tef6862.c | 14 +- trunk/drivers/media/rc/Kconfig | 9 - trunk/drivers/media/rc/Makefile | 1 - trunk/drivers/media/rc/fintek-cir.c | 26 +- trunk/drivers/media/rc/fintek-cir.h | 4 +- trunk/drivers/media/rc/gpio-ir-recv.c | 205 - trunk/drivers/media/rc/ir-sony-decoder.c | 2 +- trunk/drivers/media/rc/keymaps/Makefile | 3 - trunk/drivers/media/rc/keymaps/rc-it913x-v1.c | 95 - trunk/drivers/media/rc/keymaps/rc-it913x-v2.c | 94 - .../media/rc/keymaps/rc-kworld-pc150u.c | 102 - .../rc/keymaps/rc-nec-terratec-cinergy-xs.c | 52 - trunk/drivers/media/rc/mceusb.c | 2 - trunk/drivers/media/rc/rc-core-priv.h | 2 +- trunk/drivers/media/rc/rc-main.c | 9 +- trunk/drivers/media/video/Kconfig | 49 +- trunk/drivers/media/video/Makefile | 24 +- trunk/drivers/media/video/adp1653.c | 20 +- trunk/drivers/media/video/adv7170.c | 13 +- trunk/drivers/media/video/adv7175.c | 13 +- trunk/drivers/media/video/adv7180.c | 14 +- trunk/drivers/media/video/adv7183.c | 699 --- trunk/drivers/media/video/adv7183_regs.h | 107 - trunk/drivers/media/video/adv7343.c | 13 +- trunk/drivers/media/video/ak881x.c | 13 +- trunk/drivers/media/video/aptina-pll.c | 174 - trunk/drivers/media/video/aptina-pll.h | 56 - trunk/drivers/media/video/as3645a.c | 19 +- trunk/drivers/media/video/blackfin/Kconfig | 10 - trunk/drivers/media/video/blackfin/Makefile | 2 - .../media/video/blackfin/bfin_capture.c | 1059 ----- trunk/drivers/media/video/blackfin/ppi.c | 271 -- trunk/drivers/media/video/bt819.c | 13 +- trunk/drivers/media/video/bt856.c | 13 +- trunk/drivers/media/video/bt866.c | 13 +- trunk/drivers/media/video/bt8xx/bttv-driver.c | 4 + trunk/drivers/media/video/cs5345.c | 13 +- trunk/drivers/media/video/cs53l32a.c | 13 +- trunk/drivers/media/video/cx18/cx18-driver.c | 8 +- trunk/drivers/media/video/cx18/cx18-driver.h | 2 + trunk/drivers/media/video/cx18/cx18-ioctl.c | 4 + .../drivers/media/video/cx231xx/cx231xx-417.c | 1 + .../media/video/cx231xx/cx231xx-cards.c | 1 + .../media/video/cx231xx/cx231xx-video.c | 6 +- .../media/video/cx25821/cx25821-core.c | 9 +- .../media/video/cx25840/cx25840-core.c | 13 +- trunk/drivers/media/video/davinci/vpif.h | 2 + .../media/video/davinci/vpif_display.c | 2 + .../drivers/media/video/em28xx/em28xx-cards.c | 114 +- .../drivers/media/video/em28xx/em28xx-core.c | 145 +- trunk/drivers/media/video/em28xx/em28xx-dvb.c | 96 +- trunk/drivers/media/video/em28xx/em28xx-i2c.c | 8 + .../drivers/media/video/em28xx/em28xx-video.c | 10 +- trunk/drivers/media/video/em28xx/em28xx.h | 29 +- .../drivers/media/video/gspca/gl860/Makefile | 2 +- .../drivers/media/video/gspca/m5602/Makefile | 2 +- trunk/drivers/media/video/gspca/ov534_9.c | 49 +- trunk/drivers/media/video/gspca/pac7302.c | 583 ++- trunk/drivers/media/video/gspca/sn9c20x.c | 1138 +++-- trunk/drivers/media/video/gspca/sonixj.c | 185 +- .../media/video/gspca/stv06xx/Makefile | 2 +- trunk/drivers/media/video/gspca/zc3xx.c | 328 +- trunk/drivers/media/video/imx074.c | 13 +- trunk/drivers/media/video/indycam.c | 13 +- trunk/drivers/media/video/ir-kbd-i2c.c | 17 +- trunk/drivers/media/video/ivtv/Makefile | 8 +- .../drivers/media/video/ivtv/ivtv-controls.c | 62 - .../drivers/media/video/ivtv/ivtv-controls.h | 2 - trunk/drivers/media/video/ivtv/ivtv-driver.c | 41 +- trunk/drivers/media/video/ivtv/ivtv-driver.h | 12 +- trunk/drivers/media/video/ivtv/ivtv-fileops.c | 2 +- trunk/drivers/media/video/ivtv/ivtv-ioctl.c | 188 +- trunk/drivers/media/video/ivtv/ivtv-streams.c | 20 +- trunk/drivers/media/video/ks0127.c | 13 +- trunk/drivers/media/video/m52790.c | 13 +- .../drivers/media/video/m5mols/m5mols_core.c | 15 +- .../media/video/marvell-ccic/mcam-core.c | 35 +- .../media/video/marvell-ccic/mcam-core.h | 1 + .../media/video/marvell-ccic/mmp-driver.c | 13 +- trunk/drivers/media/video/msp3400-driver.c | 13 +- trunk/drivers/media/video/mt9m001.c | 13 +- trunk/drivers/media/video/mt9m032.c | 868 ---- trunk/drivers/media/video/mt9m111.c | 13 +- trunk/drivers/media/video/mt9p031.c | 80 +- trunk/drivers/media/video/mt9t001.c | 13 +- trunk/drivers/media/video/mt9t031.c | 13 +- trunk/drivers/media/video/mt9t112.c | 16 +- trunk/drivers/media/video/mt9v011.c | 13 +- trunk/drivers/media/video/mt9v022.c | 13 +- trunk/drivers/media/video/mt9v032.c | 13 +- trunk/drivers/media/video/mx2_camera.c | 1214 +++-- trunk/drivers/media/video/mx2_emmaprp.c | 1008 ---- trunk/drivers/media/video/noon010pc30.c | 15 +- trunk/drivers/media/video/omap/omap_vout.c | 3 +- trunk/drivers/media/video/ov2640.c | 16 +- trunk/drivers/media/video/ov5642.c | 13 +- trunk/drivers/media/video/ov6650.c | 13 +- trunk/drivers/media/video/ov7670.c | 13 +- trunk/drivers/media/video/ov772x.c | 17 +- trunk/drivers/media/video/ov9640.c | 13 +- trunk/drivers/media/video/ov9740.c | 13 +- .../media/video/pvrusb2/pvrusb2-devattr.c | 10 - .../media/video/pvrusb2/pvrusb2-v4l2.c | 1 + trunk/drivers/media/video/pwc/pwc-v4l.c | 10 +- trunk/drivers/media/video/pxa_camera.c | 4 +- trunk/drivers/media/video/rj54n1cb0c.c | 13 +- trunk/drivers/media/video/s2255drv.c | 33 +- trunk/drivers/media/video/s5k6aa.c | 15 +- .../media/video/s5p-fimc/fimc-capture.c | 121 +- .../drivers/media/video/s5p-fimc/fimc-core.c | 85 +- .../drivers/media/video/s5p-fimc/fimc-core.h | 2 + .../media/video/s5p-fimc/fimc-mdevice.c | 7 +- .../drivers/media/video/s5p-fimc/mipi-csis.c | 111 +- trunk/drivers/media/video/s5p-g2d/g2d-hw.c | 5 - trunk/drivers/media/video/s5p-g2d/g2d.c | 63 +- trunk/drivers/media/video/s5p-g2d/g2d.h | 6 +- .../drivers/media/video/s5p-jpeg/jpeg-core.c | 199 +- .../drivers/media/video/s5p-jpeg/jpeg-core.h | 11 +- trunk/drivers/media/video/s5p-jpeg/jpeg-hw.h | 18 +- .../drivers/media/video/s5p-mfc/s5p_mfc_pm.c | 24 +- trunk/drivers/media/video/s5p-tv/Kconfig | 10 - trunk/drivers/media/video/s5p-tv/Makefile | 2 - trunk/drivers/media/video/s5p-tv/hdmi_drv.c | 120 +- .../drivers/media/video/s5p-tv/hdmiphy_drv.c | 12 +- trunk/drivers/media/video/s5p-tv/mixer_drv.c | 2 +- trunk/drivers/media/video/s5p-tv/sdo_drv.c | 26 +- .../drivers/media/video/s5p-tv/sii9234_drv.c | 432 -- trunk/drivers/media/video/saa6588.c | 13 +- trunk/drivers/media/video/saa7110.c | 13 +- trunk/drivers/media/video/saa7115.c | 13 +- trunk/drivers/media/video/saa7127.c | 13 +- trunk/drivers/media/video/saa7134/Makefile | 8 +- trunk/drivers/media/video/saa7134/saa6752hs.c | 13 +- .../media/video/saa7134/saa7134-cards.c | 59 - .../drivers/media/video/saa7134/saa7134-dvb.c | 44 - .../drivers/media/video/saa7134/saa7134-i2c.c | 14 +- .../media/video/saa7134/saa7134-input.c | 63 - trunk/drivers/media/video/saa7134/saa7134.h | 5 +- trunk/drivers/media/video/saa7164/Makefile | 8 +- .../media/video/saa7164/saa7164-encoder.c | 6 + .../drivers/media/video/saa7164/saa7164-vbi.c | 6 + trunk/drivers/media/video/saa717x.c | 13 +- trunk/drivers/media/video/saa7185.c | 13 +- trunk/drivers/media/video/saa7191.c | 13 +- .../media/video/sh_mobile_ceu_camera.c | 35 +- trunk/drivers/media/video/soc_camera.c | 32 +- trunk/drivers/media/video/sr030pc30.c | 13 +- trunk/drivers/media/video/tda7432.c | 13 +- trunk/drivers/media/video/tda9840.c | 13 +- trunk/drivers/media/video/tea6415c.c | 13 +- trunk/drivers/media/video/tea6420.c | 13 +- trunk/drivers/media/video/ths7303.c | 14 +- trunk/drivers/media/video/tlv320aic23b.c | 13 +- .../drivers/media/video/tm6000/tm6000-input.c | 3 +- trunk/drivers/media/video/tuner-core.c | 28 +- trunk/drivers/media/video/tvaudio.c | 13 +- trunk/drivers/media/video/tveeprom.c | 10 +- trunk/drivers/media/video/tvp514x.c | 13 +- trunk/drivers/media/video/tvp5150.c | 141 +- trunk/drivers/media/video/tvp7002.c | 25 +- trunk/drivers/media/video/tw9910.c | 16 +- trunk/drivers/media/video/upd64031a.c | 13 +- trunk/drivers/media/video/upd64083.c | 13 +- trunk/drivers/media/video/uvc/uvc_driver.c | 11 +- trunk/drivers/media/video/uvc/uvc_queue.c | 2 +- trunk/drivers/media/video/uvc/uvc_v4l2.c | 207 +- .../drivers/media/video/v4l2-compat-ioctl32.c | 22 +- trunk/drivers/media/video/v4l2-ctrls.c | 91 +- trunk/drivers/media/video/v4l2-dev.c | 2 +- trunk/drivers/media/video/v4l2-ioctl.c | 42 +- trunk/drivers/media/video/v4l2-subdev.c | 12 +- trunk/drivers/media/video/videobuf2-vmalloc.c | 70 +- trunk/drivers/media/video/vivi.c | 26 +- trunk/drivers/media/video/vp27smpx.c | 13 +- trunk/drivers/media/video/vpx3220.c | 13 +- trunk/drivers/media/video/vs6624.c | 928 ---- trunk/drivers/media/video/vs6624_regs.h | 337 -- trunk/drivers/media/video/w9966.c | 4 +- trunk/drivers/media/video/wm8739.c | 13 +- trunk/drivers/media/video/wm8775.c | 13 +- trunk/drivers/message/fusion/mptbase.c | 2 +- trunk/drivers/mfd/wm831x-core.c | 20 +- trunk/drivers/mfd/wm831x-i2c.c | 2 +- trunk/drivers/mfd/wm831x-spi.c | 2 +- trunk/drivers/mfd/wm8400-core.c | 7 +- trunk/drivers/mfd/wm8994-core.c | 92 +- trunk/drivers/mtd/chips/cfi_cmdset_0001.c | 6 +- trunk/drivers/mtd/mtdchar.c | 2 +- trunk/drivers/mtd/ubi/build.c | 14 +- trunk/drivers/mtd/ubi/eba.c | 30 +- trunk/drivers/mtd/ubi/io.c | 14 +- trunk/drivers/mtd/ubi/scan.c | 16 +- trunk/drivers/mtd/ubi/ubi.h | 12 +- trunk/drivers/mtd/ubi/wl.c | 21 +- trunk/drivers/net/bonding/bond_main.c | 82 +- trunk/drivers/net/bonding/bonding.h | 18 +- trunk/drivers/net/ethernet/broadcom/cnic.c | 12 +- .../drivers/net/ethernet/broadcom/cnic_defs.h | 28 +- trunk/drivers/net/ethernet/broadcom/cnic_if.h | 4 +- trunk/drivers/net/ethernet/broadcom/tg3.c | 25 +- trunk/drivers/net/ethernet/broadcom/tg3.h | 1 - trunk/drivers/net/ethernet/marvell/sky2.c | 11 - trunk/drivers/net/usb/usbnet.c | 11 +- trunk/drivers/parisc/dino.c | 27 +- trunk/drivers/parisc/lba_pci.c | 31 +- trunk/drivers/pci/Kconfig | 13 - trunk/drivers/pci/bus.c | 30 +- trunk/drivers/pci/hotplug/acpiphp_glue.c | 33 +- trunk/drivers/pci/hotplug/cpci_hotplug_pci.c | 2 +- trunk/drivers/pci/hotplug/cpcihp_generic.c | 2 +- trunk/drivers/pci/hotplug/cpqphp_pci.c | 2 +- trunk/drivers/pci/hotplug/fakephp.c | 2 +- trunk/drivers/pci/hotplug/ibmphp_core.c | 2 +- trunk/drivers/pci/hotplug/ibmphp_ebda.c | 6 +- trunk/drivers/pci/hotplug/pciehp_hpc.c | 133 +- trunk/drivers/pci/hotplug/pciehp_pci.c | 2 +- trunk/drivers/pci/hotplug/rpadlpar_core.c | 2 +- trunk/drivers/pci/hotplug/sgi_hotplug.c | 2 +- trunk/drivers/pci/hotplug/shpchp_pci.c | 2 +- trunk/drivers/pci/iov.c | 12 +- trunk/drivers/pci/pci-driver.c | 10 - trunk/drivers/pci/pci-sysfs.c | 7 +- trunk/drivers/pci/pci.c | 133 +- trunk/drivers/pci/pci.h | 10 +- trunk/drivers/pci/pcie/Kconfig | 25 - trunk/drivers/pci/pcie/aspm.c | 8 - trunk/drivers/pci/pcie/portdrv.h | 12 - trunk/drivers/pci/pcie/portdrv_core.c | 16 +- trunk/drivers/pci/probe.c | 298 +- trunk/drivers/pci/quirks.c | 182 +- trunk/drivers/pci/remove.c | 27 +- trunk/drivers/pci/setup-bus.c | 660 +-- trunk/drivers/pci/setup-res.c | 94 +- trunk/drivers/pci/xen-pcifront.c | 4 +- trunk/drivers/pcmcia/cardbus.c | 2 +- trunk/drivers/pinctrl/Kconfig | 42 - trunk/drivers/pinctrl/Makefile | 8 - trunk/drivers/pinctrl/core.c | 826 +--- trunk/drivers/pinctrl/core.h | 117 +- trunk/drivers/pinctrl/pinconf-generic.c | 120 - trunk/drivers/pinctrl/pinconf.c | 306 +- trunk/drivers/pinctrl/pinconf.h | 78 +- trunk/drivers/pinctrl/pinctrl-coh901.c | 139 +- trunk/drivers/pinctrl/pinctrl-coh901.h | 5 - trunk/drivers/pinctrl/pinctrl-mmp2.c | 722 --- trunk/drivers/pinctrl/pinctrl-pxa168.c | 651 --- trunk/drivers/pinctrl/pinctrl-pxa3xx.c | 244 - trunk/drivers/pinctrl/pinctrl-pxa3xx.h | 264 -- trunk/drivers/pinctrl/pinctrl-pxa910.c | 1007 ---- trunk/drivers/pinctrl/pinctrl-tegra.c | 559 --- trunk/drivers/pinctrl/pinctrl-tegra.h | 163 - trunk/drivers/pinctrl/pinctrl-tegra20.c | 2860 ------------ trunk/drivers/pinctrl/pinctrl-tegra30.c | 3726 --------------- trunk/drivers/pinctrl/pinctrl-u300.c | 80 +- trunk/drivers/pinctrl/pinmux.c | 1205 +++-- trunk/drivers/pinctrl/pinmux.h | 76 +- trunk/drivers/platform/x86/asus-wmi.c | 2 +- trunk/drivers/platform/x86/eeepc-laptop.c | 2 +- trunk/drivers/rtc/Kconfig | 17 - trunk/drivers/rtc/Makefile | 2 - trunk/drivers/rtc/rtc-at91sam9.c | 2 +- trunk/drivers/rtc/rtc-bq32k.c | 12 +- trunk/drivers/rtc/rtc-cmos.c | 2 +- trunk/drivers/rtc/rtc-coh901331.c | 2 +- trunk/drivers/rtc/rtc-da9052.c | 293 -- trunk/drivers/rtc/rtc-davinci.c | 2 +- trunk/drivers/rtc/rtc-ds1305.c | 12 +- trunk/drivers/rtc/rtc-ds1307.c | 182 +- trunk/drivers/rtc/rtc-ds1374.c | 13 +- trunk/drivers/rtc/rtc-ds1390.c | 12 +- trunk/drivers/rtc/rtc-ds1511.c | 2 +- trunk/drivers/rtc/rtc-ds1553.c | 2 +- trunk/drivers/rtc/rtc-ds1672.c | 13 +- trunk/drivers/rtc/rtc-ds3232.c | 13 +- trunk/drivers/rtc/rtc-ds3234.c | 12 +- trunk/drivers/rtc/rtc-em3027.c | 13 +- trunk/drivers/rtc/rtc-fm3130.c | 12 +- trunk/drivers/rtc/rtc-isl12022.c | 13 +- trunk/drivers/rtc/rtc-isl1208.c | 15 +- trunk/drivers/rtc/rtc-lpc32xx.c | 2 +- trunk/drivers/rtc/rtc-ls1x.c | 210 - trunk/drivers/rtc/rtc-m41t80.c | 13 +- trunk/drivers/rtc/rtc-m41t93.c | 12 +- trunk/drivers/rtc/rtc-m41t94.c | 14 +- trunk/drivers/rtc/rtc-max6900.c | 13 +- trunk/drivers/rtc/rtc-max6902.c | 12 +- trunk/drivers/rtc/rtc-max8925.c | 21 +- trunk/drivers/rtc/rtc-mpc5121.c | 4 +- trunk/drivers/rtc/rtc-mrst.c | 2 +- trunk/drivers/rtc/rtc-mv.c | 2 +- trunk/drivers/rtc/rtc-nuc900.c | 2 +- trunk/drivers/rtc/rtc-omap.c | 4 +- trunk/drivers/rtc/rtc-pcf2123.c | 13 +- trunk/drivers/rtc/rtc-pcf8563.c | 13 +- trunk/drivers/rtc/rtc-pcf8583.c | 13 +- trunk/drivers/rtc/rtc-pl030.c | 2 +- trunk/drivers/rtc/rtc-pl031.c | 2 +- trunk/drivers/rtc/rtc-pm8xxx.c | 2 +- trunk/drivers/rtc/rtc-pxa.c | 4 +- trunk/drivers/rtc/rtc-r9701.c | 12 +- trunk/drivers/rtc/rtc-rs5c348.c | 13 +- trunk/drivers/rtc/rtc-rs5c372.c | 13 +- trunk/drivers/rtc/rtc-rv3029c2.c | 13 +- trunk/drivers/rtc/rtc-rx8025.c | 13 +- trunk/drivers/rtc/rtc-rx8581.c | 13 +- trunk/drivers/rtc/rtc-s35390a.c | 13 +- trunk/drivers/rtc/rtc-s3c.c | 4 +- trunk/drivers/rtc/rtc-sa1100.c | 7 +- trunk/drivers/rtc/rtc-sh.c | 8 +- trunk/drivers/rtc/rtc-spear.c | 100 +- trunk/drivers/rtc/rtc-stk17ta8.c | 2 +- trunk/drivers/rtc/rtc-twl.c | 28 +- trunk/drivers/rtc/rtc-tx4939.c | 2 +- trunk/drivers/rtc/rtc-vr41xx.c | 4 +- trunk/drivers/rtc/rtc-x1205.c | 13 +- trunk/drivers/s390/block/dasd.c | 4 - trunk/drivers/s390/block/dasd_diag.c | 8 +- trunk/drivers/s390/block/dasd_eckd.c | 8 - trunk/drivers/s390/char/sclp.c | 4 +- trunk/drivers/s390/char/sclp_cmd.c | 5 +- trunk/drivers/s390/char/sclp_quiesce.c | 1 + trunk/drivers/s390/char/sclp_sdias.c | 101 +- trunk/drivers/s390/char/zcore.c | 1 + trunk/drivers/s390/cio/cio.c | 2 + trunk/drivers/s390/cio/qdio_main.c | 6 - trunk/drivers/s390/crypto/Makefile | 10 + trunk/drivers/s390/crypto/ap_bus.c | 2 + trunk/drivers/s390/crypto/zcrypt_api.c | 2 + trunk/drivers/s390/crypto/zcrypt_cex2a.c | 4 + trunk/drivers/s390/crypto/zcrypt_mono.c | 100 + trunk/drivers/s390/crypto/zcrypt_pcica.c | 4 + trunk/drivers/s390/crypto/zcrypt_pcicc.c | 4 + trunk/drivers/s390/crypto/zcrypt_pcixcc.c | 4 + trunk/drivers/s390/kvm/kvm_virtio.c | 6 +- trunk/drivers/scsi/Kconfig | 8 - trunk/drivers/scsi/Makefile | 1 - trunk/drivers/scsi/aacraid/aachba.c | 4 - trunk/drivers/scsi/aacraid/aacraid.h | 27 +- trunk/drivers/scsi/aacraid/comminit.c | 21 +- trunk/drivers/scsi/aacraid/commsup.c | 26 - trunk/drivers/scsi/aacraid/linit.c | 28 +- trunk/drivers/scsi/aacraid/rx.c | 1 - trunk/drivers/scsi/aacraid/sa.c | 1 - trunk/drivers/scsi/aacraid/src.c | 293 +- trunk/drivers/scsi/aic94xx/aic94xx.h | 2 - trunk/drivers/scsi/aic94xx/aic94xx_dev.c | 38 +- trunk/drivers/scsi/aic94xx/aic94xx_init.c | 6 +- trunk/drivers/scsi/aic94xx/aic94xx_tmf.c | 11 +- trunk/drivers/scsi/bfa/bfad_bsg.c | 4 +- trunk/drivers/scsi/bnx2fc/bnx2fc.h | 8 +- trunk/drivers/scsi/bnx2fc/bnx2fc_constants.h | 1 - trunk/drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 20 +- trunk/drivers/scsi/bnx2fc/bnx2fc_io.c | 4 +- .../drivers/scsi/bnx2i/57xx_iscsi_constants.h | 1 - trunk/drivers/scsi/bnx2i/bnx2i_hwi.c | 12 +- trunk/drivers/scsi/bnx2i/bnx2i_init.c | 9 +- trunk/drivers/scsi/cxgbi/libcxgbi.c | 13 +- trunk/drivers/scsi/fcoe/fcoe.c | 167 +- trunk/drivers/scsi/fcoe/fcoe.h | 3 + trunk/drivers/scsi/fcoe/fcoe_transport.c | 4 +- trunk/drivers/scsi/hpsa.c | 344 +- trunk/drivers/scsi/hpsa.h | 3 +- trunk/drivers/scsi/hpsa_cmd.h | 9 +- trunk/drivers/scsi/ipr.c | 14 +- trunk/drivers/scsi/ipr.h | 4 +- trunk/drivers/scsi/isci/host.c | 17 +- trunk/drivers/scsi/isci/host.h | 19 +- trunk/drivers/scsi/isci/init.c | 24 +- trunk/drivers/scsi/isci/phy.c | 171 +- trunk/drivers/scsi/isci/phy.h | 155 +- trunk/drivers/scsi/isci/port.c | 263 +- trunk/drivers/scsi/isci/port.h | 114 +- trunk/drivers/scsi/isci/registers.h | 27 +- trunk/drivers/scsi/isci/remote_device.c | 82 +- trunk/drivers/scsi/isci/remote_device.h | 212 +- trunk/drivers/scsi/isci/remote_node_context.c | 19 +- trunk/drivers/scsi/isci/remote_node_context.h | 97 +- trunk/drivers/scsi/isci/request.c | 370 +- trunk/drivers/scsi/isci/request.h | 228 +- trunk/drivers/scsi/isci/scu_task_context.h | 55 +- trunk/drivers/scsi/isci/task.c | 158 +- trunk/drivers/scsi/isci/task.h | 40 + trunk/drivers/scsi/iscsi_tcp.c | 13 +- trunk/drivers/scsi/libfc/fc_disc.c | 7 - trunk/drivers/scsi/libfc/fc_elsct.c | 3 +- trunk/drivers/scsi/libfc/fc_exch.c | 7 +- trunk/drivers/scsi/libfc/fc_fcp.c | 5 +- trunk/drivers/scsi/libfc/fc_lport.c | 227 +- trunk/drivers/scsi/libiscsi.c | 28 +- trunk/drivers/scsi/libiscsi_tcp.c | 18 - trunk/drivers/scsi/libsas/sas_ata.c | 828 ++-- trunk/drivers/scsi/libsas/sas_discover.c | 246 +- trunk/drivers/scsi/libsas/sas_event.c | 96 +- trunk/drivers/scsi/libsas/sas_expander.c | 342 +- trunk/drivers/scsi/libsas/sas_host_smp.c | 11 +- trunk/drivers/scsi/libsas/sas_init.c | 214 +- trunk/drivers/scsi/libsas/sas_internal.h | 97 +- trunk/drivers/scsi/libsas/sas_phy.c | 12 +- trunk/drivers/scsi/libsas/sas_port.c | 32 +- trunk/drivers/scsi/libsas/sas_scsi_host.c | 364 +- trunk/drivers/scsi/lpfc/lpfc.h | 13 +- trunk/drivers/scsi/lpfc/lpfc_attr.c | 12 +- trunk/drivers/scsi/lpfc/lpfc_bsg.c | 18 +- trunk/drivers/scsi/lpfc/lpfc_crtn.h | 1 - trunk/drivers/scsi/lpfc/lpfc_ct.c | 4 +- trunk/drivers/scsi/lpfc/lpfc_debugfs.c | 19 - trunk/drivers/scsi/lpfc/lpfc_els.c | 5 +- trunk/drivers/scsi/lpfc/lpfc_hbadisc.c | 12 +- trunk/drivers/scsi/lpfc/lpfc_hw.h | 5 +- trunk/drivers/scsi/lpfc/lpfc_hw4.h | 49 +- trunk/drivers/scsi/lpfc/lpfc_init.c | 137 +- trunk/drivers/scsi/lpfc/lpfc_nportdisc.c | 77 +- trunk/drivers/scsi/lpfc/lpfc_scsi.c | 1182 +---- trunk/drivers/scsi/lpfc/lpfc_sli.c | 240 +- trunk/drivers/scsi/lpfc/lpfc_sli.h | 1 - trunk/drivers/scsi/lpfc/lpfc_sli4.h | 3 +- trunk/drivers/scsi/lpfc/lpfc_version.h | 2 +- trunk/drivers/scsi/mpt2sas/mpt2sas_base.c | 7 +- trunk/drivers/scsi/mpt2sas/mpt2sas_scsih.c | 6 +- trunk/drivers/scsi/mvsas/mv_init.c | 2 + trunk/drivers/scsi/mvsas/mv_sas.c | 11 +- trunk/drivers/scsi/pm8001/pm8001_chips.h | 4 +- trunk/drivers/scsi/pm8001/pm8001_hwi.c | 434 +- trunk/drivers/scsi/pm8001/pm8001_hwi.h | 2 +- trunk/drivers/scsi/pm8001/pm8001_init.c | 2 + trunk/drivers/scsi/pm8001/pm8001_sas.c | 127 +- trunk/drivers/scsi/pm8001/pm8001_sas.h | 6 - trunk/drivers/scsi/qla2xxx/qla_attr.c | 177 +- trunk/drivers/scsi/qla2xxx/qla_bsg.c | 120 +- trunk/drivers/scsi/qla2xxx/qla_dbg.c | 630 +-- trunk/drivers/scsi/qla2xxx/qla_dbg.h | 63 - trunk/drivers/scsi/qla2xxx/qla_def.h | 117 +- trunk/drivers/scsi/qla2xxx/qla_dfs.c | 2 +- trunk/drivers/scsi/qla2xxx/qla_fw.h | 13 - trunk/drivers/scsi/qla2xxx/qla_gbl.h | 22 +- trunk/drivers/scsi/qla2xxx/qla_gs.c | 86 +- trunk/drivers/scsi/qla2xxx/qla_init.c | 540 ++- trunk/drivers/scsi/qla2xxx/qla_inline.h | 51 +- trunk/drivers/scsi/qla2xxx/qla_iocb.c | 167 +- trunk/drivers/scsi/qla2xxx/qla_isr.c | 445 +- trunk/drivers/scsi/qla2xxx/qla_mbx.c | 410 +- trunk/drivers/scsi/qla2xxx/qla_mid.c | 2 +- trunk/drivers/scsi/qla2xxx/qla_nx.c | 90 +- trunk/drivers/scsi/qla2xxx/qla_nx.h | 3 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 435 +- trunk/drivers/scsi/qla2xxx/qla_sup.c | 148 +- trunk/drivers/scsi/qla4xxx/ql4_def.h | 45 +- trunk/drivers/scsi/qla4xxx/ql4_fw.h | 24 - trunk/drivers/scsi/qla4xxx/ql4_glbl.h | 9 - trunk/drivers/scsi/qla4xxx/ql4_init.c | 5 - trunk/drivers/scsi/qla4xxx/ql4_iocb.c | 92 - trunk/drivers/scsi/qla4xxx/ql4_isr.c | 78 - trunk/drivers/scsi/qla4xxx/ql4_mbx.c | 23 +- trunk/drivers/scsi/qla4xxx/ql4_nx.c | 17 +- trunk/drivers/scsi/qla4xxx/ql4_nx.h | 1 - trunk/drivers/scsi/qla4xxx/ql4_os.c | 563 +-- trunk/drivers/scsi/qla4xxx/ql4_version.h | 2 +- trunk/drivers/scsi/scsi.c | 6 + trunk/drivers/scsi/scsi_debug.c | 6 +- trunk/drivers/scsi/scsi_error.c | 24 +- trunk/drivers/scsi/scsi_lib.c | 5 +- trunk/drivers/scsi/scsi_transport_fc.c | 30 +- trunk/drivers/scsi/scsi_transport_iscsi.c | 268 +- trunk/drivers/scsi/scsi_transport_sas.c | 60 +- trunk/drivers/scsi/sd.c | 86 +- trunk/drivers/scsi/sd.h | 35 - trunk/drivers/scsi/st.c | 11 - trunk/drivers/scsi/virtio_scsi.c | 594 --- trunk/drivers/staging/Kconfig | 2 + trunk/drivers/staging/media/Kconfig | 2 +- trunk/drivers/staging/media/as102/as102_drv.c | 2 +- trunk/drivers/staging/media/as102/as102_drv.h | 2 +- trunk/drivers/staging/media/as102/as102_fe.c | 6 +- trunk/drivers/staging/media/as102/as102_fw.h | 2 +- .../staging/media/as102/as102_usb_drv.c | 17 +- trunk/drivers/staging/media/as102/as10x_cmd.h | 80 +- .../drivers/staging/media/as102/as10x_types.h | 2 +- .../staging/media/easycap/easycap_main.c | 242 +- .../staging/media/go7007/go7007-v4l2.c | 8 +- .../staging/media/go7007/s2250-board.c | 16 +- .../drivers/staging/media/lirc/lirc_serial.c | 2 +- trunk/drivers/staging/media/solo6x10/Kconfig | 2 +- trunk/drivers/staging/media/solo6x10/core.c | 32 +- trunk/drivers/staging/rtl8187se/r8180_core.c | 2 +- .../staging/rtl8192e/rtl8192e/rtl_dm.c | 4 +- trunk/drivers/staging/telephony/ixj.c | 57 +- trunk/drivers/staging/zcache/zcache-main.c | 10 +- trunk/drivers/target/iscsi/iscsi_target.c | 41 +- .../target/iscsi/iscsi_target_configfs.c | 53 +- .../drivers/target/iscsi/iscsi_target_core.h | 2 +- .../target/iscsi/iscsi_target_device.c | 19 + .../target/iscsi/iscsi_target_device.h | 2 + .../drivers/target/iscsi/iscsi_target_erl0.c | 2 +- .../drivers/target/iscsi/iscsi_target_erl1.c | 2 +- .../drivers/target/iscsi/iscsi_target_login.c | 10 +- .../drivers/target/iscsi/iscsi_target_nego.c | 10 +- .../target/iscsi/iscsi_target_nodeattrib.c | 16 +- .../target/iscsi/iscsi_target_parameters.c | 19 +- trunk/drivers/target/iscsi/iscsi_target_tmr.c | 6 +- trunk/drivers/target/iscsi/iscsi_target_tq.c | 6 + .../drivers/target/iscsi/iscsi_target_util.c | 7 +- trunk/drivers/target/loopback/tcm_loop.c | 363 +- trunk/drivers/target/loopback/tcm_loop.h | 4 +- trunk/drivers/target/target_core_alua.c | 7 +- trunk/drivers/target/target_core_cdb.c | 177 +- trunk/drivers/target/target_core_configfs.c | 30 +- trunk/drivers/target/target_core_device.c | 107 +- .../target/target_core_fabric_configfs.c | 6 +- trunk/drivers/target/target_core_iblock.c | 78 +- trunk/drivers/target/target_core_iblock.h | 7 +- trunk/drivers/target/target_core_internal.h | 3 - trunk/drivers/target/target_core_pr.c | 23 +- trunk/drivers/target/target_core_pscsi.c | 18 +- trunk/drivers/target/target_core_pscsi.h | 2 +- trunk/drivers/target/target_core_stat.c | 48 +- trunk/drivers/target/target_core_tmr.c | 103 +- trunk/drivers/target/target_core_tpg.c | 115 +- trunk/drivers/target/target_core_transport.c | 367 +- trunk/drivers/target/target_core_ua.c | 8 +- trunk/drivers/target/tcm_fc/tcm_fc.h | 8 +- trunk/drivers/target/tcm_fc/tfc_cmd.c | 147 +- trunk/drivers/target/tcm_fc/tfc_conf.c | 4 + trunk/drivers/target/tcm_fc/tfc_sess.c | 21 + trunk/drivers/tty/hvc/Kconfig | 8 - trunk/drivers/tty/hvc/hvc_xen.c | 465 +- trunk/drivers/tty/serial/sirfsoc_uart.c | 24 +- trunk/drivers/tty/serial/sirfsoc_uart.h | 2 +- trunk/drivers/usb/host/pci-quirks.c | 3 +- trunk/drivers/uwb/allocator.c | 6 +- trunk/drivers/video/Kconfig | 40 +- trunk/drivers/video/Makefile | 3 - trunk/drivers/video/atmel_lcdfb.c | 12 +- trunk/drivers/video/au1100fb.c | 32 +- trunk/drivers/video/au1200fb.c | 9 +- trunk/drivers/video/backlight/88pm860x_bl.c | 8 +- trunk/drivers/video/backlight/Kconfig | 21 - trunk/drivers/video/backlight/Makefile | 4 +- trunk/drivers/video/backlight/aat2870_bl.c | 9 +- trunk/drivers/video/backlight/adp5520_bl.c | 6 +- trunk/drivers/video/backlight/adp8860_bl.c | 12 +- trunk/drivers/video/backlight/adp8870_bl.c | 12 +- trunk/drivers/video/backlight/ams369fg06.c | 13 +- trunk/drivers/video/backlight/corgi_lcd.c | 12 +- trunk/drivers/video/backlight/cr_bllcd.c | 3 +- trunk/drivers/video/backlight/da903x_bl.c | 6 +- trunk/drivers/video/backlight/l4f00242t03.c | 13 +- trunk/drivers/video/backlight/ld9040.c | 13 +- trunk/drivers/video/backlight/lms283gf05.c | 13 +- trunk/drivers/video/backlight/lp855x_bl.c | 331 -- trunk/drivers/video/backlight/ltv350qv.c | 12 +- trunk/drivers/video/backlight/max8925_bl.c | 7 +- trunk/drivers/video/backlight/omap1_bl.c | 9 +- trunk/drivers/video/backlight/ot200_bl.c | 175 - trunk/drivers/video/backlight/pandora_bl.c | 171 - .../video/backlight/pcf50633-backlight.c | 16 +- trunk/drivers/video/backlight/platform_lcd.c | 19 +- trunk/drivers/video/backlight/pwm_bl.c | 7 +- trunk/drivers/video/backlight/s6e63m0.c | 13 +- trunk/drivers/video/backlight/tdo24m.c | 12 +- trunk/drivers/video/backlight/tosa_bl.c | 13 +- trunk/drivers/video/backlight/tosa_lcd.c | 13 +- trunk/drivers/video/backlight/vgg2432a4.c | 15 +- trunk/drivers/video/backlight/wm831x_bl.c | 6 +- trunk/drivers/video/bf537-lq035.c | 12 +- trunk/drivers/video/bf54x-lq043fb.c | 4 +- trunk/drivers/video/bfin-lq035q1-fb.c | 8 +- trunk/drivers/video/bfin_adv7393fb.c | 7 +- trunk/drivers/video/da8xx-fb.c | 79 +- trunk/drivers/video/exynos/Kconfig | 37 - trunk/drivers/video/exynos/Makefile | 8 - trunk/drivers/video/exynos/exynos_dp_core.c | 1058 ----- trunk/drivers/video/exynos/exynos_dp_core.h | 206 - trunk/drivers/video/exynos/exynos_dp_reg.c | 1173 ----- trunk/drivers/video/exynos/exynos_dp_reg.h | 335 -- trunk/drivers/video/exynos/exynos_mipi_dsi.c | 600 --- .../video/exynos/exynos_mipi_dsi_common.c | 896 ---- .../video/exynos/exynos_mipi_dsi_common.h | 46 - .../video/exynos/exynos_mipi_dsi_lowlevel.c | 618 --- .../video/exynos/exynos_mipi_dsi_lowlevel.h | 112 - .../video/exynos/exynos_mipi_dsi_regs.h | 149 - trunk/drivers/video/exynos/s6e8ax0.c | 898 ---- trunk/drivers/video/exynos/s6e8ax0.h | 21 - trunk/drivers/video/fbmem.c | 18 +- trunk/drivers/video/i740_reg.h | 309 -- trunk/drivers/video/i740fb.c | 1337 ------ trunk/drivers/video/msm/mddi_client_nt35399.c | 7 +- trunk/drivers/video/msm/mddi_client_toshiba.c | 7 +- trunk/drivers/video/omap/Kconfig | 16 +- trunk/drivers/video/omap/Makefile | 12 +- trunk/drivers/video/omap/blizzard.c | 1648 +++++++ trunk/drivers/video/omap/dispc.c | 1547 ++++++ trunk/drivers/video/omap/dispc.h | 46 + trunk/drivers/video/omap/hwa742.c | 21 +- trunk/drivers/video/omap/lcd_inn1610.c | 10 +- trunk/drivers/video/omap/lcd_mipid.c | 14 +- trunk/drivers/video/omap/omapfb.h | 25 +- trunk/drivers/video/omap/omapfb_main.c | 30 +- trunk/drivers/video/omap/rfbi.c | 598 +++ .../video/omap2/displays/panel-acx565akm.c | 13 +- .../video/omap2/displays/panel-generic-dpi.c | 23 - .../omap2/displays/panel-lgphilips-lb035q02.c | 12 +- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 12 +- .../drivers/video/omap2/displays/panel-taal.c | 4 +- .../omap2/displays/panel-tpo-td043mtea1.c | 177 +- trunk/drivers/video/omap2/dss/apply.c | 275 +- trunk/drivers/video/omap2/dss/core.c | 135 +- trunk/drivers/video/omap2/dss/dispc.c | 121 +- trunk/drivers/video/omap2/dss/dispc_coefs.c | 9 +- trunk/drivers/video/omap2/dss/display.c | 10 + trunk/drivers/video/omap2/dss/dsi.c | 65 +- trunk/drivers/video/omap2/dss/dss.c | 17 +- trunk/drivers/video/omap2/dss/dss.h | 10 +- trunk/drivers/video/omap2/dss/dss_features.c | 181 +- trunk/drivers/video/omap2/dss/dss_features.h | 54 +- trunk/drivers/video/omap2/dss/hdmi.c | 278 +- trunk/drivers/video/omap2/dss/manager.c | 12 +- trunk/drivers/video/omap2/dss/rfbi.c | 36 +- trunk/drivers/video/omap2/dss/ti_hdmi.h | 56 +- .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 94 +- .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.h | 47 + trunk/drivers/video/omap2/dss/venc.c | 32 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 2 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 101 +- trunk/drivers/video/omap2/vram.c | 99 +- trunk/drivers/video/pvr2fb.c | 4 +- trunk/drivers/video/pxa168fb.c | 15 +- trunk/drivers/video/pxafb.c | 10 +- trunk/drivers/video/riva/fbdev.c | 5 +- trunk/drivers/video/s3c-fb.c | 133 +- trunk/drivers/video/sh_mipi_dsi.c | 99 +- trunk/drivers/video/sh_mobile_hdmi.c | 297 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 1284 +++-- trunk/drivers/video/sh_mobile_lcdcfb.h | 84 +- trunk/drivers/video/sh_mobile_meram.c | 690 ++- trunk/drivers/video/udlfb.c | 176 +- trunk/drivers/video/uvesafb.c | 16 +- trunk/drivers/video/via/Makefile | 5 +- trunk/drivers/video/via/chip.h | 3 + trunk/drivers/video/via/dvi.c | 7 +- trunk/drivers/video/via/dvi.h | 3 +- trunk/drivers/video/via/hw.c | 130 +- trunk/drivers/video/via/hw.h | 9 +- trunk/drivers/video/via/lcd.c | 82 +- trunk/drivers/video/via/lcd.h | 3 +- trunk/drivers/video/via/share.h | 331 ++ trunk/drivers/video/via/via_aux.c | 88 - trunk/drivers/video/via/via_aux.h | 93 - trunk/drivers/video/via/via_aux_ch7301.c | 50 - trunk/drivers/video/via/via_aux_edid.c | 100 - trunk/drivers/video/via/via_aux_sii164.c | 54 - trunk/drivers/video/via/via_aux_vt1621.c | 44 - trunk/drivers/video/via/via_aux_vt1622.c | 50 - trunk/drivers/video/via/via_aux_vt1625.c | 50 - trunk/drivers/video/via/via_aux_vt1631.c | 46 - trunk/drivers/video/via/via_aux_vt1632.c | 54 - trunk/drivers/video/via/via_aux_vt1636.c | 46 - trunk/drivers/video/via/via_i2c.c | 10 +- trunk/drivers/video/via/viafbdev.c | 87 +- trunk/drivers/video/via/viafbdev.h | 6 - trunk/drivers/video/via/viamode.c | 713 ++- trunk/drivers/video/via/viamode.h | 11 +- trunk/drivers/xen/Kconfig | 17 - trunk/drivers/xen/Makefile | 2 +- trunk/drivers/xen/sys-hypervisor.c | 6 +- trunk/drivers/xen/tmem.c | 10 +- trunk/drivers/xen/xen-acpi-processor.c | 562 --- trunk/drivers/xen/xen-balloon.c | 2 +- trunk/drivers/xen/xen-pciback/pci_stub.c | 41 +- trunk/drivers/xen/xen-pciback/pciback.h | 1 - trunk/drivers/xen/xen-selfballoon.c | 2 +- trunk/drivers/xen/xenbus/xenbus_client.c | 6 +- trunk/drivers/xen/xenbus/xenbus_probe.c | 3 +- .../xen/xenbus/xenbus_probe_frontend.c | 6 - trunk/fs/binfmt_elf.c | 30 +- trunk/fs/binfmt_misc.c | 3 +- trunk/fs/block_dev.c | 5 +- trunk/fs/cifs/README | 6 +- trunk/fs/cifs/cifs_debug.c | 3 +- trunk/fs/cifs/cifsfs.c | 25 +- trunk/fs/cifs/cifsglob.h | 47 +- trunk/fs/cifs/cifsproto.h | 9 - trunk/fs/cifs/cifssmb.c | 18 +- trunk/fs/cifs/connect.c | 44 +- trunk/fs/cifs/dir.c | 6 +- trunk/fs/cifs/file.c | 23 +- trunk/fs/cifs/misc.c | 19 - trunk/fs/cifs/transport.c | 78 +- trunk/fs/dcache.c | 2 +- trunk/fs/eventpoll.c | 45 +- trunk/fs/fat/namei_vfat.c | 83 +- trunk/fs/lockd/clnt4xdr.c | 2 +- trunk/fs/lockd/clntlock.c | 3 +- trunk/fs/lockd/clntxdr.c | 8 +- trunk/fs/lockd/host.c | 42 +- trunk/fs/lockd/mon.c | 21 +- trunk/fs/lockd/netns.h | 12 - trunk/fs/lockd/svc.c | 117 +- trunk/fs/lockd/svclock.c | 59 +- trunk/fs/namei.c | 21 +- trunk/fs/nfs/Kconfig | 29 +- trunk/fs/nfs/blocklayout/blocklayout.c | 161 +- trunk/fs/nfs/blocklayout/blocklayout.h | 11 +- trunk/fs/nfs/blocklayout/blocklayoutdev.c | 46 +- trunk/fs/nfs/blocklayout/blocklayoutdm.c | 33 +- trunk/fs/nfs/blocklayout/extents.c | 2 +- trunk/fs/nfs/cache_lib.c | 61 +- trunk/fs/nfs/cache_lib.h | 10 +- trunk/fs/nfs/callback.c | 19 +- trunk/fs/nfs/callback.h | 3 +- trunk/fs/nfs/callback_proc.c | 99 +- trunk/fs/nfs/callback_xdr.c | 21 +- trunk/fs/nfs/client.c | 246 +- trunk/fs/nfs/delegation.c | 68 +- trunk/fs/nfs/delegation.h | 4 +- trunk/fs/nfs/dir.c | 27 +- trunk/fs/nfs/direct.c | 6 + trunk/fs/nfs/dns_resolve.c | 130 +- trunk/fs/nfs/dns_resolve.h | 14 +- trunk/fs/nfs/file.c | 2 - trunk/fs/nfs/fscache.c | 2 +- trunk/fs/nfs/idmap.c | 733 +-- trunk/fs/nfs/inode.c | 119 +- trunk/fs/nfs/internal.h | 15 +- trunk/fs/nfs/mount_clnt.c | 16 +- trunk/fs/nfs/namespace.c | 5 +- trunk/fs/nfs/netns.h | 27 - trunk/fs/nfs/nfs2xdr.c | 2 +- trunk/fs/nfs/nfs3acl.c | 2 +- trunk/fs/nfs/nfs3proc.c | 24 - trunk/fs/nfs/nfs3xdr.c | 4 +- trunk/fs/nfs/nfs4_fs.h | 58 +- trunk/fs/nfs/nfs4filelayout.c | 272 +- trunk/fs/nfs/nfs4filelayout.h | 7 +- trunk/fs/nfs/nfs4filelayoutdev.c | 90 +- trunk/fs/nfs/nfs4namespace.c | 10 +- trunk/fs/nfs/nfs4proc.c | 559 +-- trunk/fs/nfs/nfs4state.c | 355 +- trunk/fs/nfs/nfs4xdr.c | 697 +-- trunk/fs/nfs/nfsroot.c | 2 +- trunk/fs/nfs/objlayout/objio_osd.c | 54 +- trunk/fs/nfs/objlayout/objlayout.c | 142 +- trunk/fs/nfs/objlayout/objlayout.h | 2 - trunk/fs/nfs/pagelist.c | 92 +- trunk/fs/nfs/pnfs.c | 46 +- trunk/fs/nfs/pnfs.h | 98 +- trunk/fs/nfs/pnfs_dev.c | 4 +- trunk/fs/nfs/proc.c | 24 - trunk/fs/nfs/read.c | 14 +- trunk/fs/nfs/super.c | 167 +- trunk/fs/nfs/sysctl.c | 2 + trunk/fs/nfs/unlink.c | 45 +- trunk/fs/nfs/write.c | 213 +- trunk/fs/nfsd/nfs4callback.c | 8 +- trunk/fs/nfsd/nfs4state.c | 2 +- trunk/fs/nfsd/nfsctl.c | 6 +- trunk/fs/nfsd/nfssvc.c | 4 +- trunk/fs/nfsd/stats.c | 5 +- trunk/fs/notify/notification.c | 3 +- trunk/fs/pipe.c | 1 - trunk/fs/proc/array.c | 119 +- trunk/fs/proc/kcore.c | 6 +- trunk/fs/proc/namespaces.c | 2 +- trunk/fs/proc/stat.c | 62 +- trunk/fs/pstore/platform.c | 30 +- trunk/fs/quota/quota.c | 3 +- trunk/fs/select.c | 40 +- trunk/fs/seq_file.c | 84 +- trunk/fs/super.c | 2 +- trunk/fs/ubifs/debug.c | 410 +- trunk/fs/ubifs/debug.h | 3 + trunk/fs/ubifs/dir.c | 18 +- trunk/fs/ubifs/recovery.c | 3 +- trunk/fs/ubifs/sb.c | 19 +- trunk/fs/ubifs/ubifs.h | 11 +- trunk/fs/xfs/Makefile | 3 + trunk/fs/xfs/xfs_aops.c | 183 +- trunk/fs/xfs/xfs_aops.h | 4 +- trunk/fs/xfs/xfs_bmap.c | 13 +- trunk/fs/xfs/xfs_buf.c | 17 + trunk/fs/xfs/xfs_dfrag.c | 24 +- trunk/fs/xfs/xfs_dir2_block.c | 1 - trunk/fs/xfs/xfs_dquot.c | 418 +- trunk/fs/xfs/xfs_dquot.h | 49 +- trunk/fs/xfs/xfs_file.c | 84 +- trunk/fs/xfs/xfs_iget.c | 41 +- trunk/fs/xfs/xfs_inode.c | 94 +- trunk/fs/xfs/xfs_inode.h | 23 +- trunk/fs/xfs/xfs_inode_item.c | 297 +- trunk/fs/xfs/xfs_inode_item.h | 16 +- trunk/fs/xfs/xfs_ioctl.c | 14 +- trunk/fs/xfs/xfs_ioctl32.c | 2 +- trunk/fs/xfs/xfs_iomap.c | 19 +- trunk/fs/xfs/xfs_iops.c | 71 +- trunk/fs/xfs/xfs_itable.c | 21 +- trunk/fs/xfs/xfs_log.c | 612 +-- trunk/fs/xfs/xfs_log.h | 16 +- trunk/fs/xfs/xfs_log_priv.h | 28 +- trunk/fs/xfs/xfs_log_recover.c | 6 +- trunk/fs/xfs/xfs_mount.c | 8 +- trunk/fs/xfs/xfs_mount.h | 5 +- trunk/fs/xfs/xfs_qm.c | 628 ++- trunk/fs/xfs/xfs_qm.h | 49 +- trunk/fs/xfs/xfs_qm_bhv.c | 42 +- trunk/fs/xfs/xfs_qm_stats.c | 105 + trunk/fs/xfs/xfs_qm_stats.h | 53 + trunk/fs/xfs/xfs_qm_syscalls.c | 130 +- trunk/fs/xfs/xfs_quota.h | 2 - trunk/fs/xfs/xfs_quota_priv.h | 11 + trunk/fs/xfs/xfs_sb.h | 1 + trunk/fs/xfs/xfs_stats.c | 99 +- trunk/fs/xfs/xfs_stats.h | 10 - trunk/fs/xfs/xfs_super.c | 164 +- trunk/fs/xfs/xfs_super.h | 8 +- trunk/fs/xfs/xfs_sync.c | 46 +- trunk/fs/xfs/xfs_sync.h | 2 + trunk/fs/xfs/xfs_trace.h | 28 +- trunk/fs/xfs/xfs_trans.c | 31 +- trunk/fs/xfs/xfs_trans_ail.c | 83 +- trunk/fs/xfs/xfs_trans_buf.c | 25 +- trunk/fs/xfs/xfs_trans_dquot.c | 21 +- trunk/fs/xfs/xfs_trans_inode.c | 8 +- trunk/fs/xfs/xfs_trans_priv.h | 3 + trunk/fs/xfs/xfs_vnode.h | 1 + trunk/fs/xfs/xfs_vnodeops.h | 3 + trunk/include/asm-generic/bug.h | 6 +- trunk/include/asm-generic/mman-common.h | 4 - trunk/include/asm-generic/pci-bridge.h | 6 - trunk/include/asm-generic/pci.h | 24 + trunk/include/asm-generic/vmlinux.lds.h | 1 - trunk/include/drm/drm.h | 2 - trunk/include/drm/drmP.h | 25 +- trunk/include/drm/drm_crtc.h | 48 +- trunk/include/drm/drm_edid.h | 1 - trunk/include/drm/drm_fb_helper.h | 2 + trunk/include/drm/drm_mode.h | 2 - trunk/include/drm/drm_pciids.h | 54 - trunk/include/drm/exynos_drm.h | 26 - trunk/include/drm/gma_drm.h | 2 +- trunk/include/drm/i915_drm.h | 1 - trunk/include/drm/intel-gtt.h | 4 - trunk/include/drm/radeon_drm.h | 27 +- trunk/include/linux/amd-iommu.h | 2 +- trunk/include/linux/bitops.h | 13 +- trunk/include/linux/cleancache.h | 24 +- trunk/include/linux/compiler-gcc.h | 3 +- trunk/include/linux/crc32.h | 2 - trunk/include/linux/fb.h | 1 - trunk/include/linux/firewire-cdev.h | 39 +- trunk/include/linux/firewire.h | 16 +- trunk/include/linux/i2c-algo-bit.h | 1 - trunk/include/linux/i2c/at24.h | 35 +- trunk/include/linux/i2c/tc35876x.h | 11 - trunk/include/linux/input.h | 27 - trunk/include/linux/input/cyttsp.h | 58 - trunk/include/linux/input/ili210x.h | 10 - trunk/include/linux/input/kxtj9.h | 11 +- trunk/include/linux/input/matrix_keypad.h | 19 - trunk/include/linux/input/mt.h | 8 +- trunk/include/linux/input/ti_tscadc.h | 17 - trunk/include/linux/ioport.h | 6 + trunk/include/linux/ivtv.h | 6 +- trunk/include/linux/kernel.h | 10 +- trunk/include/linux/key.h | 2 - trunk/include/linux/kmod.h | 18 +- trunk/include/linux/led-lm3530.h | 9 - trunk/include/linux/leds-lp5521.h | 25 - trunk/include/linux/libata.h | 2 - trunk/include/linux/lockd/bind.h | 1 - trunk/include/linux/lockd/lockd.h | 7 +- trunk/include/linux/lockd/xdr4.h | 2 +- trunk/include/linux/lp855x.h | 131 - trunk/include/linux/magic.h | 18 +- trunk/include/linux/mfd/max8997.h | 53 +- trunk/include/linux/mfd/wm8994/pdata.h | 3 - trunk/include/linux/mm.h | 2 +- trunk/include/linux/mmc/ioctl.h | 3 - trunk/include/linux/nfs.h | 2 +- trunk/include/linux/nfs4.h | 7 +- trunk/include/linux/nfs_fs.h | 46 +- trunk/include/linux/nfs_fs_i.h | 4 + trunk/include/linux/nfs_fs_sb.h | 23 +- trunk/include/linux/nfs_idmap.h | 22 +- trunk/include/linux/nfs_iostat.h | 2 +- trunk/include/linux/nfs_page.h | 27 +- trunk/include/linux/nfs_xdr.h | 65 +- trunk/include/linux/nmi.h | 2 +- trunk/include/linux/omapfb.h | 32 +- trunk/include/linux/pci.h | 106 +- trunk/include/linux/pci_regs.h | 1 - trunk/include/linux/pinctrl/consumer.h | 159 - trunk/include/linux/pinctrl/machine.h | 190 +- trunk/include/linux/pinctrl/pinconf-generic.h | 114 - trunk/include/linux/pinctrl/pinconf.h | 44 +- trunk/include/linux/pinctrl/pinctrl-state.h | 6 - trunk/include/linux/pinctrl/pinctrl.h | 3 +- trunk/include/linux/pinctrl/pinmux.h | 52 + trunk/include/linux/pipe_fs_i.h | 2 + .../linux/platform_data/omap-abe-twl6040.h | 49 - .../linux/platform_data/omap4-keypad.h | 13 - trunk/include/linux/poll.h | 37 +- trunk/include/linux/prctl.h | 3 - trunk/include/linux/ptrace.h | 44 +- trunk/include/linux/raid/md_p.h | 6 +- trunk/include/linux/rcupdate.h | 2 +- trunk/include/linux/regmap.h | 132 - trunk/include/linux/sched.h | 12 - trunk/include/linux/seq_file.h | 5 +- trunk/include/linux/sunrpc/auth.h | 2 - trunk/include/linux/sunrpc/bc_xprt.h | 2 +- trunk/include/linux/sunrpc/cache.h | 8 +- trunk/include/linux/sunrpc/clnt.h | 40 +- trunk/include/linux/sunrpc/debug.h | 26 +- trunk/include/linux/sunrpc/metrics.h | 6 +- trunk/include/linux/sunrpc/rpc_pipe_fs.h | 46 +- trunk/include/linux/sunrpc/sched.h | 24 +- trunk/include/linux/sunrpc/stats.h | 22 +- trunk/include/linux/sunrpc/svc.h | 13 +- trunk/include/linux/sunrpc/svc_xprt.h | 3 +- trunk/include/linux/sunrpc/svcauth.h | 3 - trunk/include/linux/sunrpc/svcauth_gss.h | 2 - trunk/include/linux/sunrpc/svcsock.h | 2 +- trunk/include/linux/sunrpc/xprt.h | 11 +- trunk/include/linux/sunrpc/xprtsock.h | 12 + trunk/include/linux/tracehook.h | 9 +- trunk/include/linux/videodev2.h | 149 +- trunk/include/linux/virtio_ids.h | 1 - trunk/include/linux/virtio_scsi.h | 114 - trunk/include/media/adv7183.h | 47 - trunk/include/media/blackfin/bfin_capture.h | 37 - trunk/include/media/blackfin/ppi.h | 74 - trunk/include/media/davinci/vpif_types.h | 2 - trunk/include/media/gpio-ir-recv.h | 22 - trunk/include/media/mt9m032.h | 36 - trunk/include/media/rc-map.h | 3 - trunk/include/media/s5p_hdmi.h | 35 - trunk/include/media/sh_mobile_ceu.h | 2 - trunk/include/media/sii9234.h | 24 - trunk/include/media/tuner.h | 1 - trunk/include/media/v4l2-chip-ident.h | 6 - trunk/include/media/v4l2-ctrls.h | 13 - trunk/include/media/v4l2-dev.h | 3 - trunk/include/media/v4l2-ioctl.h | 4 - trunk/include/net/sock.h | 2 +- trunk/include/scsi/fc/fc_fcp.h | 6 +- trunk/include/scsi/fc/fc_ms.h | 213 - trunk/include/scsi/fc_encode.h | 363 +- trunk/include/scsi/iscsi_if.h | 79 - trunk/include/scsi/libfc.h | 11 - trunk/include/scsi/libiscsi.h | 3 +- trunk/include/scsi/libiscsi_tcp.h | 2 +- trunk/include/scsi/libsas.h | 71 +- trunk/include/scsi/sas.h | 4 +- trunk/include/scsi/sas_ata.h | 44 +- trunk/include/scsi/scsi.h | 1 - trunk/include/scsi/scsi_cmnd.h | 12 +- trunk/include/scsi/scsi_driver.h | 1 - trunk/include/scsi/scsi_netlink.h | 2 +- trunk/include/scsi/scsi_transport_fc.h | 32 +- trunk/include/scsi/scsi_transport_iscsi.h | 22 - trunk/include/scsi/scsi_transport_sas.h | 12 +- trunk/include/sound/compress_params.h | 2 - trunk/include/sound/control.h | 7 +- trunk/include/sound/dmaengine_pcm.h | 49 - trunk/include/sound/jack.h | 3 - trunk/include/sound/max9768.h | 24 - trunk/include/sound/pcm.h | 9 +- trunk/include/sound/sh_fsi.h | 12 +- trunk/include/sound/soc-dai.h | 11 +- trunk/include/sound/soc-dapm.h | 33 +- trunk/include/sound/soc.h | 45 +- trunk/include/sound/tea575x-tuner.h | 6 +- trunk/include/sound/version.h | 2 +- trunk/include/sound/wm2200.h | 41 - trunk/include/sound/wm8962.h | 6 - trunk/include/sound/ymfpci.h | 2 - trunk/include/target/target_core_backend.h | 2 - trunk/include/target/target_core_base.h | 85 +- trunk/include/target/target_core_fabric.h | 14 +- trunk/include/trace/events/regmap.h | 36 - trunk/include/trace/events/sunrpc.h | 177 - trunk/include/video/exynos_dp.h | 131 - trunk/include/video/exynos_mipi_dsim.h | 359 -- trunk/include/video/sh_mipi_dsi.h | 1 - trunk/include/video/sh_mobile_hdmi.h | 2 + trunk/include/video/sh_mobile_lcdc.h | 35 +- trunk/include/video/sh_mobile_meram.h | 45 +- trunk/include/video/udlfb.h | 1 - trunk/include/xen/interface/hvm/params.h | 6 +- trunk/include/xen/interface/physdev.h | 7 - trunk/include/xen/interface/platform.h | 20 +- trunk/include/xen/xenbus.h | 4 +- trunk/init/calibrate.c | 3 +- trunk/init/do_mounts.c | 4 +- trunk/kernel/debug/debug_core.c | 33 - trunk/kernel/debug/gdbstub.c | 10 +- trunk/kernel/debug/kdb/kdb_bp.c | 7 - trunk/kernel/debug/kdb/kdb_io.c | 2 +- trunk/kernel/debug/kdb/kdb_keyboard.c | 95 +- trunk/kernel/debug/kdb/kdb_main.c | 3 - trunk/kernel/debug/kdb/kdb_private.h | 7 - trunk/kernel/exit.c | 40 +- trunk/kernel/fork.c | 3 - trunk/kernel/kmod.c | 84 +- trunk/kernel/pid_namespace.c | 8 +- trunk/kernel/ptrace.c | 66 +- trunk/kernel/signal.c | 18 +- trunk/kernel/sys.c | 8 - trunk/kernel/time/timekeeping.c | 2 - trunk/kernel/watchdog.c | 27 +- trunk/lib/Kconfig | 61 +- trunk/lib/Kconfig.debug | 2 +- trunk/lib/crc32.c | 1287 ++--- trunk/lib/crc32defs.h | 56 +- trunk/lib/gen_crc32table.c | 81 +- trunk/lib/prio_tree.c | 156 +- trunk/lib/string.c | 20 +- trunk/lib/vsprintf.c | 20 - trunk/mm/cleancache.c | 98 +- trunk/mm/filemap.c | 2 +- trunk/mm/hugetlb.c | 25 +- trunk/mm/madvise.c | 8 - trunk/mm/memory.c | 8 +- trunk/mm/oom_kill.c | 4 +- trunk/mm/truncate.c | 10 +- trunk/mm/vmscan.c | 2 +- trunk/net/core/dev.c | 3 +- trunk/net/ipv4/devinet.c | 1 - trunk/net/ipv4/netfilter/iptable_filter.c | 9 +- trunk/net/ipv6/netfilter/ip6table_filter.c | 9 +- trunk/net/iucv/iucv.c | 2 +- trunk/net/l2tp/l2tp_ppp.c | 1 - trunk/net/netlabel/netlabel_kapi.c | 2 +- trunk/net/rds/ib_cm.c | 2 +- trunk/net/rds/iw_cm.c | 2 +- trunk/net/rds/loop.c | 2 +- trunk/net/sunrpc/Kconfig | 13 - trunk/net/sunrpc/addr.c | 26 +- trunk/net/sunrpc/auth_gss/auth_gss.c | 216 +- trunk/net/sunrpc/auth_gss/gss_krb5_crypto.c | 7 +- trunk/net/sunrpc/auth_gss/gss_krb5_mech.c | 2 +- trunk/net/sunrpc/auth_gss/gss_krb5_seal.c | 2 +- trunk/net/sunrpc/auth_gss/svcauth_gss.c | 165 +- trunk/net/sunrpc/backchannel_rqst.c | 1 - trunk/net/sunrpc/cache.c | 44 +- trunk/net/sunrpc/clnt.c | 548 +-- trunk/net/sunrpc/netns.h | 14 - trunk/net/sunrpc/rpc_pipe.c | 501 +- trunk/net/sunrpc/rpcb_clnt.c | 188 +- trunk/net/sunrpc/sched.c | 73 +- trunk/net/sunrpc/stats.c | 35 +- trunk/net/sunrpc/sunrpc.h | 2 - trunk/net/sunrpc/sunrpc_syms.c | 17 +- trunk/net/sunrpc/svc.c | 98 +- trunk/net/sunrpc/svc_xprt.c | 51 +- trunk/net/sunrpc/svcauth_unix.c | 126 +- trunk/net/sunrpc/svcsock.c | 5 +- trunk/net/sunrpc/sysctl.c | 4 +- trunk/net/sunrpc/xprt.c | 80 +- trunk/net/sunrpc/xprtrdma/rpc_rdma.c | 9 +- trunk/net/sunrpc/xprtrdma/verbs.c | 17 +- trunk/net/sunrpc/xprtsock.c | 33 +- trunk/net/unix/af_unix.c | 2 +- trunk/net/xfrm/xfrm_output.c | 4 +- trunk/net/xfrm/xfrm_replay.c | 6 +- trunk/scripts/checkpatch.pl | 183 +- trunk/scripts/get_maintainer.pl | 11 +- trunk/security/keys/key.c | 20 - trunk/security/keys/keyctl.c | 18 +- trunk/security/keys/request_key.c | 2 +- trunk/security/selinux/avc.c | 70 +- trunk/security/tomoyo/load_policy.c | 2 +- trunk/sound/aoa/codecs/onyx.c | 13 +- trunk/sound/aoa/codecs/tas.c | 13 +- trunk/sound/core/control.c | 2 +- trunk/sound/core/init.c | 169 +- trunk/sound/core/jack.c | 4 +- trunk/sound/core/misc.c | 2 +- trunk/sound/core/pcm.c | 99 +- trunk/sound/core/pcm_lib.c | 3 +- trunk/sound/core/pcm_native.c | 15 +- trunk/sound/core/vmaster.c | 46 +- trunk/sound/firewire/isight.c | 4 +- trunk/sound/firewire/speakers.c | 4 + trunk/sound/i2c/other/tea575x-tuner.c | 169 +- trunk/sound/pci/au88x0/au88x0.h | 13 +- trunk/sound/pci/au88x0/au88x0_core.c | 20 +- trunk/sound/pci/au88x0/au88x0_pcm.c | 127 +- trunk/sound/pci/ctxfi/ctvmem.c | 2 +- trunk/sound/pci/es1968.c | 15 - trunk/sound/pci/fm801.c | 20 +- trunk/sound/pci/hda/alc260_quirks.c | 968 ++++ trunk/sound/pci/hda/alc880_quirks.c | 1707 +++++++ trunk/sound/pci/hda/alc882_quirks.c | 866 ++++ trunk/sound/pci/hda/alc_quirks.c | 480 ++ trunk/sound/pci/hda/hda_codec.c | 192 +- trunk/sound/pci/hda/hda_codec.h | 1 - trunk/sound/pci/hda/hda_eld.c | 4 +- trunk/sound/pci/hda/hda_intel.c | 52 +- trunk/sound/pci/hda/hda_jack.c | 16 - trunk/sound/pci/hda/hda_jack.h | 13 +- trunk/sound/pci/hda/hda_local.h | 30 +- trunk/sound/pci/hda/patch_analog.c | 72 +- trunk/sound/pci/hda/patch_conexant.c | 122 +- trunk/sound/pci/hda/patch_hdmi.c | 2 - trunk/sound/pci/hda/patch_realtek.c | 1844 +++----- trunk/sound/pci/hda/patch_sigmatel.c | 203 +- trunk/sound/pci/hda/patch_via.c | 48 +- trunk/sound/pci/ice1712/ice1724.c | 23 - trunk/sound/pci/ymfpci/ymfpci_main.c | 9 - trunk/sound/soc/Kconfig | 3 - trunk/sound/soc/Makefile | 3 - trunk/sound/soc/atmel/atmel-pcm.c | 4 +- trunk/sound/soc/atmel/snd-soc-afeb9260.c | 37 +- trunk/sound/soc/blackfin/bf5xx-ad1836.c | 17 +- trunk/sound/soc/blackfin/bf5xx-ad193x.c | 17 +- trunk/sound/soc/blackfin/bf5xx-ad73311.c | 29 +- trunk/sound/soc/blackfin/bf5xx-ssm2602.c | 20 +- trunk/sound/soc/blackfin/bfin-eval-adau1373.c | 13 +- trunk/sound/soc/blackfin/bfin-eval-adau1701.c | 16 +- trunk/sound/soc/blackfin/bfin-eval-adav80x.c | 13 +- trunk/sound/soc/codecs/Kconfig | 8 - trunk/sound/soc/codecs/Makefile | 4 - trunk/sound/soc/codecs/ad1836.c | 6 +- trunk/sound/soc/codecs/ad1980.c | 2 +- trunk/sound/soc/codecs/adau1373.c | 7 +- trunk/sound/soc/codecs/adau1701.c | 2 +- trunk/sound/soc/codecs/ak4104.c | 174 +- trunk/sound/soc/codecs/ak4535.c | 98 +- trunk/sound/soc/codecs/ak4535.h | 2 + trunk/sound/soc/codecs/ak4642.c | 2 +- trunk/sound/soc/codecs/ak4671.c | 2 +- trunk/sound/soc/codecs/alc5623.c | 12 +- trunk/sound/soc/codecs/alc5632.c | 197 +- trunk/sound/soc/codecs/alc5632.h | 1 - trunk/sound/soc/codecs/cq93vc.c | 4 +- trunk/sound/soc/codecs/cs4270.c | 4 +- trunk/sound/soc/codecs/cs4271.c | 2 +- trunk/sound/soc/codecs/da7210.c | 146 +- trunk/sound/soc/codecs/lm4857.c | 2 +- trunk/sound/soc/codecs/max9768.c | 247 - trunk/sound/soc/codecs/max98088.c | 4 +- trunk/sound/soc/codecs/max98095.c | 6 +- trunk/sound/soc/codecs/max9877.c | 2 +- trunk/sound/soc/codecs/sgtl5000.c | 19 +- trunk/sound/soc/codecs/sn95031.c | 5 +- trunk/sound/soc/codecs/ssm2602.c | 2 +- trunk/sound/soc/codecs/stac9766.c | 2 +- trunk/sound/soc/codecs/tlv320aic23.c | 2 +- trunk/sound/soc/codecs/tlv320aic26.c | 2 +- trunk/sound/soc/codecs/tlv320aic32x4.c | 2 +- trunk/sound/soc/codecs/tlv320aic3x.c | 66 +- trunk/sound/soc/codecs/tlv320aic3x.h | 9 + trunk/sound/soc/codecs/tlv320dac33.c | 10 +- trunk/sound/soc/codecs/tpa6130a2.c | 4 +- trunk/sound/soc/codecs/twl4030.c | 42 +- trunk/sound/soc/codecs/twl6040.c | 31 +- trunk/sound/soc/codecs/twl6040.h | 1 - trunk/sound/soc/codecs/uda134x.c | 6 +- trunk/sound/soc/codecs/wl1273.c | 2 +- trunk/sound/soc/codecs/wm2200.c | 2286 --------- trunk/sound/soc/codecs/wm2200.h | 3674 --------------- trunk/sound/soc/codecs/wm5100.c | 643 +-- trunk/sound/soc/codecs/wm8731.c | 109 +- trunk/sound/soc/codecs/wm8737.c | 2 +- trunk/sound/soc/codecs/wm8753.c | 195 +- trunk/sound/soc/codecs/wm8770.c | 5 +- trunk/sound/soc/codecs/wm8776.c | 8 +- trunk/sound/soc/codecs/wm8804.c | 154 +- trunk/sound/soc/codecs/wm8904.c | 856 ++-- trunk/sound/soc/codecs/wm8904.h | 11 - trunk/sound/soc/codecs/wm8940.c | 16 +- trunk/sound/soc/codecs/wm8955.c | 247 +- trunk/sound/soc/codecs/wm8958-dsp2.c | 14 +- trunk/sound/soc/codecs/wm8960.c | 2 +- trunk/sound/soc/codecs/wm8961.c | 2 +- trunk/sound/soc/codecs/wm8962.c | 2141 +++++---- trunk/sound/soc/codecs/wm8971.c | 37 +- trunk/sound/soc/codecs/wm8974.c | 45 +- trunk/sound/soc/codecs/wm8978.c | 185 +- trunk/sound/soc/codecs/wm8978.h | 2 - trunk/sound/soc/codecs/wm8983.c | 5 + trunk/sound/soc/codecs/wm8985.c | 315 +- trunk/sound/soc/codecs/wm8988.c | 171 +- trunk/sound/soc/codecs/wm8990.c | 2 +- trunk/sound/soc/codecs/wm8991.c | 2 +- trunk/sound/soc/codecs/wm8993.c | 649 +-- trunk/sound/soc/codecs/wm8993.h | 9 - trunk/sound/soc/codecs/wm8994.c | 548 +-- trunk/sound/soc/codecs/wm8994.h | 14 +- trunk/sound/soc/codecs/wm8995.c | 4 +- trunk/sound/soc/codecs/wm8996.c | 253 +- trunk/sound/soc/codecs/wm9081.c | 80 +- trunk/sound/soc/codecs/wm9090.c | 272 +- trunk/sound/soc/codecs/wm9705.c | 2 +- trunk/sound/soc/codecs/wm9712.c | 16 +- trunk/sound/soc/codecs/wm9713.c | 2 +- trunk/sound/soc/codecs/wm_hubs.c | 152 +- trunk/sound/soc/codecs/wm_hubs.h | 12 - trunk/sound/soc/davinci/davinci-pcm.c | 4 +- trunk/sound/soc/ep93xx/Kconfig | 1 - trunk/sound/soc/ep93xx/edb93xx.c | 4 +- trunk/sound/soc/ep93xx/ep93xx-pcm.c | 152 +- trunk/sound/soc/ep93xx/snappercl15.c | 4 +- trunk/sound/soc/fsl/fsl_dma.c | 10 +- trunk/sound/soc/fsl/fsl_ssi.c | 6 +- trunk/sound/soc/fsl/mpc5200_dma.c | 17 +- trunk/sound/soc/fsl/mpc8610_hpcd.c | 18 +- trunk/sound/soc/fsl/p1022_ds.c | 60 +- trunk/sound/soc/imx/Kconfig | 25 +- trunk/sound/soc/imx/Makefile | 15 +- trunk/sound/soc/imx/eukrea-tlv320.c | 40 +- trunk/sound/soc/imx/imx-audmux.h | 60 - trunk/sound/soc/imx/imx-pcm-dma-mx2.c | 223 +- trunk/sound/soc/imx/imx-pcm.c | 105 - trunk/sound/soc/imx/imx-pcm.h | 32 - trunk/sound/soc/imx/imx-ssi.c | 118 +- trunk/sound/soc/imx/imx-ssi.h | 16 +- trunk/sound/soc/imx/mx27vis-aic32x4.c | 159 +- trunk/sound/soc/imx/phycore-ac97.c | 27 +- trunk/sound/soc/imx/wm1133-ev1.c | 25 +- trunk/sound/soc/jz4740/qi_lb60.c | 56 +- trunk/sound/soc/kirkwood/kirkwood-dma.c | 4 +- trunk/sound/soc/kirkwood/kirkwood-openrd.c | 46 +- trunk/sound/soc/kirkwood/kirkwood-t5325.c | 47 +- trunk/sound/soc/mid-x86/mfld_machine.c | 2 +- trunk/sound/soc/mxs/Kconfig | 2 +- trunk/sound/soc/mxs/mxs-pcm.c | 157 +- trunk/sound/soc/mxs/mxs-pcm.h | 16 + trunk/sound/soc/mxs/mxs-saif.c | 51 +- trunk/sound/soc/omap/Kconfig | 15 +- trunk/sound/soc/omap/Makefile | 6 +- trunk/sound/soc/omap/am3517evm.c | 2 +- trunk/sound/soc/omap/ams-delta.c | 4 +- trunk/sound/soc/omap/igep0020.c | 2 +- trunk/sound/soc/omap/mcbsp.h | 346 -- trunk/sound/soc/omap/n810.c | 19 +- trunk/sound/soc/omap/omap-abe-twl6040.c | 349 -- trunk/sound/soc/omap/omap-dmic.c | 7 +- trunk/sound/soc/omap/omap-mcbsp.c | 321 +- trunk/sound/soc/omap/omap-mcbsp.h | 2 +- trunk/sound/soc/omap/omap-mcpdm.c | 2 - trunk/sound/soc/omap/omap-pcm.h | 2 - trunk/sound/soc/omap/omap3beagle.c | 2 +- trunk/sound/soc/omap/omap3evm.c | 2 +- trunk/sound/soc/omap/omap3pandora.c | 4 +- trunk/sound/soc/omap/osk5912.c | 2 +- trunk/sound/soc/omap/overo.c | 2 +- trunk/sound/soc/omap/rx51.c | 27 +- trunk/sound/soc/omap/sdp3430.c | 4 +- trunk/sound/soc/omap/sdp4430.c | 279 ++ trunk/sound/soc/omap/zoom2.c | 4 +- trunk/sound/soc/pxa/corgi.c | 14 +- trunk/sound/soc/pxa/magician.c | 2 +- trunk/sound/soc/pxa/poodle.c | 14 +- trunk/sound/soc/pxa/pxa-ssp.c | 64 +- trunk/sound/soc/pxa/pxa2xx-ac97.c | 10 +- trunk/sound/soc/pxa/raumfeld.c | 2 +- trunk/sound/soc/pxa/spitz.c | 14 +- trunk/sound/soc/pxa/tosa.c | 2 +- trunk/sound/soc/s6000/s6000-pcm.c | 5 +- trunk/sound/soc/samsung/ac97.c | 4 +- trunk/sound/soc/samsung/dma.c | 2 +- trunk/sound/soc/samsung/i2s.c | 27 +- trunk/sound/soc/samsung/i2s.h | 2 +- trunk/sound/soc/samsung/littlemill.c | 3 - trunk/sound/soc/samsung/neo1973_wm8753.c | 4 +- trunk/sound/soc/samsung/pcm.c | 4 +- trunk/sound/soc/samsung/s3c24xx_simtec.c | 6 +- trunk/sound/soc/samsung/smdk_wm8580.c | 4 +- trunk/sound/soc/samsung/smdk_wm9713.c | 4 +- trunk/sound/soc/sh/fsi.c | 912 ++-- trunk/sound/soc/soc-core.c | 399 +- trunk/sound/soc/soc-dapm.c | 400 +- trunk/sound/soc/soc-dmaengine-pcm.c | 288 -- trunk/sound/soc/soc-io.c | 7 - trunk/sound/soc/soc-pcm.c | 104 +- trunk/sound/soc/soc-utils.c | 20 +- trunk/sound/soc/tegra/tegra_alc5632.c | 129 +- trunk/sound/soc/tegra/tegra_pcm.c | 2 +- trunk/sound/spi/at73c213.c | 12 +- trunk/sound/usb/6fire/chip.c | 3 +- trunk/sound/usb/6fire/chip.h | 1 + trunk/sound/usb/6fire/comm.c | 1 + trunk/sound/usb/6fire/comm.h | 1 + trunk/sound/usb/6fire/common.h | 1 + trunk/sound/usb/6fire/control.c | 341 +- trunk/sound/usb/6fire/control.h | 7 +- trunk/sound/usb/6fire/firmware.c | 1 + trunk/sound/usb/6fire/midi.c | 1 + trunk/sound/usb/6fire/midi.h | 1 + trunk/sound/usb/6fire/pcm.c | 1 + trunk/sound/usb/6fire/pcm.h | 1 + trunk/sound/usb/Kconfig | 1 - trunk/sound/usb/pcm.c | 6 +- trunk/sound/usb/usx2y/usbusx2yaudio.c | 4 +- trunk/sound/usb/usx2y/usx2yhwdeppcm.c | 2 +- trunk/tools/perf/util/include/linux/bitops.h | 2 +- trunk/tools/testing/ktest/ktest.pl | 56 +- trunk/tools/testing/ktest/sample.conf | 14 +- 2155 files changed, 55408 insertions(+), 129214 deletions(-) create mode 100644 trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache delete mode 100644 trunk/Documentation/DocBook/media/v4l/vidioc-decoder-cmd.xml delete mode 100644 trunk/Documentation/EDID/1024x768.S delete mode 100644 trunk/Documentation/EDID/1280x1024.S delete mode 100644 trunk/Documentation/EDID/1680x1050.S delete mode 100644 trunk/Documentation/EDID/1920x1080.S delete mode 100644 trunk/Documentation/EDID/HOWTO.txt delete mode 100644 trunk/Documentation/EDID/Makefile delete mode 100644 trunk/Documentation/EDID/edid.S delete mode 100644 trunk/Documentation/EDID/hex delete mode 100644 trunk/Documentation/backlight/lp855x-driver.txt delete mode 100644 trunk/Documentation/crc32.txt delete mode 100644 trunk/Documentation/devicetree/bindings/i2c/sirf-i2c.txt delete mode 100644 trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt delete mode 100644 trunk/Documentation/devicetree/bindings/sound/alc5632.txt delete mode 100644 trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt rename trunk/Documentation/devicetree/bindings/sound/{sgtl5000.txt => soc/codecs/fsl-sgtl5000.txt} (100%) delete mode 100644 trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt delete mode 100644 trunk/Documentation/hwmon/mcp3021 delete mode 100644 trunk/Documentation/scsi/bfa.txt delete mode 100644 trunk/Documentation/video4linux/fimc.txt delete mode 100644 trunk/arch/arm/mach-tegra/include/mach/pinconf-tegra.h delete mode 100644 trunk/arch/arm/mach-tegra/include/mach/smmu.h create mode 100644 trunk/arch/arm/plat-mxc/audmux-v1.c rename trunk/{sound/soc/imx/imx-audmux.c => arch/arm/plat-mxc/audmux-v2.c} (52%) create mode 100644 trunk/arch/arm/plat-mxc/include/mach/audmux.h create mode 100644 trunk/arch/arm/plat-omap/fb.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/blizzard.h create mode 100644 trunk/arch/arm/plat-omap/include/plat/hwa742.h rename trunk/{sound/soc/omap => arch/arm/plat-omap}/mcbsp.c (66%) delete mode 100644 trunk/arch/blackfin/include/asm/barrier.h delete mode 100644 trunk/arch/blackfin/include/asm/cmpxchg.h delete mode 100644 trunk/arch/blackfin/include/asm/exec.h delete mode 100644 trunk/arch/blackfin/include/asm/switch_to.h rename trunk/arch/blackfin/kernel/{bfin_dma.c => bfin_dma_5xx.c} (98%) delete mode 100644 trunk/arch/s390/include/asm/os_info.h create mode 100644 trunk/arch/s390/include/asm/sigp.h delete mode 100644 trunk/arch/s390/kernel/lgr.c delete mode 100644 trunk/arch/s390/kernel/os_info.c create mode 100644 trunk/arch/s390/kernel/switch_cpu.S create mode 100644 trunk/arch/s390/kernel/switch_cpu64.S delete mode 100644 trunk/drivers/gpu/drm/drm_edid_load.c delete mode 100644 trunk/drivers/gpu/drm/exynos/exynos_drm_vidi.c delete mode 100644 trunk/drivers/gpu/drm/exynos/exynos_drm_vidi.h create mode 100644 trunk/drivers/gpu/drm/exynos/exynos_mixer.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_device.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_dpi.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_output.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_output.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_intel_display.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_output.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_output.h delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_tmd_vid.c delete mode 100644 trunk/drivers/gpu/drm/gma500/mdfld_tpo_vid.c delete mode 100644 trunk/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c delete mode 100644 trunk/drivers/gpu/drm/gma500/tc35876x-dsi-lvds.h create mode 100644 trunk/drivers/gpu/drm/i915/i915_mem.c delete mode 100644 trunk/drivers/gpu/drm/nouveau/nv20_fb.c delete mode 100644 trunk/drivers/gpu/drm/radeon/atombios_i2c.c delete mode 100644 trunk/drivers/gpu/drm/radeon/radeon_blit_common.h delete mode 100644 trunk/drivers/gpu/drm/radeon/si.c delete mode 100644 trunk/drivers/gpu/drm/radeon/si_blit_shaders.c delete mode 100644 trunk/drivers/gpu/drm/radeon/si_blit_shaders.h delete mode 100644 trunk/drivers/gpu/drm/radeon/si_reg.h delete mode 100644 trunk/drivers/gpu/drm/radeon/sid.h delete mode 100644 trunk/drivers/gpu/drm/udl/Kconfig delete mode 100644 trunk/drivers/gpu/drm/udl/Makefile delete mode 100644 trunk/drivers/gpu/drm/udl/udl_connector.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_drv.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_drv.h delete mode 100644 trunk/drivers/gpu/drm/udl/udl_encoder.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_fb.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_gem.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_main.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_modeset.c delete mode 100644 trunk/drivers/gpu/drm/udl/udl_transfer.c delete mode 100644 trunk/drivers/hwmon/mcp3021.c delete mode 100644 trunk/drivers/i2c/busses/i2c-sirf.c delete mode 100644 trunk/drivers/i2c/busses/i2c-xlr.c delete mode 100644 trunk/drivers/input/misc/da9052_onkey.c delete mode 100644 trunk/drivers/input/misc/max8997_haptic.c delete mode 100644 trunk/drivers/input/mouse/synaptics_usb.c delete mode 100644 trunk/drivers/input/of_keymap.c delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_core.c delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_core.h delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_i2c.c delete mode 100644 trunk/drivers/input/touchscreen/cyttsp_spi.c delete mode 100644 trunk/drivers/input/touchscreen/ili210x.c delete mode 100644 trunk/drivers/input/touchscreen/ti_tscadc.c delete mode 100644 trunk/drivers/iommu/tegra-gart.c delete mode 100644 trunk/drivers/iommu/tegra-smmu.c delete mode 100644 trunk/drivers/leds/leds-pca9633.c delete mode 100644 trunk/drivers/media/dvb/dvb-usb/az6007.c delete mode 100644 trunk/drivers/media/dvb/dvb-usb/rtl28xxu.c delete mode 100644 trunk/drivers/media/dvb/dvb-usb/rtl28xxu.h delete mode 100644 trunk/drivers/media/dvb/frontends/m88rs2000.c delete mode 100644 trunk/drivers/media/dvb/frontends/m88rs2000.h delete mode 100644 trunk/drivers/media/dvb/frontends/rtl2830.c delete mode 100644 trunk/drivers/media/dvb/frontends/rtl2830.h delete mode 100644 trunk/drivers/media/dvb/frontends/rtl2830_priv.h delete mode 100644 trunk/drivers/media/radio/radio-isa.c delete mode 100644 trunk/drivers/media/radio/radio-isa.h delete mode 100644 trunk/drivers/media/radio/radio-keene.c delete mode 100644 trunk/drivers/media/rc/gpio-ir-recv.c delete mode 100644 trunk/drivers/media/rc/keymaps/rc-it913x-v1.c delete mode 100644 trunk/drivers/media/rc/keymaps/rc-it913x-v2.c delete mode 100644 trunk/drivers/media/rc/keymaps/rc-kworld-pc150u.c delete mode 100644 trunk/drivers/media/video/adv7183.c delete mode 100644 trunk/drivers/media/video/adv7183_regs.h delete mode 100644 trunk/drivers/media/video/aptina-pll.c delete mode 100644 trunk/drivers/media/video/aptina-pll.h delete mode 100644 trunk/drivers/media/video/blackfin/Kconfig delete mode 100644 trunk/drivers/media/video/blackfin/Makefile delete mode 100644 trunk/drivers/media/video/blackfin/bfin_capture.c delete mode 100644 trunk/drivers/media/video/blackfin/ppi.c delete mode 100644 trunk/drivers/media/video/mt9m032.c delete mode 100644 trunk/drivers/media/video/mx2_emmaprp.c delete mode 100644 trunk/drivers/media/video/s5p-tv/sii9234_drv.c delete mode 100644 trunk/drivers/media/video/vs6624.c delete mode 100644 trunk/drivers/media/video/vs6624_regs.h delete mode 100644 trunk/drivers/pinctrl/pinconf-generic.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-coh901.h delete mode 100644 trunk/drivers/pinctrl/pinctrl-mmp2.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa168.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa3xx.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa3xx.h delete mode 100644 trunk/drivers/pinctrl/pinctrl-pxa910.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra.h delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra20.c delete mode 100644 trunk/drivers/pinctrl/pinctrl-tegra30.c delete mode 100644 trunk/drivers/rtc/rtc-da9052.c delete mode 100644 trunk/drivers/rtc/rtc-ls1x.c create mode 100644 trunk/drivers/s390/crypto/zcrypt_mono.c delete mode 100644 trunk/drivers/scsi/virtio_scsi.c delete mode 100644 trunk/drivers/video/backlight/lp855x_bl.c delete mode 100644 trunk/drivers/video/backlight/ot200_bl.c delete mode 100644 trunk/drivers/video/backlight/pandora_bl.c delete mode 100644 trunk/drivers/video/exynos/Kconfig delete mode 100644 trunk/drivers/video/exynos/Makefile delete mode 100644 trunk/drivers/video/exynos/exynos_dp_core.c delete mode 100644 trunk/drivers/video/exynos/exynos_dp_core.h delete mode 100644 trunk/drivers/video/exynos/exynos_dp_reg.c delete mode 100644 trunk/drivers/video/exynos/exynos_dp_reg.h delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi.c delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_common.c delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_common.h delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_lowlevel.c delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_lowlevel.h delete mode 100644 trunk/drivers/video/exynos/exynos_mipi_dsi_regs.h delete mode 100644 trunk/drivers/video/exynos/s6e8ax0.c delete mode 100644 trunk/drivers/video/exynos/s6e8ax0.h delete mode 100644 trunk/drivers/video/i740_reg.h delete mode 100644 trunk/drivers/video/i740fb.c create mode 100644 trunk/drivers/video/omap/blizzard.c create mode 100644 trunk/drivers/video/omap/dispc.c create mode 100644 trunk/drivers/video/omap/dispc.h create mode 100644 trunk/drivers/video/omap/rfbi.c delete mode 100644 trunk/drivers/video/via/via_aux.c delete mode 100644 trunk/drivers/video/via/via_aux.h delete mode 100644 trunk/drivers/video/via/via_aux_ch7301.c delete mode 100644 trunk/drivers/video/via/via_aux_edid.c delete mode 100644 trunk/drivers/video/via/via_aux_sii164.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1621.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1622.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1625.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1631.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1632.c delete mode 100644 trunk/drivers/video/via/via_aux_vt1636.c delete mode 100644 trunk/drivers/xen/xen-acpi-processor.c delete mode 100644 trunk/fs/lockd/netns.h delete mode 100644 trunk/fs/nfs/netns.h create mode 100644 trunk/fs/xfs/xfs_qm_stats.c create mode 100644 trunk/fs/xfs/xfs_qm_stats.h delete mode 100644 trunk/include/linux/i2c/tc35876x.h delete mode 100644 trunk/include/linux/input/cyttsp.h delete mode 100644 trunk/include/linux/input/ili210x.h delete mode 100644 trunk/include/linux/input/ti_tscadc.h delete mode 100644 trunk/include/linux/lp855x.h delete mode 100644 trunk/include/linux/pinctrl/consumer.h delete mode 100644 trunk/include/linux/pinctrl/pinconf-generic.h delete mode 100644 trunk/include/linux/pinctrl/pinctrl-state.h delete mode 100644 trunk/include/linux/platform_data/omap-abe-twl6040.h delete mode 100644 trunk/include/linux/platform_data/omap4-keypad.h delete mode 100644 trunk/include/linux/virtio_scsi.h delete mode 100644 trunk/include/media/adv7183.h delete mode 100644 trunk/include/media/blackfin/bfin_capture.h delete mode 100644 trunk/include/media/blackfin/ppi.h delete mode 100644 trunk/include/media/gpio-ir-recv.h delete mode 100644 trunk/include/media/mt9m032.h delete mode 100644 trunk/include/media/s5p_hdmi.h delete mode 100644 trunk/include/media/sii9234.h delete mode 100644 trunk/include/scsi/fc/fc_ms.h delete mode 100644 trunk/include/sound/dmaengine_pcm.h delete mode 100644 trunk/include/sound/max9768.h delete mode 100644 trunk/include/sound/wm2200.h delete mode 100644 trunk/include/trace/events/sunrpc.h delete mode 100644 trunk/include/video/exynos_dp.h delete mode 100644 trunk/include/video/exynos_mipi_dsim.h create mode 100644 trunk/sound/pci/hda/alc260_quirks.c create mode 100644 trunk/sound/pci/hda/alc880_quirks.c create mode 100644 trunk/sound/pci/hda/alc882_quirks.c create mode 100644 trunk/sound/pci/hda/alc_quirks.c delete mode 100644 trunk/sound/soc/codecs/max9768.c delete mode 100644 trunk/sound/soc/codecs/wm2200.c delete mode 100644 trunk/sound/soc/codecs/wm2200.h delete mode 100644 trunk/sound/soc/imx/imx-audmux.h delete mode 100644 trunk/sound/soc/imx/imx-pcm.c delete mode 100644 trunk/sound/soc/imx/imx-pcm.h delete mode 100644 trunk/sound/soc/omap/mcbsp.h delete mode 100644 trunk/sound/soc/omap/omap-abe-twl6040.c create mode 100644 trunk/sound/soc/omap/sdp4430.c delete mode 100644 trunk/sound/soc/soc-dmaengine-pcm.c diff --git a/[refs] b/[refs] index e38ec9377847..d98b395eff6e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8e3ade251bc7c0a4f0777df4dd34343a03efadba +refs/heads/master: 13354dc412c36fe554f9904a92f1268c74af7e87 diff --git a/trunk/Documentation/00-INDEX b/trunk/Documentation/00-INDEX index 2214f123a976..a1a643272883 100644 --- a/trunk/Documentation/00-INDEX +++ b/trunk/Documentation/00-INDEX @@ -104,8 +104,6 @@ cpuidle/ - info on CPU_IDLE, CPU idle state management subsystem. cputopology.txt - documentation on how CPU topology info is exported via sysfs. -crc32.txt - - brief tutorial on CRC computation cris/ - directory with info about Linux on CRIS architecture. crypto/ diff --git a/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache b/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache new file mode 100644 index 000000000000..662ae646ea12 --- /dev/null +++ b/trunk/Documentation/ABI/testing/sysfs-kernel-mm-cleancache @@ -0,0 +1,11 @@ +What: /sys/kernel/mm/cleancache/ +Date: April 2011 +Contact: Dan Magenheimer +Description: + /sys/kernel/mm/cleancache/ contains a number of files which + record a count of various cleancache operations + (sum across all filesystems): + succ_gets + failed_gets + puts + flushes diff --git a/trunk/Documentation/DocBook/kgdb.tmpl b/trunk/Documentation/DocBook/kgdb.tmpl index 4ee4ba3509fc..d71b57fcf116 100644 --- a/trunk/Documentation/DocBook/kgdb.tmpl +++ b/trunk/Documentation/DocBook/kgdb.tmpl @@ -361,23 +361,6 @@ It is possible to use this option with kgdboc on a tty that is not a system console. - - - Run time parameter: kgdbreboot - The kgdbreboot feature allows you to change how the debugger - deals with the reboot notification. You have 3 choices for the - behavior. The default behavior is always set to 0. - - echo -1 > /sys/module/debug_core/parameters/kgdbreboot - Ignore the reboot notification entirely. - - echo 0 > /sys/module/debug_core/parameters/kgdbreboot - Send the detach message to any attached debugger client. - - echo 1 > /sys/module/debug_core/parameters/kgdbreboot - Enter the debugger on reboot notify. - - diff --git a/trunk/Documentation/DocBook/media/v4l/biblio.xml b/trunk/Documentation/DocBook/media/v4l/biblio.xml index 7dc65c592a87..cea6fd3ed428 100644 --- a/trunk/Documentation/DocBook/media/v4l/biblio.xml +++ b/trunk/Documentation/DocBook/media/v4l/biblio.xml @@ -128,26 +128,6 @@ url="http://www.ijg.org">http://www.ijg.org) Version 1.02 - - ITU-T.81 - - International Telecommunication Union -(http://www.itu.int) - - ITU-T Recommendation T.81 -"Information Technology — Digital Compression and Coding of Continous-Tone -Still Images — Requirements and Guidelines" - - - - W3C JPEG JFIF - - The World Wide Web Consortium (http://www.w3.org) - - JPEG JFIF - - SMPTE 12M diff --git a/trunk/Documentation/DocBook/media/v4l/compat.xml b/trunk/Documentation/DocBook/media/v4l/compat.xml index bce97c50391b..a2485b3ff3d2 100644 --- a/trunk/Documentation/DocBook/media/v4l/compat.xml +++ b/trunk/Documentation/DocBook/media/v4l/compat.xml @@ -2393,20 +2393,6 @@ details. to the User controls class. - - Added the device_caps field to struct v4l2_capabilities and added the new - V4L2_CAP_DEVICE_CAPS capability. - - - - -
- V4L2 in Linux 3.4 - - - Added JPEG compression control - class. -
diff --git a/trunk/Documentation/DocBook/media/v4l/controls.xml b/trunk/Documentation/DocBook/media/v4l/controls.xml index b84f25e9cc87..a1be37897ad7 100644 --- a/trunk/Documentation/DocBook/media/v4l/controls.xml +++ b/trunk/Documentation/DocBook/media/v4l/controls.xml @@ -1284,49 +1284,6 @@ values are: capturing. This is not done by muting audio hardware, which can still produce a slight hiss, but in the encoder itself, guaranteeing a fixed and reproducible audio bitstream. 0 = unmuted, 1 = muted. - - - - V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK  - enum v4l2_mpeg_audio_dec_playback - Determines how monolingual audio should be played back. -Possible values are: - - - - - - V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO  - Automatically determines the best playback mode. - - - V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO  - Stereo playback. - - - V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT  - Left channel playback. - - - V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT  - Right channel playback. - - - V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO  - Mono playback. - - - V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO  - Stereo playback with swapped left and right channels. - - - - - - - V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK  - enum v4l2_mpeg_audio_dec_playback - Determines how multilingual audio should be played back. @@ -1490,22 +1447,6 @@ of the video. The supplied 32-bit integer is interpreted as follows (bit - - - V4L2_CID_MPEG_VIDEO_DEC_PTS  - integer64 - This read-only control returns the -33-bit video Presentation Time Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of -the currently displayed frame. This is the same PTS as is used in &VIDIOC-DECODER-CMD;. - - - - V4L2_CID_MPEG_VIDEO_DEC_FRAME  - integer64 - This read-only control returns the -frame counter of the frame that is currently displayed (decoded). This value is reset to 0 whenever -the decoder is started. - @@ -3436,167 +3377,6 @@ interface and may change in the future. - - -
- JPEG Control Reference - The JPEG class includes controls for common features of JPEG - encoders and decoders. Currently it includes features for codecs - implementing progressive baseline DCT compression process with - Huffman entrophy coding. - - JPEG Control IDs - - - - - - - - - - ID - Type - Description - - - - - - V4L2_CID_JPEG_CLASS  - class - The JPEG class descriptor. Calling - &VIDIOC-QUERYCTRL; for this control will return a description of this - control class. - - - - - V4L2_CID_JPEG_CHROMA_SUBSAMPLING - menu - - - The chroma subsampling factors describe how - each component of an input image is sampled, in respect to maximum - sample rate in each spatial dimension. See , - clause A.1.1. for more details. The - V4L2_CID_JPEG_CHROMA_SUBSAMPLING control determines how - Cb and Cr components are downsampled after coverting an input image - from RGB to Y'CbCr color space. - - - - - - - V4L2_JPEG_CHROMA_SUBSAMPLING_444 - No chroma subsampling, each pixel has - Y, Cr and Cb values. - - - V4L2_JPEG_CHROMA_SUBSAMPLING_422 - Horizontally subsample Cr, Cb components - by a factor of 2. - - - V4L2_JPEG_CHROMA_SUBSAMPLING_420 - Subsample Cr, Cb components horizontally - and vertically by 2. - - - V4L2_JPEG_CHROMA_SUBSAMPLING_411 - Horizontally subsample Cr, Cb components - by a factor of 4. - - - V4L2_JPEG_CHROMA_SUBSAMPLING_410 - Subsample Cr, Cb components horizontally - by 4 and vertically by 2. - - - V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY - Use only luminance component. - - - - - - V4L2_CID_JPEG_RESTART_INTERVAL - integer - - - The restart interval determines an interval of inserting RSTm - markers (m = 0..7). The purpose of these markers is to additionally - reinitialize the encoder process, in order to process blocks of - an image independently. - For the lossy compression processes the restart interval unit is - MCU (Minimum Coded Unit) and its value is contained in DRI - (Define Restart Interval) marker. If - V4L2_CID_JPEG_RESTART_INTERVAL control is set to 0, - DRI and RSTm markers will not be inserted. - - - - V4L2_CID_JPEG_COMPRESION_QUALITY - integer - - - - V4L2_CID_JPEG_COMPRESION_QUALITY control - determines trade-off between image quality and size. - It provides simpler method for applications to control image quality, - without a need for direct reconfiguration of luminance and chrominance - quantization tables. - - In cases where a driver uses quantization tables configured directly - by an application, using interfaces defined elsewhere, - V4L2_CID_JPEG_COMPRESION_QUALITY control should be set - by driver to 0. - - The value range of this control is driver-specific. Only - positive, non-zero values are meaningful. The recommended range - is 1 - 100, where larger values correspond to better image quality. - - - - - V4L2_CID_JPEG_ACTIVE_MARKER - bitmask - - - Specify which JPEG markers are included - in compressed stream. This control is valid only for encoders. - - - - - - - V4L2_JPEG_ACTIVE_MARKER_APP0 - Application data segment APP0. - - V4L2_JPEG_ACTIVE_MARKER_APP1 - Application data segment APP1. - - V4L2_JPEG_ACTIVE_MARKER_COM - Comment segment. - - V4L2_JPEG_ACTIVE_MARKER_DQT - Quantization tables segment. - - V4L2_JPEG_ACTIVE_MARKER_DHT - Huffman tables segment. - - - - - - - -
- For more details about JPEG specification, refer - to , , - .
diff --git a/trunk/Documentation/DocBook/media/v4l/selection-api.xml b/trunk/Documentation/DocBook/media/v4l/selection-api.xml index b299e4779354..2f0bdb4d5551 100644 --- a/trunk/Documentation/DocBook/media/v4l/selection-api.xml +++ b/trunk/Documentation/DocBook/media/v4l/selection-api.xml @@ -52,10 +52,6 @@ cropping and composing rectangles have the same size. - -For complete list of the available selection targets see table -
@@ -190,7 +186,7 @@ V4L2_SEL_TGT_COMPOSE_ACTIVE target.
- Scaling control + Scaling control. An application can detect if scaling is performed by comparing the width and the height of rectangles obtained using V4L2_SEL_TGT_CROP_ACTIVE @@ -204,7 +200,7 @@ the scaling ratios using these values.
- Comparison with old cropping API + Comparison with old cropping API. The selection API was introduced to cope with deficiencies of previous API , that was designed to control simple capture diff --git a/trunk/Documentation/DocBook/media/v4l/v4l2.xml b/trunk/Documentation/DocBook/media/v4l/v4l2.xml index 8ae38876172e..e97c512861bb 100644 --- a/trunk/Documentation/DocBook/media/v4l/v4l2.xml +++ b/trunk/Documentation/DocBook/media/v4l/v4l2.xml @@ -127,22 +127,6 @@ structs, ioctls) must be noted in more detail in the history chapter (compat.xml), along with the possible impact on existing drivers and applications. --> - - 3.4 - 2012-01-25 - sn - Added JPEG compression - control class. - - - - - 3.3 - 2012-01-11 - hv - Added device_caps field to struct v4l2_capabilities. - - 3.2 2011-08-26 @@ -433,7 +417,7 @@ and discussions on the V4L mailing list. Video for Linux Two API Specification - Revision 3.3 + Revision 3.2 &sub-common; @@ -489,7 +473,6 @@ and discussions on the V4L mailing list. &sub-cropcap; &sub-dbg-g-chip-ident; &sub-dbg-g-register; - &sub-decoder-cmd; &sub-dqevent; &sub-encoder-cmd; &sub-enumaudio; diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-decoder-cmd.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-decoder-cmd.xml deleted file mode 100644 index 74b87f6e480a..000000000000 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-decoder-cmd.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - ioctl VIDIOC_DECODER_CMD, VIDIOC_TRY_DECODER_CMD - &manvol; - - - - VIDIOC_DECODER_CMD - VIDIOC_TRY_DECODER_CMD - Execute an decoder command - - - - - - int ioctl - int fd - int request - struct v4l2_decoder_cmd *argp - - - - - - Arguments - - - - fd - - &fd; - - - - request - - VIDIOC_DECODER_CMD, VIDIOC_TRY_DECODER_CMD - - - - argp - - - - - - - - - Description - - - Experimental - - This is an experimental -interface and may change in the future. - - - These ioctls control an audio/video (usually MPEG-) decoder. -VIDIOC_DECODER_CMD sends a command to the -decoder, VIDIOC_TRY_DECODER_CMD can be used to -try a command without actually executing it. To send a command applications -must initialize all fields of a &v4l2-decoder-cmd; and call -VIDIOC_DECODER_CMD or VIDIOC_TRY_DECODER_CMD -with a pointer to this structure. - - The cmd field must contain the -command code. Some commands use the flags field for -additional information. - - - A write() or &VIDIOC-STREAMON; call sends an implicit -START command to the decoder if it has not been started yet. - - - A close() or &VIDIOC-STREAMOFF; call of a streaming -file descriptor sends an implicit immediate STOP command to the decoder, and all -buffered data is discarded. - - These ioctls are optional, not all drivers may support -them. They were introduced in Linux 3.3. - - - struct <structname>v4l2_decoder_cmd</structname> - - &cs-str; - - - __u32 - cmd - - - The decoder command, see . - - - __u32 - flags - - - Flags to go with the command. If no flags are defined for -this command, drivers and applications must set this field to zero. - - - union - (anonymous) - - - - - - - struct - start - - Structure containing additional data for the -V4L2_DEC_CMD_START command. - - - - - __s32 - speed - Playback speed and direction. The playback speed is defined as -speed/1000 of the normal speed. So 1000 is normal playback. -Negative numbers denote reverse playback, so -1000 does reverse playback at normal -speed. Speeds -1, 0 and 1 have special meanings: speed 0 is shorthand for 1000 -(normal playback). A speed of 1 steps just one frame forward, a speed of -1 steps -just one frame back. - - - - - - __u32 - format - Format restrictions. This field is set by the driver, not the -application. Possible values are V4L2_DEC_START_FMT_NONE if -there are no format restrictions or V4L2_DEC_START_FMT_GOP -if the decoder operates on full GOPs (Group Of Pictures). -This is usually the case for reverse playback: the decoder needs full GOPs, which -it can then play in reverse order. So to implement reverse playback the application -must feed the decoder the last GOP in the video file, then the GOP before that, etc. etc. - - - - - struct - stop - - Structure containing additional data for the -V4L2_DEC_CMD_STOP command. - - - - - __u64 - pts - Stop playback at this pts or immediately -if the playback is already past that timestamp. Leave to 0 if you want to stop after the -last frame was decoded. - - - - - struct - raw - - - - - - - __u32 - data[16] - Reserved for future extensions. Drivers and -applications must set the array to zero. - - - -
- - - Decoder Commands - - &cs-def; - - - V4L2_DEC_CMD_START - 0 - Start the decoder. When the decoder is already -running or paused, this command will just change the playback speed. -That means that calling V4L2_DEC_CMD_START when -the decoder was paused will not resume the decoder. -You have to explicitly call V4L2_DEC_CMD_RESUME for that. -This command has one flag: -V4L2_DEC_CMD_START_MUTE_AUDIO. If set, then audio will -be muted when playing back at a non-standard speed. - - - - V4L2_DEC_CMD_STOP - 1 - Stop the decoder. When the decoder is already stopped, -this command does nothing. This command has two flags: -if V4L2_DEC_CMD_STOP_TO_BLACK is set, then the decoder will -set the picture to black after it stopped decoding. Otherwise the last image will -repeat. If V4L2_DEC_CMD_STOP_IMMEDIATELY is set, then the decoder -stops immediately (ignoring the pts value), otherwise it -will keep decoding until timestamp >= pts or until the last of the pending data from -its internal buffers was decoded. - - - - V4L2_DEC_CMD_PAUSE - 2 - Pause the decoder. When the decoder has not been -started yet, the driver will return an &EPERM;. When the decoder is -already paused, this command does nothing. This command has one flag: -if V4L2_DEC_CMD_PAUSE_TO_BLACK is set, then set the -decoder output to black when paused. - - - - V4L2_DEC_CMD_RESUME - 3 - Resume decoding after a PAUSE command. When the -decoder has not been started yet, the driver will return an &EPERM;. -When the decoder is already running, this command does nothing. No -flags are defined for this command. - - - -
- -
- - - &return-value; - - - - EINVAL - - The cmd field is invalid. - - - - EPERM - - The application sent a PAUSE or RESUME command when -the decoder was not running. - - - - -
diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml index f431b3ba79bd..af7f3f2a36dd 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml @@ -74,16 +74,15 @@ only used by the STOP command and contains one bit: If the encoding will continue until the end of the current Group Of Pictures, otherwise it will stop immediately.
- A read() or &VIDIOC-STREAMON; call sends an implicit -START command to the encoder if it has not been started yet. After a STOP command, + A read() call sends a START command to +the encoder if it has not been started yet. After a STOP command, read() calls will read the remaining data buffered by the driver. When the buffer is empty, read() will return zero and the next read() call will restart the encoder. - A close() or &VIDIOC-STREAMOFF; call of a streaming -file descriptor sends an implicit immediate STOP to the encoder, and all buffered -data is discarded. + A close() call sends an immediate STOP +to the encoder, and all buffered data is discarded. These ioctls are optional, not all drivers may support them. They were introduced in Linux 2.6.21. diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml index 48748499c097..01ea24b84385 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml @@ -57,11 +57,6 @@ Description - These ioctls are deprecated. - New drivers and applications should use - JPEG class controls for image quality and JPEG markers control. - - [to do] Ronald Bultje elaborates: @@ -91,10 +86,7 @@ to add them. int quality - Deprecated. If - V4L2_CID_JPEG_IMAGE_QUALITY control is exposed by - a driver applications should use it instead and ignore this field. - + int @@ -124,11 +116,7 @@ to add them. __u32 jpeg_markers - See . Deprecated. - If - V4L2_CID_JPEG_ACTIVE_MARKER control - is exposed by a driver applications should use it instead - and ignore this field. + See . diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml index bb04eff75f45..a9d36e0c090e 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml @@ -58,43 +58,43 @@ The ioctls are used to query and configure selection rectangles. - To query the cropping (composing) rectangle set &v4l2-selection; - type field to the respective buffer type. -Do not use multiplanar buffers. Use V4L2_BUF_TYPE_VIDEO_CAPTURE + To query the cropping (composing) rectangle set +&v4l2-selection;::type to the respective buffer type. Do not +use multiplanar buffers. Use V4L2_BUF_TYPE_VIDEO_CAPTURE instead of V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE . Use V4L2_BUF_TYPE_VIDEO_OUTPUT instead of V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE . The next step is -setting the value of &v4l2-selection; target field -to V4L2_SEL_TGT_CROP_ACTIVE ( +setting &v4l2-selection;::target to value + V4L2_SEL_TGT_CROP_ACTIVE ( V4L2_SEL_TGT_COMPOSE_ACTIVE ). Please refer to table or for additional -targets. The flags and reserved - fields of &v4l2-selection; are ignored and they must be filled -with zeros. The driver fills the rest of the structure or +targets. Fields &v4l2-selection;::flags and + &v4l2-selection;::reserved are ignored and they +must be filled with zeros. The driver fills the rest of the structure or returns &EINVAL; if incorrect buffer type or target was used. If cropping (composing) is not supported then the active rectangle is not mutable and it is -always equal to the bounds rectangle. Finally, the &v4l2-rect; -r rectangle is filled with the current cropping +always equal to the bounds rectangle. Finally, structure +&v4l2-selection;::r is filled with the current cropping (composing) coordinates. The coordinates are expressed in driver-dependent units. The only exception are rectangles for images in raw formats, whose coordinates are always expressed in pixels. - To change the cropping (composing) rectangle set the &v4l2-selection; -type field to the respective buffer type. Do not + To change the cropping (composing) rectangle set +&v4l2-selection;::type to the respective buffer type. Do not use multiplanar buffers. Use V4L2_BUF_TYPE_VIDEO_CAPTURE instead of V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE . Use V4L2_BUF_TYPE_VIDEO_OUTPUT instead of V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE . The next step is -setting the value of &v4l2-selection; target to -V4L2_SEL_TGT_CROP_ACTIVE ( +setting &v4l2-selection;::target to value + V4L2_SEL_TGT_CROP_ACTIVE ( V4L2_SEL_TGT_COMPOSE_ACTIVE ). Please refer to table or for additional -targets. The &v4l2-rect; r rectangle need to be -set to the desired active area. Field &v4l2-selection; reserved - is ignored and must be filled with zeros. The driver may adjust -coordinates of the requested rectangle. An application may -introduce constraints to control rounding behaviour. The &v4l2-selection; -flags field must be set to one of the following: +targets. Set desired active area into the field +&v4l2-selection;::r . Field +&v4l2-selection;::reserved is ignored and must be filled with +zeros. The driver may adjust the rectangle coordinates. An application may +introduce constraints to control rounding behaviour. Set the field + &v4l2-selection;::flags to one of values: @@ -129,7 +129,7 @@ and vertical offset and sizes are chosen according to following priority: - Satisfy constraints from &v4l2-selection; flags. + Satisfy constraints from &v4l2-selection;::flags. Adjust width, height, left, and top to hardware limits and alignments. @@ -145,7 +145,7 @@ and vertical offset and sizes are chosen according to following priority: -On success the &v4l2-rect; r field contains +On success the field &v4l2-selection;::r contains the adjusted rectangle. When the parameters are unsuitable the application may modify the cropping (composing) or image parameters and repeat the cycle until satisfactory parameters have been negotiated. If constraints flags have to be @@ -162,38 +162,38 @@ exist no rectangle that satisfies the constraints. V4L2_SEL_TGT_CROP_ACTIVE - 0x0000 - The area that is currently cropped by hardware. + 0 + area that is currently cropped by hardware V4L2_SEL_TGT_CROP_DEFAULT - 0x0001 - Suggested cropping rectangle that covers the "whole picture". + 1 + suggested cropping rectangle that covers the "whole picture" V4L2_SEL_TGT_CROP_BOUNDS - 0x0002 - Limits for the cropping rectangle. + 2 + limits for the cropping rectangle V4L2_SEL_TGT_COMPOSE_ACTIVE - 0x0100 - The area to which data is composed by hardware. + 256 + area to which data are composed by hardware V4L2_SEL_TGT_COMPOSE_DEFAULT - 0x0101 - Suggested composing rectangle that covers the "whole picture". + 257 + suggested composing rectangle that covers the "whole picture" V4L2_SEL_TGT_COMPOSE_BOUNDS - 0x0102 - Limits for the composing rectangle. + 258 + limits for the composing rectangle V4L2_SEL_TGT_COMPOSE_PADDED - 0x0103 - The active area and all padding pixels that are inserted or modified by hardware. + 259 + the active area and all padding pixels that are inserted or modified by the hardware @@ -209,14 +209,12 @@ exist no rectangle that satisfies the constraints. V4L2_SEL_FLAG_GE 0x00000001 - Indicates that the adjusted rectangle must contain the original - &v4l2-selection; r rectangle. + indicate that adjusted rectangle must contain a rectangle from &v4l2-selection;::r V4L2_SEL_FLAG_LE 0x00000002 - Indicates that the adjusted rectangle must be inside the original - &v4l2-rect; r rectangle. + indicate that adjusted rectangle must be inside a rectangle from &v4l2-selection;::r @@ -247,29 +245,27 @@ exist no rectangle that satisfies the constraints. __u32 type - Type of the buffer (from &v4l2-buf-type;). + Type of the buffer (from &v4l2-buf-type;) __u32 target - Used to select between cropping - and composing rectangles. + used to select between cropping and composing rectangles __u32 flags - Flags controlling the selection rectangle adjustments, refer to - selection flags. + control over coordinates adjustments, refer to selection flags &v4l2-rect; r - The selection rectangle. + selection rectangle __u32 reserved[9] - Reserved fields for future use. + Reserved fields for future use @@ -282,24 +278,24 @@ exist no rectangle that satisfies the constraints. EINVAL - Given buffer type type or -the selection target target is not supported, -or the flags argument is not valid. + The buffer &v4l2-selection;::type +or &v4l2-selection;::target is not supported, or +the &v4l2-selection;::flags are invalid. ERANGE - It is not possible to adjust &v4l2-rect; -r rectangle to satisfy all contraints given in the -flags argument. + it is not possible to adjust a rectangle +&v4l2-selection;::r that satisfies all contraints from + &v4l2-selection;::flags . EBUSY - It is not possible to apply change of the selection rectangle -at the moment. Usually because streaming is in progress. + it is not possible to apply change of selection rectangle at the moment. +Usually because streaming is in progress. diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-querycap.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-querycap.xml index 4643505cd4ca..e3664d6f2de4 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-querycap.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-querycap.xml @@ -124,35 +124,12 @@ printf ("Version: %u.%u.%u\n", __u32 capabilities - Available capabilities of the physical device as a whole, see . The same physical device can export - multiple devices in /dev (e.g. /dev/videoX, /dev/vbiY and /dev/radioZ). - The capabilities field should contain a union - of all capabilities available around the several V4L2 devices exported - to userspace. - For all those devices the capabilities field - returns the same set of capabilities. This allows applications to open - just one of the devices (typically the video device) and discover whether - video, vbi and/or radio are also supported. - + Device capabilities, see . __u32 - device_caps - Device capabilities of the opened device, see . Should contain the available capabilities - of that specific device node. So, for example, device_caps - of a radio device will only contain radio related capabilities and - no video or vbi capabilities. This field is only set if the capabilities - field contains the V4L2_CAP_DEVICE_CAPS capability. - Only the capabilities field can have the - V4L2_CAP_DEVICE_CAPS capability, device_caps - will never set V4L2_CAP_DEVICE_CAPS. - - - - __u32 - reserved[3] + reserved[4] Reserved for future extensions. Drivers must set this array to zero. @@ -299,13 +276,6 @@ linkend="async">asynchronous I/O methods. The device supports the streaming I/O method. - - V4L2_CAP_DEVICE_CAPS - 0x80000000 - The driver fills the device_caps - field. This capability can only appear in the capabilities - field and never in the device_caps field. - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml index 18b1a8266f7c..e013da845b11 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml @@ -96,8 +96,8 @@ field and the &v4l2-tuner; index field. __u32 reserved[7] - Reserved for future extensions. Applications - must set the array to zero. + Reserved for future extensions. Drivers and + applications must set the array to zero. @@ -112,7 +112,7 @@ field and the &v4l2-tuner; index field. EINVAL The tuner index is out of -bounds, the wrap_around value is not supported or the value in the type field is +bounds or the value in the type field is wrong. diff --git a/trunk/Documentation/EDID/1024x768.S b/trunk/Documentation/EDID/1024x768.S deleted file mode 100644 index 4b486fe31b32..000000000000 --- a/trunk/Documentation/EDID/1024x768.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1024x768.S: EDID data set for standard 1024x768 60 Hz monitor - - Copyright (C) 2011 Carsten Emde - - 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. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 65000 /* kHz */ -#define XPIX 1024 -#define YPIX 768 -#define XY_RATIO XY_RATIO_4_3 -#define XBLANK 320 -#define YBLANK 38 -#define XOFFSET 8 -#define XPULSE 144 -#define YOFFSET (63+3) -#define YPULSE (63+6) -#define DPI 72 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux XGA" -#define ESTABLISHED_TIMINGS_BITS 0x08 /* Bit 3 -> 1024x768 @60 Hz */ -#define HSYNC_POL 0 -#define VSYNC_POL 0 -#define CRC 0x55 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/1280x1024.S b/trunk/Documentation/EDID/1280x1024.S deleted file mode 100644 index a2799fe33a4d..000000000000 --- a/trunk/Documentation/EDID/1280x1024.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1280x1024.S: EDID data set for standard 1280x1024 60 Hz monitor - - Copyright (C) 2011 Carsten Emde - - 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. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 108000 /* kHz */ -#define XPIX 1280 -#define YPIX 1024 -#define XY_RATIO XY_RATIO_5_4 -#define XBLANK 408 -#define YBLANK 42 -#define XOFFSET 48 -#define XPULSE 112 -#define YOFFSET (63+1) -#define YPULSE (63+3) -#define DPI 72 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux SXGA" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0xa0 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/1680x1050.S b/trunk/Documentation/EDID/1680x1050.S deleted file mode 100644 index 96f67cafcf2e..000000000000 --- a/trunk/Documentation/EDID/1680x1050.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1680x1050.S: EDID data set for standard 1680x1050 60 Hz monitor - - Copyright (C) 2012 Carsten Emde - - 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. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 146250 /* kHz */ -#define XPIX 1680 -#define YPIX 1050 -#define XY_RATIO XY_RATIO_16_10 -#define XBLANK 560 -#define YBLANK 39 -#define XOFFSET 104 -#define XPULSE 176 -#define YOFFSET (63+3) -#define YPULSE (63+6) -#define DPI 96 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux WSXGA" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0x26 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/1920x1080.S b/trunk/Documentation/EDID/1920x1080.S deleted file mode 100644 index 36ed5d571d0a..000000000000 --- a/trunk/Documentation/EDID/1920x1080.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1920x1080.S: EDID data set for standard 1920x1080 60 Hz monitor - - Copyright (C) 2012 Carsten Emde - - 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. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 148500 /* kHz */ -#define XPIX 1920 -#define YPIX 1080 -#define XY_RATIO XY_RATIO_16_9 -#define XBLANK 280 -#define YBLANK 45 -#define XOFFSET 88 -#define XPULSE 44 -#define YOFFSET (63+4) -#define YPULSE (63+5) -#define DPI 96 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux FHD" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0x05 - -#include "edid.S" diff --git a/trunk/Documentation/EDID/HOWTO.txt b/trunk/Documentation/EDID/HOWTO.txt deleted file mode 100644 index 75a9f2a0c43d..000000000000 --- a/trunk/Documentation/EDID/HOWTO.txt +++ /dev/null @@ -1,39 +0,0 @@ -In the good old days when graphics parameters were configured explicitly -in a file called xorg.conf, even broken hardware could be managed. - -Today, with the advent of Kernel Mode Setting, a graphics board is -either correctly working because all components follow the standards - -or the computer is unusable, because the screen remains dark after -booting or it displays the wrong area. Cases when this happens are: -- The graphics board does not recognize the monitor. -- The graphics board is unable to detect any EDID data. -- The graphics board incorrectly forwards EDID data to the driver. -- The monitor sends no or bogus EDID data. -- A KVM sends its own EDID data instead of querying the connected monitor. -Adding the kernel parameter "nomodeset" helps in most cases, but causes -restrictions later on. - -As a remedy for such situations, the kernel configuration item -CONFIG_DRM_LOAD_EDID_FIRMWARE was introduced. It allows to provide an -individually prepared or corrected EDID data set in the /lib/firmware -directory from where it is loaded via the firmware interface. The code -(see drivers/gpu/drm/drm_edid_load.c) contains built-in data sets for -commonly used screen resolutions (1024x768, 1280x1024, 1680x1050, -1920x1080) as binary blobs, but the kernel source tree does not contain -code to create these data. In order to elucidate the origin of the -built-in binary EDID blobs and to facilitate the creation of individual -data for a specific misbehaving monitor, commented sources and a -Makefile environment are given here. - -To create binary EDID and C source code files from the existing data -material, simply type "make". - -If you want to create your own EDID file, copy the file 1024x768.S and -replace the settings with your own data. The CRC value in the last line - #define CRC 0x55 -is a bit tricky. After a first version of the binary data set is -created, it must be be checked with the "edid-decode" utility which will -most probably complain about a wrong CRC. Fortunately, the utility also -displays the correct CRC which must then be inserted into the source -file. After the make procedure is repeated, the EDID data set is ready -to be used. diff --git a/trunk/Documentation/EDID/Makefile b/trunk/Documentation/EDID/Makefile deleted file mode 100644 index 17763ca3f12b..000000000000 --- a/trunk/Documentation/EDID/Makefile +++ /dev/null @@ -1,26 +0,0 @@ - -SOURCES := $(wildcard [0-9]*x[0-9]*.S) - -BIN := $(patsubst %.S, %.bin, $(SOURCES)) - -IHEX := $(patsubst %.S, %.bin.ihex, $(SOURCES)) - -CODE := $(patsubst %.S, %.c, $(SOURCES)) - -all: $(BIN) $(IHEX) $(CODE) - -clean: - @rm -f *.o *.bin.ihex *.bin *.c - -%.o: %.S - @cc -c $^ - -%.bin: %.o - @objcopy -Obinary $^ $@ - -%.bin.ihex: %.o - @objcopy -Oihex $^ $@ - @dos2unix $@ 2>/dev/null - -%.c: %.bin - @echo "{" >$@; hexdump -f hex $^ >>$@; echo "};" >>$@ diff --git a/trunk/Documentation/EDID/edid.S b/trunk/Documentation/EDID/edid.S deleted file mode 100644 index ea97ae275fca..000000000000 --- a/trunk/Documentation/EDID/edid.S +++ /dev/null @@ -1,261 +0,0 @@ -/* - edid.S: EDID data template - - Copyright (C) 2012 Carsten Emde - - 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. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - - -/* Manufacturer */ -#define MFG_LNX1 'L' -#define MFG_LNX2 'N' -#define MFG_LNX3 'X' -#define SERIAL 0 -#define YEAR 2012 -#define WEEK 5 - -/* EDID 1.3 standard definitions */ -#define XY_RATIO_16_10 0b00 -#define XY_RATIO_4_3 0b01 -#define XY_RATIO_5_4 0b10 -#define XY_RATIO_16_9 0b11 - -#define mfgname2id(v1,v2,v3) \ - ((((v1-'@')&0x1f)<<10)+(((v2-'@')&0x1f)<<5)+((v3-'@')&0x1f)) -#define swap16(v1) ((v1>>8)+((v1&0xff)<<8)) -#define msbs2(v1,v2) ((((v1>>8)&0x0f)<<4)+((v2>>8)&0x0f)) -#define msbs4(v1,v2,v3,v4) \ - (((v1&0x03)>>2)+((v2&0x03)>>4)+((v3&0x03)>>6)+((v4&0x03)>>8)) -#define pixdpi2mm(pix,dpi) ((pix*25)/dpi) -#define xsize pixdpi2mm(XPIX,DPI) -#define ysize pixdpi2mm(YPIX,DPI) - - .data - -/* Fixed header pattern */ -header: .byte 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00 - -mfg_id: .word swap16(mfgname2id(MFG_LNX1, MFG_LNX2, MFG_LNX3)) - -prod_code: .word 0 - -/* Serial number. 32 bits, little endian. */ -serial_number: .long SERIAL - -/* Week of manufacture */ -week: .byte WEEK - -/* Year of manufacture, less 1990. (1990-2245) - If week=255, it is the model year instead */ -year: .byte YEAR-1990 - -version: .byte VERSION /* EDID version, usually 1 (for 1.3) */ -revision: .byte REVISION /* EDID revision, usually 3 (for 1.3) */ - -/* If Bit 7=1 Digital input. If set, the following bit definitions apply: - Bits 6-1 Reserved, must be 0 - Bit 0 Signal is compatible with VESA DFP 1.x TMDS CRGB, - 1 pixel per clock, up to 8 bits per color, MSB aligned, - If Bit 7=0 Analog input. If clear, the following bit definitions apply: - Bits 6-5 Video white and sync levels, relative to blank - 00=+0.7/-0.3 V; 01=+0.714/-0.286 V; - 10=+1.0/-0.4 V; 11=+0.7/0 V - Bit 4 Blank-to-black setup (pedestal) expected - Bit 3 Separate sync supported - Bit 2 Composite sync (on HSync) supported - Bit 1 Sync on green supported - Bit 0 VSync pulse must be serrated when somposite or - sync-on-green is used. */ -video_parms: .byte 0x6d - -/* Maximum horizontal image size, in centimetres - (max 292 cm/115 in at 16:9 aspect ratio) */ -max_hor_size: .byte xsize/10 - -/* Maximum vertical image size, in centimetres. - If either byte is 0, undefined (e.g. projector) */ -max_vert_size: .byte ysize/10 - -/* Display gamma, minus 1, times 100 (range 1.00-3.5 */ -gamma: .byte 120 - -/* Bit 7 DPMS standby supported - Bit 6 DPMS suspend supported - Bit 5 DPMS active-off supported - Bits 4-3 Display type: 00=monochrome; 01=RGB colour; - 10=non-RGB multicolour; 11=undefined - Bit 2 Standard sRGB colour space. Bytes 25-34 must contain - sRGB standard values. - Bit 1 Preferred timing mode specified in descriptor block 1. - Bit 0 GTF supported with default parameter values. */ -dsp_features: .byte 0xea - -/* Chromaticity coordinates. */ -/* Red and green least-significant bits - Bits 7-6 Red x value least-significant 2 bits - Bits 5-4 Red y value least-significant 2 bits - Bits 3-2 Green x value lst-significant 2 bits - Bits 1-0 Green y value least-significant 2 bits */ -red_green_lsb: .byte 0x5e - -/* Blue and white least-significant 2 bits */ -blue_white_lsb: .byte 0xc0 - -/* Red x value most significant 8 bits. - 0-255 encodes 0-0.996 (255/256); 0-0.999 (1023/1024) with lsbits */ -red_x_msb: .byte 0xa4 - -/* Red y value most significant 8 bits */ -red_y_msb: .byte 0x59 - -/* Green x and y value most significant 8 bits */ -green_x_y_msb: .byte 0x4a,0x98 - -/* Blue x and y value most significant 8 bits */ -blue_x_y_msb: .byte 0x25,0x20 - -/* Default white point x and y value most significant 8 bits */ -white_x_y_msb: .byte 0x50,0x54 - -/* Established timings */ -/* Bit 7 720x400 @ 70 Hz - Bit 6 720x400 @ 88 Hz - Bit 5 640x480 @ 60 Hz - Bit 4 640x480 @ 67 Hz - Bit 3 640x480 @ 72 Hz - Bit 2 640x480 @ 75 Hz - Bit 1 800x600 @ 56 Hz - Bit 0 800x600 @ 60 Hz */ -estbl_timing1: .byte 0x00 - -/* Bit 7 800x600 @ 72 Hz - Bit 6 800x600 @ 75 Hz - Bit 5 832x624 @ 75 Hz - Bit 4 1024x768 @ 87 Hz, interlaced (1024x768) - Bit 3 1024x768 @ 60 Hz - Bit 2 1024x768 @ 72 Hz - Bit 1 1024x768 @ 75 Hz - Bit 0 1280x1024 @ 75 Hz */ -estbl_timing2: .byte ESTABLISHED_TIMINGS_BITS - -/* Bit 7 1152x870 @ 75 Hz (Apple Macintosh II) - Bits 6-0 Other manufacturer-specific display mod */ -estbl_timing3: .byte 0x00 - -/* Standard timing */ -/* X resolution, less 31, divided by 8 (256-2288 pixels) */ -std_xres: .byte (XPIX/8)-31 -/* Y resolution, X:Y pixel ratio - Bits 7-6 X:Y pixel ratio: 00=16:10; 01=4:3; 10=5:4; 11=16:9. - Bits 5-0 Vertical frequency, less 60 (60-123 Hz) */ -std_vres: .byte (XY_RATIO<<6)+VFREQ-60 - .fill 7,2,0x0101 /* Unused */ - -descriptor1: -/* Pixel clock in 10 kHz units. (0.-655.35 MHz, little-endian) */ -clock: .word CLOCK/10 - -/* Horizontal active pixels 8 lsbits (0-4095) */ -x_act_lsb: .byte XPIX&0xff -/* Horizontal blanking pixels 8 lsbits (0-4095) - End of active to start of next active. */ -x_blk_lsb: .byte XBLANK&0xff -/* Bits 7-4 Horizontal active pixels 4 msbits - Bits 3-0 Horizontal blanking pixels 4 msbits */ -x_msbs: .byte msbs2(XPIX,XBLANK) - -/* Vertical active lines 8 lsbits (0-4095) */ -y_act_lsb: .byte YPIX&0xff -/* Vertical blanking lines 8 lsbits (0-4095) */ -y_blk_lsb: .byte YBLANK&0xff -/* Bits 7-4 Vertical active lines 4 msbits - Bits 3-0 Vertical blanking lines 4 msbits */ -y_msbs: .byte msbs2(YPIX,YBLANK) - -/* Horizontal sync offset pixels 8 lsbits (0-1023) From blanking start */ -x_snc_off_lsb: .byte XOFFSET&0xff -/* Horizontal sync pulse width pixels 8 lsbits (0-1023) */ -x_snc_pls_lsb: .byte XPULSE&0xff -/* Bits 7-4 Vertical sync offset lines 4 lsbits -63) - Bits 3-0 Vertical sync pulse width lines 4 lsbits -63) */ -y_snc_lsb: .byte ((YOFFSET-63)<<4)+(YPULSE-63) -/* Bits 7-6 Horizontal sync offset pixels 2 msbits - Bits 5-4 Horizontal sync pulse width pixels 2 msbits - Bits 3-2 Vertical sync offset lines 2 msbits - Bits 1-0 Vertical sync pulse width lines 2 msbits */ -xy_snc_msbs: .byte msbs4(XOFFSET,XPULSE,YOFFSET,YPULSE) - -/* Horizontal display size, mm, 8 lsbits (0-4095 mm, 161 in) */ -x_dsp_size: .byte xsize&0xff - -/* Vertical display size, mm, 8 lsbits (0-4095 mm, 161 in) */ -y_dsp_size: .byte ysize&0xff - -/* Bits 7-4 Horizontal display size, mm, 4 msbits - Bits 3-0 Vertical display size, mm, 4 msbits */ -dsp_size_mbsb: .byte msbs2(xsize,ysize) - -/* Horizontal border pixels (each side; total is twice this) */ -x_border: .byte 0 -/* Vertical border lines (each side; total is twice this) */ -y_border: .byte 0 - -/* Bit 7 Interlaced - Bits 6-5 Stereo mode: 00=No stereo; other values depend on bit 0: - Bit 0=0: 01=Field sequential, sync=1 during right; 10=similar, - sync=1 during left; 11=4-way interleaved stereo - Bit 0=1 2-way interleaved stereo: 01=Right image on even lines; - 10=Left image on even lines; 11=side-by-side - Bits 4-3 Sync type: 00=Analog composite; 01=Bipolar analog composite; - 10=Digital composite (on HSync); 11=Digital separate - Bit 2 If digital separate: Vertical sync polarity (1=positive) - Other types: VSync serrated (HSync during VSync) - Bit 1 If analog sync: Sync on all 3 RGB lines (else green only) - Digital: HSync polarity (1=positive) - Bit 0 2-way line-interleaved stereo, if bits 4-3 are not 00. */ -features: .byte 0x18+(VSYNC_POL<<2)+(HSYNC_POL<<1) - -descriptor2: .byte 0,0 /* Not a detailed timing descriptor */ - .byte 0 /* Must be zero */ - .byte 0xff /* Descriptor is monitor serial number (text) */ - .byte 0 /* Must be zero */ -start1: .ascii "Linux #0" -end1: .byte 0x0a /* End marker */ - .fill 12-(end1-start1), 1, 0x20 /* Padded spaces */ -descriptor3: .byte 0,0 /* Not a detailed timing descriptor */ - .byte 0 /* Must be zero */ - .byte 0xfd /* Descriptor is monitor range limits */ - .byte 0 /* Must be zero */ -start2: .byte VFREQ-1 /* Minimum vertical field rate (1-255 Hz) */ - .byte VFREQ+1 /* Maximum vertical field rate (1-255 Hz) */ - .byte (CLOCK/(XPIX+XBLANK))-1 /* Minimum horizontal line rate - (1-255 kHz) */ - .byte (CLOCK/(XPIX+XBLANK))+1 /* Maximum horizontal line rate - (1-255 kHz) */ - .byte (CLOCK/10000)+1 /* Maximum pixel clock rate, rounded up - to 10 MHz multiple (10-2550 MHz) */ - .byte 0 /* No extended timing information type */ -end2: .byte 0x0a /* End marker */ - .fill 12-(end2-start2), 1, 0x20 /* Padded spaces */ -descriptor4: .byte 0,0 /* Not a detailed timing descriptor */ - .byte 0 /* Must be zero */ - .byte 0xfc /* Descriptor is text */ - .byte 0 /* Must be zero */ -start3: .ascii TIMING_NAME -end3: .byte 0x0a /* End marker */ - .fill 12-(end3-start3), 1, 0x20 /* Padded spaces */ -extensions: .byte 0 /* Number of extensions to follow */ -checksum: .byte CRC /* Sum of all bytes must be 0 */ diff --git a/trunk/Documentation/EDID/hex b/trunk/Documentation/EDID/hex deleted file mode 100644 index 8873ebb618af..000000000000 --- a/trunk/Documentation/EDID/hex +++ /dev/null @@ -1 +0,0 @@ -"\t" 8/1 "0x%02x, " "\n" diff --git a/trunk/Documentation/backlight/lp855x-driver.txt b/trunk/Documentation/backlight/lp855x-driver.txt deleted file mode 100644 index f5e4caafab7d..000000000000 --- a/trunk/Documentation/backlight/lp855x-driver.txt +++ /dev/null @@ -1,78 +0,0 @@ -Kernel driver lp855x -==================== - -Backlight driver for LP855x ICs - -Supported chips: - Texas Instruments LP8550, LP8551, LP8552, LP8553 and LP8556 - -Author: Milo(Woogyom) Kim - -Description ------------ - -* Brightness control - -Brightness can be controlled by the pwm input or the i2c command. -The lp855x driver supports both cases. - -* Device attributes - -1) bl_ctl_mode -Backlight control mode. -Value : pwm based or register based - -2) chip_id -The lp855x chip id. -Value : lp8550/lp8551/lp8552/lp8553/lp8556 - -Platform data for lp855x ------------------------- - -For supporting platform specific data, the lp855x platform data can be used. - -* name : Backlight driver name. If it is not defined, default name is set. -* 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. - 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 -* size_program : Total size of lp855x_rom_data. -* rom_data : List of new eeprom/eprom registers. - -example 1) lp8552 platform data : i2c register mode with new eeprom data - -#define EEPROM_A5_ADDR 0xA5 -#define EEPROM_A5_VAL 0x4f /* EN_VSYNC=0 */ - -static struct lp855x_rom_data lp8552_eeprom_arr[] = { - {EEPROM_A5_ADDR, EEPROM_A5_VAL}, -}; - -static struct lp855x_platform_data lp8552_pdata = { - .name = "lcd-bl", - .mode = REGISTER_BASED, - .device_control = I2C_CONFIG(LP8552), - .initial_brightness = INITIAL_BRT, - .load_new_rom_data = 1, - .size_program = ARRAY_SIZE(lp8552_eeprom_arr), - .rom_data = lp8552_eeprom_arr, -}; - -example 2) lp8556 platform data : pwm input mode with default rom data - -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, - }, -}; diff --git a/trunk/Documentation/crc32.txt b/trunk/Documentation/crc32.txt deleted file mode 100644 index a08a7dd9d625..000000000000 --- a/trunk/Documentation/crc32.txt +++ /dev/null @@ -1,182 +0,0 @@ -A brief CRC tutorial. - -A CRC is a long-division remainder. You add the CRC to the message, -and the whole thing (message+CRC) is a multiple of the given -CRC polynomial. To check the CRC, you can either check that the -CRC matches the recomputed value, *or* you can check that the -remainder computed on the message+CRC is 0. This latter approach -is used by a lot of hardware implementations, and is why so many -protocols put the end-of-frame flag after the CRC. - -It's actually the same long division you learned in school, except that -- We're working in binary, so the digits are only 0 and 1, and -- When dividing polynomials, there are no carries. Rather than add and - subtract, we just xor. Thus, we tend to get a bit sloppy about - the difference between adding and subtracting. - -Like all division, the remainder is always smaller than the divisor. -To produce a 32-bit CRC, the divisor is actually a 33-bit CRC polynomial. -Since it's 33 bits long, bit 32 is always going to be set, so usually the -CRC is written in hex with the most significant bit omitted. (If you're -familiar with the IEEE 754 floating-point format, it's the same idea.) - -Note that a CRC is computed over a string of *bits*, so you have -to decide on the endianness of the bits within each byte. To get -the best error-detecting properties, this should correspond to the -order they're actually sent. For example, standard RS-232 serial is -little-endian; the most significant bit (sometimes used for parity) -is sent last. And when appending a CRC word to a message, you should -do it in the right order, matching the endianness. - -Just like with ordinary division, you proceed one digit (bit) at a time. -Each step of the division you take one more digit (bit) of the dividend -and append it to the current remainder. Then you figure out the -appropriate multiple of the divisor to subtract to being the remainder -back into range. In binary, this is easy - it has to be either 0 or 1, -and to make the XOR cancel, it's just a copy of bit 32 of the remainder. - -When computing a CRC, we don't care about the quotient, so we can -throw the quotient bit away, but subtract the appropriate multiple of -the polynomial from the remainder and we're back to where we started, -ready to process the next bit. - -A big-endian CRC written this way would be coded like: -for (i = 0; i < input_bits; i++) { - multiple = remainder & 0x80000000 ? CRCPOLY : 0; - remainder = (remainder << 1 | next_input_bit()) ^ multiple; -} - -Notice how, to get at bit 32 of the shifted remainder, we look -at bit 31 of the remainder *before* shifting it. - -But also notice how the next_input_bit() bits we're shifting into -the remainder don't actually affect any decision-making until -32 bits later. Thus, the first 32 cycles of this are pretty boring. -Also, to add the CRC to a message, we need a 32-bit-long hole for it at -the end, so we have to add 32 extra cycles shifting in zeros at the -end of every message, - -These details lead to a standard trick: rearrange merging in the -next_input_bit() until the moment it's needed. Then the first 32 cycles -can be precomputed, and merging in the final 32 zero bits to make room -for the CRC can be skipped entirely. This changes the code to: - -for (i = 0; i < input_bits; i++) { - remainder ^= next_input_bit() << 31; - multiple = (remainder & 0x80000000) ? CRCPOLY : 0; - remainder = (remainder << 1) ^ multiple; -} - -With this optimization, the little-endian code is particularly simple: -for (i = 0; i < input_bits; i++) { - remainder ^= next_input_bit(); - multiple = (remainder & 1) ? CRCPOLY : 0; - remainder = (remainder >> 1) ^ multiple; -} - -The most significant coefficient of the remainder polynomial is stored -in the least significant bit of the binary "remainder" variable. -The other details of endianness have been hidden in CRCPOLY (which must -be bit-reversed) and next_input_bit(). - -As long as next_input_bit is returning the bits in a sensible order, we don't -*have* to wait until the last possible moment to merge in additional bits. -We can do it 8 bits at a time rather than 1 bit at a time: -for (i = 0; i < input_bytes; i++) { - remainder ^= next_input_byte() << 24; - for (j = 0; j < 8; j++) { - multiple = (remainder & 0x80000000) ? CRCPOLY : 0; - remainder = (remainder << 1) ^ multiple; - } -} - -Or in little-endian: -for (i = 0; i < input_bytes; i++) { - remainder ^= next_input_byte(); - for (j = 0; j < 8; j++) { - multiple = (remainder & 1) ? CRCPOLY : 0; - remainder = (remainder >> 1) ^ multiple; - } -} - -If the input is a multiple of 32 bits, you can even XOR in a 32-bit -word at a time and increase the inner loop count to 32. - -You can also mix and match the two loop styles, for example doing the -bulk of a message byte-at-a-time and adding bit-at-a-time processing -for any fractional bytes at the end. - -To reduce the number of conditional branches, software commonly uses -the byte-at-a-time table method, popularized by Dilip V. Sarwate, -"Computation of Cyclic Redundancy Checks via Table Look-Up", Comm. ACM -v.31 no.8 (August 1998) p. 1008-1013. - -Here, rather than just shifting one bit of the remainder to decide -in the correct multiple to subtract, we can shift a byte at a time. -This produces a 40-bit (rather than a 33-bit) intermediate remainder, -and the correct multiple of the polynomial to subtract is found using -a 256-entry lookup table indexed by the high 8 bits. - -(The table entries are simply the CRC-32 of the given one-byte messages.) - -When space is more constrained, smaller tables can be used, e.g. two -4-bit shifts followed by a lookup in a 16-entry table. - -It is not practical to process much more than 8 bits at a time using this -technique, because tables larger than 256 entries use too much memory and, -more importantly, too much of the L1 cache. - -To get higher software performance, a "slicing" technique can be used. -See "High Octane CRC Generation with the Intel Slicing-by-8 Algorithm", -ftp://download.intel.com/technology/comms/perfnet/download/slicing-by-8.pdf - -This does not change the number of table lookups, but does increase -the parallelism. With the classic Sarwate algorithm, each table lookup -must be completed before the index of the next can be computed. - -A "slicing by 2" technique would shift the remainder 16 bits at a time, -producing a 48-bit intermediate remainder. Rather than doing a single -lookup in a 65536-entry table, the two high bytes are looked up in -two different 256-entry tables. Each contains the remainder required -to cancel out the corresponding byte. The tables are different because the -polynomials to cancel are different. One has non-zero coefficients from -x^32 to x^39, while the other goes from x^40 to x^47. - -Since modern processors can handle many parallel memory operations, this -takes barely longer than a single table look-up and thus performs almost -twice as fast as the basic Sarwate algorithm. - -This can be extended to "slicing by 4" using 4 256-entry tables. -Each step, 32 bits of data is fetched, XORed with the CRC, and the result -broken into bytes and looked up in the tables. Because the 32-bit shift -leaves the low-order bits of the intermediate remainder zero, the -final CRC is simply the XOR of the 4 table look-ups. - -But this still enforces sequential execution: a second group of table -look-ups cannot begin until the previous groups 4 table look-ups have all -been completed. Thus, the processor's load/store unit is sometimes idle. - -To make maximum use of the processor, "slicing by 8" performs 8 look-ups -in parallel. Each step, the 32-bit CRC is shifted 64 bits and XORed -with 64 bits of input data. What is important to note is that 4 of -those 8 bytes are simply copies of the input data; they do not depend -on the previous CRC at all. Thus, those 4 table look-ups may commence -immediately, without waiting for the previous loop iteration. - -By always having 4 loads in flight, a modern superscalar processor can -be kept busy and make full use of its L1 cache. - -Two more details about CRC implementation in the real world: - -Normally, appending zero bits to a message which is already a multiple -of a polynomial produces a larger multiple of that polynomial. Thus, -a basic CRC will not detect appended zero bits (or bytes). To enable -a CRC to detect this condition, it's common to invert the CRC before -appending it. This makes the remainder of the message+crc come out not -as zero, but some fixed non-zero value. (The CRC of the inversion -pattern, 0xffffffff.) - -The same problem applies to zero bits prepended to the message, and a -similar solution is used. Instead of starting the CRC computation with -a remainder of 0, an initial remainder of all ones is used. As long as -you start the same way on decoding, it doesn't make a difference. diff --git a/trunk/Documentation/devicetree/bindings/i2c/sirf-i2c.txt b/trunk/Documentation/devicetree/bindings/i2c/sirf-i2c.txt deleted file mode 100644 index 7baf9e133fa8..000000000000 --- a/trunk/Documentation/devicetree/bindings/i2c/sirf-i2c.txt +++ /dev/null @@ -1,19 +0,0 @@ -I2C for SiRFprimaII platforms - -Required properties : -- compatible : Must be "sirf,prima2-i2c" -- reg: physical base address of the controller and length of memory mapped - region. -- interrupts: interrupt number to the cpu. - -Optional properties: -- clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. - The absence of the propoerty indicates the default frequency 100 kHz. - -Examples : - -i2c0: i2c@b00e0000 { - compatible = "sirf,prima2-i2c"; - reg = <0xb00e0000 0x10000>; - interrupts = <24>; -}; diff --git a/trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt b/trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt deleted file mode 100644 index 3cd8b98ccd2d..000000000000 --- a/trunk/Documentation/devicetree/bindings/input/matrix-keymap.txt +++ /dev/null @@ -1,19 +0,0 @@ -A simple common binding for matrix-connected key boards. Currently targeted at -defining the keys in the scope of linux key codes since that is a stable and -standardized interface at this time. - -Required properties: -- linux,keymap: an array of packed 1-cell entries containing the equivalent - of row, column and linux key-code. The 32-bit big endian cell is packed - as: - row << 24 | column << 16 | key-code - -Optional properties: -Some users of this binding might choose to specify secondary keymaps for -cases where there is a modifier key such as a Fn key. Proposed names -for said properties are "linux,fn-keymap" or with another descriptive -word for the modifier other from "Fn". - -Example: - linux,keymap = < 0x00030012 - 0x0102003a >; diff --git a/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt b/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt index 72683be6de35..5ecfa99089b4 100644 --- a/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt +++ b/trunk/Documentation/devicetree/bindings/input/tegra-kbc.txt @@ -3,21 +3,16 @@ Required properties: - compatible: "nvidia,tegra20-kbc" -Optional properties, in addition to those specified by the shared -matrix-keyboard bindings: - -- linux,fn-keymap: a second keymap, same specification as the - matrix-keyboard-controller spec but to be used when the KEY_FN modifier - key is pressed. -- nvidia,debounce-delay-ms: delay in milliseconds per row scan for debouncing -- nvidia,repeat-delay-ms: delay in milliseconds before repeat starts -- nvidia,ghost-filter: enable ghost filtering for this device -- nvidia,wakeup-source: configure keyboard as a wakeup source for suspend/resume +Optional properties: +- debounce-delay: delay in milliseconds per row scan for debouncing +- repeat-delay: delay in milliseconds before repeat starts +- ghost-filter: enable ghost filtering for this device +- wakeup-source: configure keyboard as a wakeup source for suspend/resume Example: keyboard: keyboard { compatible = "nvidia,tegra20-kbc"; reg = <0x7000e200 0x100>; - nvidia,ghost-filter; + ghost-filter; }; diff --git a/trunk/Documentation/devicetree/bindings/sound/alc5632.txt b/trunk/Documentation/devicetree/bindings/sound/alc5632.txt deleted file mode 100644 index 8608f747dcfe..000000000000 --- a/trunk/Documentation/devicetree/bindings/sound/alc5632.txt +++ /dev/null @@ -1,24 +0,0 @@ -ALC5632 audio CODEC - -This device supports I2C only. - -Required properties: - - - compatible : "realtek,alc5632" - - - reg : the I2C address of the device. - - - gpio-controller : Indicates this device is a GPIO controller. - - - #gpio-cells : Should be two. The first cell is the pin number and the - second cell is used to specify optional parameters (currently unused). - -Example: - -alc5632: alc5632@1e { - compatible = "realtek,alc5632"; - reg = <0x1a>; - - gpio-controller; - #gpio-cells = <2>; -}; diff --git a/trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt b/trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt deleted file mode 100644 index 215aa9817213..000000000000 --- a/trunk/Documentation/devicetree/bindings/sound/imx-audmux.txt +++ /dev/null @@ -1,13 +0,0 @@ -Freescale Digital Audio Mux (AUDMUX) device - -Required properties: -- compatible : "fsl,imx21-audmux" for AUDMUX version firstly used on i.MX21, - or "fsl,imx31-audmux" for the version firstly used on i.MX31. -- reg : Should contain AUDMUX registers location and length - -Example: - -audmux@021d8000 { - compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux"; - reg = <0x021d8000 0x4000>; -}; diff --git a/trunk/Documentation/devicetree/bindings/sound/sgtl5000.txt b/trunk/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/sound/sgtl5000.txt rename to trunk/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt diff --git a/trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt b/trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt deleted file mode 100644 index b77a97c9101e..000000000000 --- a/trunk/Documentation/devicetree/bindings/sound/tegra-audio-alc5632.txt +++ /dev/null @@ -1,59 +0,0 @@ -NVIDIA Tegra audio complex - -Required properties: -- compatible : "nvidia,tegra-audio-alc5632" -- nvidia,model : The user-visible name of this sound complex. -- nvidia,audio-routing : A list of the connections between audio components. - Each entry is a pair of strings, the first being the connection's sink, - the second being the connection's source. Valid names for sources and - sinks are the ALC5632's pins: - - ALC5632 pins: - - * SPK_OUTP - * SPK_OUTN - * HP_OUT_L - * HP_OUT_R - * AUX_OUT_P - * AUX_OUT_N - * LINE_IN_L - * LINE_IN_R - * PHONE_P - * PHONE_N - * MIC1_P - * MIC1_N - * MIC2_P - * MIC2_N - * MICBIAS1 - * DMICDAT - - Board connectors: - - * Headset Stereophone - * Int Spk - * Headset Mic - * Digital Mic - -- nvidia,i2s-controller : The phandle of the Tegra I2S controller -- nvidia,audio-codec : The phandle of the ALC5632 audio codec - -Example: - -sound { - compatible = "nvidia,tegra-audio-alc5632-paz00", - "nvidia,tegra-audio-alc5632"; - - nvidia,model = "Compal PAZ00"; - - nvidia,audio-routing = - "Int Spk", "SPK_OUTP", - "Int Spk", "SPK_OUTN", - "Headset Mic","MICBIAS1", - "MIC1_N", "Headset Mic", - "MIC1_P", "Headset Mic", - "Headset Stereophone", "HP_OUT_R", - "Headset Stereophone", "HP_OUT_L"; - - nvidia,i2s-controller = <&tegra_i2s1>; - nvidia,audio-codec = <&alc5632>; -}; diff --git a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt index 82ac057a24a9..a20008ab319a 100644 --- a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -34,7 +34,6 @@ picochip Picochip Ltd powervr Imagination Technologies qcom Qualcomm, Inc. ramtron Ramtron International -realtek Realtek Semiconductor Corp. samsung Samsung Semiconductor sbs Smart Battery System schindler Schindler diff --git a/trunk/Documentation/dvb/cards.txt b/trunk/Documentation/dvb/cards.txt index 97709e9a3076..cc09187a5db7 100644 --- a/trunk/Documentation/dvb/cards.txt +++ b/trunk/Documentation/dvb/cards.txt @@ -119,5 +119,4 @@ o Cards based on the Phillips saa7134 PCI bridge: - Compro Videomate DVB-T300 - Compro Videomate DVB-T200 - AVerMedia AVerTVHD MCE A180 - - KWorld PC150-U ATSC Hybrid diff --git a/trunk/Documentation/dvb/lmedm04.txt b/trunk/Documentation/dvb/lmedm04.txt index f4b720a14675..10b5f0411386 100644 --- a/trunk/Documentation/dvb/lmedm04.txt +++ b/trunk/Documentation/dvb/lmedm04.txt @@ -66,16 +66,5 @@ dd if=US290D.sys ibs=1 skip=36856 count=3976 of=dvb-usb-lme2510-s0194.fw For LME2510C dd if=US290D.sys ibs=1 skip=33152 count=3697 of=dvb-usb-lme2510c-s0194.fw ---------------------------------------------------------------------- - -The m88rs2000 tuner driver can be found in windows/system32/drivers - -US2B0D.sys (dated 29 Jun 2010) - -dd if=US2B0D.sys ibs=1 skip=34432 count=3871 of=dvb-usb-lme2510c-rs2000.fw - -We need to modify id of rs2000 firmware or it will warm boot id 3344:1120. - -echo -ne \\xF0\\x22 | dd conv=notrunc bs=1 count=2 seek=266 of=dvb-usb-lme2510c-rs2000.fw Copy the firmware file(s) to /lib/firmware diff --git a/trunk/Documentation/filesystems/nfs/idmapper.txt b/trunk/Documentation/filesystems/nfs/idmapper.txt index fe03d10bb79a..120fd3cf7fd9 100644 --- a/trunk/Documentation/filesystems/nfs/idmapper.txt +++ b/trunk/Documentation/filesystems/nfs/idmapper.txt @@ -4,21 +4,13 @@ ID Mapper ========= Id mapper is used by NFS to translate user and group ids into names, and to translate user and group names into ids. Part of this translation involves -performing an upcall to userspace to request the information. There are two -ways NFS could obtain this information: placing a call to /sbin/request-key -or by placing a call to the rpc.idmap daemon. - -NFS will attempt to call /sbin/request-key first. If this succeeds, the -result will be cached using the generic request-key cache. This call should -only fail if /etc/request-key.conf is not configured for the id_resolver key -type, see the "Configuring" section below if you wish to use the request-key -method. - -If the call to /sbin/request-key fails (if /etc/request-key.conf is not -configured with the id_resolver key type), then the idmapper will ask the -legacy rpc.idmap daemon for the id mapping. This result will be stored -in a custom NFS idmap cache. +performing an upcall to userspace to request the information. Id mapper will +user request-key to perform this upcall and cache the result. The program +/usr/sbin/nfs.idmap should be called by request-key, and will perform the +translation and initialize a key with the resulting information. + NFS_USE_NEW_IDMAPPER must be selected when configuring the kernel to use this + feature. =========== Configuring diff --git a/trunk/Documentation/filesystems/nfs/pnfs.txt b/trunk/Documentation/filesystems/nfs/pnfs.txt index c7919c6e3bea..983e14abe7e9 100644 --- a/trunk/Documentation/filesystems/nfs/pnfs.txt +++ b/trunk/Documentation/filesystems/nfs/pnfs.txt @@ -53,57 +53,3 @@ lseg maintains an extra reference corresponding to the NFS_LSEG_VALID bit which holds it in the pnfs_layout_hdr's list. When the final lseg is removed from the pnfs_layout_hdr's list, the NFS_LAYOUT_DESTROYED bit is set, preventing any new lsegs from being added. - -layout drivers --------------- - -PNFS utilizes what is called layout drivers. The STD defines 3 basic -layout types: "files" "objects" and "blocks". For each of these types -there is a layout-driver with a common function-vectors table which -are called by the nfs-client pnfs-core to implement the different layout -types. - -Files-layout-driver code is in: fs/nfs/nfs4filelayout.c && nfs4filelayoutdev.c -Objects-layout-deriver code is in: fs/nfs/objlayout/.. directory -Blocks-layout-deriver code is in: fs/nfs/blocklayout/.. directory - -objects-layout setup --------------------- - -As part of the full STD implementation the objlayoutdriver.ko needs, at times, -to automatically login to yet undiscovered iscsi/osd devices. For this the -driver makes up-calles to a user-mode script called *osd_login* - -The path_name of the script to use is by default: - /sbin/osd_login. -This name can be overridden by the Kernel module parameter: - objlayoutdriver.osd_login_prog - -If Kernel does not find the osd_login_prog path it will zero it out -and will not attempt farther logins. An admin can then write new value -to the objlayoutdriver.osd_login_prog Kernel parameter to re-enable it. - -The /sbin/osd_login is part of the nfs-utils package, and should usually -be installed on distributions that support this Kernel version. - -The API to the login script is as follows: - Usage: $0 -u -o -s - Options: - -u target uri e.g. iscsi://: - (allways exists) - (More protocols can be defined in the future. - The client does not interpret this string it is - passed unchanged as recieved from the Server) - -o osdname of the requested target OSD - (Might be empty) - (A string which denotes the OSD name, there is a - limit of 64 chars on this string) - -s systemid of the requested target OSD - (Might be empty) - (This string, if not empty is always an hex - representation of the 20 bytes osd_system_id) - -blocks-layout setup -------------------- - -TODO: Document the setup needs of the blocks layout driver diff --git a/trunk/Documentation/hwmon/lm90 b/trunk/Documentation/hwmon/lm90 index b466974e142f..9cd14cfe6515 100644 --- a/trunk/Documentation/hwmon/lm90 +++ b/trunk/Documentation/hwmon/lm90 @@ -118,10 +118,6 @@ Supported chips: Addresses scanned: I2C 0x48 through 0x4F Datasheet: Publicly available at NXP website http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf - * GMT G781 - Prefix: 'g781' - Addresses scanned: I2C 0x4c, 0x4d - Datasheet: Not publicly available from GMT Author: Jean Delvare diff --git a/trunk/Documentation/hwmon/mc13783-adc b/trunk/Documentation/hwmon/mc13783-adc index d0e7b3fa9e75..044531a86405 100644 --- a/trunk/Documentation/hwmon/mc13783-adc +++ b/trunk/Documentation/hwmon/mc13783-adc @@ -3,11 +3,8 @@ Kernel driver mc13783-adc Supported chips: * Freescale Atlas MC13783 - Prefix: 'mc13783' + Prefix: 'mc13783_adc' Datasheet: http://www.freescale.com/files/rf_if/doc/data_sheet/MC13783.pdf?fsrch=1 - * Freescale Atlas MC13892 - Prefix: 'mc13892' - Datasheet: http://cache.freescale.com/files/analog/doc/data_sheet/MC13892.pdf?fsrch=1&sr=1 Authors: Sascha Hauer @@ -16,21 +13,20 @@ Authors: Description ----------- -The Freescale MC13783 and MC13892 are Power Management and Audio Circuits. -Among other things they contain a 10-bit A/D converter. The converter has 16 -(MC13783) resp. 12 (MC13892) channels which can be used in different modes. The -A/D converter has a resolution of 2.25mV. +The Freescale MC13783 is a Power Management and Audio Circuit. Among +other things it contains a 10-bit A/D converter. The converter has 16 +channels which can be used in different modes. +The A/D converter has a resolution of 2.25mV. Channels 0-4 have +a dedicated meaning with chip internal scaling applied. Channels 5-7 +can be used as general purpose inputs or alternatively in a dedicated +mode. Channels 12-15 are occupied by the touchscreen if it's active. -Some channels can be used as General Purpose inputs or in a dedicated mode with -a chip internal scaling applied . +Currently the driver only supports channels 2 and 5-15 with no alternative +modes for channels 5-7. -Currently the driver only supports the Application Supply channel (BP / BPSNS), -the General Purpose inputs and touchscreen. +See this table for the meaning of the different channels and their chip +internal scaling: -See the following tables for the meaning of the different channels and their -chip internal scaling: - -MC13783: Channel Signal Input Range Scaling ------------------------------------------------------------------------------- 0 Battery Voltage (BATT) 2.50 - 4.65V -2.40V @@ -38,7 +34,7 @@ Channel Signal Input Range Scaling 2 Application Supply (BP) 2.50 - 4.65V -2.40V 3 Charger Voltage (CHRGRAW) 0 - 10V / /5 0 - 20V /10 -4 Charger Current (CHRGISNSP-CHRGISNSN) -0.25 - 0.25V x4 +4 Charger Current (CHRGISNSP-CHRGISNSN) -0.25V - 0.25V x4 5 General Purpose ADIN5 / Battery Pack Thermistor 0 - 2.30V No 6 General Purpose ADIN6 / Backup Voltage (LICELL) 0 - 2.30V / No / 1.50 - 3.50V -1.20V @@ -52,23 +48,3 @@ Channel Signal Input Range Scaling 13 General Purpose TSX2 / Touchscreen X-plate 2 0 - 2.30V No 14 General Purpose TSY1 / Touchscreen Y-plate 1 0 - 2.30V No 15 General Purpose TSY2 / Touchscreen Y-plate 2 0 - 2.30V No - -MC13892: -Channel Signal Input Range Scaling -------------------------------------------------------------------------------- -0 Battery Voltage (BATT) 0 - 4.8V /2 -1 Battery Current (BATT - BATTISNSCC) -60 - 60 mV x20 -2 Application Supply (BPSNS) 0 - 4.8V /2 -3 Charger Voltage (CHRGRAW) 0 - 12V / /5 - 0 - 20V /10 -4 Charger Current (CHRGISNS-BPSNS) / -0.3 - 0.3V / x4 / - Touchscreen X-plate 1 0 - 2.4V No -5 General Purpose ADIN5 / Battery Pack Thermistor 0 - 2.4V No -6 General Purpose ADIN6 / Backup Voltage (LICELL) 0 - 2.4V / No - Backup Voltage (LICELL) 0 - 3.6V x2/3 -7 General Purpose ADIN7 / UID / Die Temperature 0 - 2.4V / No / - 0 - 4.8V /2 -12 General Purpose TSX1 / Touchscreen X-plate 1 0 - 2.4V No -13 General Purpose TSX2 / Touchscreen X-plate 2 0 - 2.4V No -14 General Purpose TSY1 / Touchscreen Y-plate 1 0 - 2.4V No -15 General Purpose TSY2 / Touchscreen Y-plate 2 0 - 2.4V No diff --git a/trunk/Documentation/hwmon/mcp3021 b/trunk/Documentation/hwmon/mcp3021 deleted file mode 100644 index 325fd87e81b2..000000000000 --- a/trunk/Documentation/hwmon/mcp3021 +++ /dev/null @@ -1,22 +0,0 @@ -Kernel driver MCP3021 -====================== - -Supported chips: - * Microchip Technology MCP3021 - Prefix: 'mcp3021' - Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf - -Author: Mingkai Hu - -Description ------------ - -This driver implements support for the Microchip Technology MCP3021 chip. - -The Microchip Technology Inc. MCP3021 is a successive approximation A/D -converter (ADC) with 10-bit resolution. -This device provides one single-ended input with very low power consumption. -Communication to the MCP3021 is performed using a 2-wire I2C compatible -interface. Standard (100 kHz) and Fast (400 kHz) I2C modes are available. -The default I2C device address is 0x4d (contact the Microchip factory for -additional address options). diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 1c9a348548dc..7986d79d9d17 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -713,21 +713,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. The filter can be disabled or changed to another driver later using sysfs. - drm_kms_helper.edid_firmware=[:] - Broken monitors, graphic adapters and KVMs may - send no or incorrect EDID data sets. This parameter - allows to specify an EDID data set in the - /lib/firmware directory that is used instead. - Generic built-in EDID data sets are used, if one of - edid/1024x768.bin, edid/1280x1024.bin, - edid/1680x1050.bin, or edid/1920x1080.bin is given - and no file with the same name exists. Details and - instructions how to build your own EDID data are - available in Documentation/EDID/HOWTO.txt. An EDID - data set will only be used for a particular connector, - if its name and a colon are prepended to the EDID - name. - dscc4.setup= [NET] earlycon= [KNL] Output early console device and options. @@ -1672,14 +1657,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. of returning the full 64-bit number. The default is to return 64-bit inode numbers. - nfs.max_session_slots= - [NFSv4.1] Sets the maximum number of session slots - the client will attempt to negotiate with the server. - This limits the number of simultaneous RPC requests - that the client can send to the NFSv4.1 server. - Note that there is little point in setting this - value higher than the max_tcp_slot_table_limit. - nfs.nfs4_disable_idmapping= [NFSv4] When set to the default of '1', this option ensures that both the RPC level authentication @@ -1693,21 +1670,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. back to using the idmapper. To turn off this behaviour, set the value to '0'. - nfs.send_implementation_id = - [NFSv4.1] Send client implementation identification - information in exchange_id requests. - If zero, no implementation identification information - will be sent. - The default is to send the implementation identification - information. - - - objlayoutdriver.osd_login_prog= - [NFS] [OBJLAYOUT] sets the pathname to the program which - is used to automatically discover and login into new - osd-targets. Please see: - Documentation/filesystems/pnfs.txt for more explanations - nmi_debug= [KNL,AVR32,SH] Specify one or more actions to take when a NMI is triggered. Format: [state][,regs][,debounce][,die] @@ -2147,14 +2109,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the default. off: Turn ECRC off on: Turn ECRC on. - realloc= Enable/disable reallocating PCI bridge resources - if allocations done by BIOS are too small to - accommodate resources required by all child - devices. - off: Turn realloc off - on: Turn realloc on - realloc same as realloc=on - noari do not use PCIe ARI. + realloc reallocate PCI resources if allocations done by BIOS + are erroneous. pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power Management. @@ -2162,10 +2118,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. force Enable ASPM even on devices that claim not to support it. WARNING: Forcing ASPM on may cause system lockups. - pcie_hp= [PCIE] PCI Express Hotplug driver options: - nomsi Do not use MSI for PCI Express Native Hotplug (this - makes all PCIe ports use INTx for hotplug services). - pcie_ports= [PCIE] PCIe ports handling: auto Ask the BIOS whether or not to use native PCIe services associated with PCIe ports (PME, hot-plug, AER). Use diff --git a/trunk/Documentation/leds/leds-lp5521.txt b/trunk/Documentation/leds/leds-lp5521.txt index 0e542ab3d4a0..c4d8d151e0fe 100644 --- a/trunk/Documentation/leds/leds-lp5521.txt +++ b/trunk/Documentation/leds/leds-lp5521.txt @@ -43,23 +43,17 @@ Format: 10x mA i.e 10 means 1.0 mA example platform data: Note: chan_nr can have values between 0 and 2. -The name of each channel can be configurable. -If the name field is not defined, the default name will be set to 'xxxx:channelN' -(XXXX : pdata->label or i2c client name, N : channel number) static struct lp5521_led_config lp5521_led_config[] = { { - .name = "red", .chan_nr = 0, .led_current = 50, .max_current = 130, }, { - .name = "green", .chan_nr = 1, .led_current = 0, .max_current = 130, }, { - .name = "blue", .chan_nr = 2, .led_current = 0, .max_current = 130, @@ -92,60 +86,3 @@ static struct lp5521_platform_data lp5521_platform_data = { If the current is set to 0 in the platform data, that channel is disabled and it is not visible in the sysfs. - -The 'update_config' : CONFIG register (ADDR 08h) -This value is platform-specific data. -If update_config is not defined, the CONFIG register is set with -'LP5521_PWRSAVE_EN | LP5521_CP_MODE_AUTO | LP5521_R_TO_BATT'. -(Enable auto-powersave, set charge pump to auto, red to battery) - -example of update_config : - -#define LP5521_CONFIGS (LP5521_PWM_HF | LP5521_PWRSAVE_EN | \ - LP5521_CP_MODE_AUTO | LP5521_R_TO_BATT | \ - LP5521_CLK_INT) - -static struct lp5521_platform_data lp5521_pdata = { - .led_config = lp5521_led_config, - .num_channels = ARRAY_SIZE(lp5521_led_config), - .clock_mode = LP5521_CLOCK_INT, - .update_config = LP5521_CONFIGS, -}; - -LED patterns : LP5521 has autonomous operation without external control. -Pattern data can be defined in the platform data. - -example of led pattern data : - -/* RGB(50,5,0) 500ms on, 500ms off, infinite loop */ -static u8 pattern_red[] = { - 0x40, 0x32, 0x60, 0x00, 0x40, 0x00, 0x60, 0x00, - }; - -static u8 pattern_green[] = { - 0x40, 0x05, 0x60, 0x00, 0x40, 0x00, 0x60, 0x00, - }; - -static struct lp5521_led_pattern board_led_patterns[] = { - { - .r = pattern_red, - .g = pattern_green, - .size_r = ARRAY_SIZE(pattern_red), - .size_g = ARRAY_SIZE(pattern_green), - }, -}; - -static struct lp5521_platform_data lp5521_platform_data = { - .led_config = lp5521_led_config, - .num_channels = ARRAY_SIZE(lp5521_led_config), - .clock_mode = LP5521_CLOCK_EXT, - .patterns = board_led_patterns, - .num_patterns = ARRAY_SIZE(board_led_patterns), -}; - -Then predefined led pattern(s) can be executed via the sysfs. -To start the pattern #1, -# echo 1 > /sys/bus/i2c/devices/xxxx/led_pattern -(xxxx : i2c bus & slave address) -To end the pattern, -# echo 0 > /sys/bus/i2c/devices/xxxx/led_pattern diff --git a/trunk/Documentation/pinctrl.txt b/trunk/Documentation/pinctrl.txt index d97bccf46147..150fd3833d0b 100644 --- a/trunk/Documentation/pinctrl.txt +++ b/trunk/Documentation/pinctrl.txt @@ -206,21 +206,12 @@ using a certain resistor value - pull up and pull down - so that the pin has a stable value when nothing is driving the rail it is connected to, or when it's unconnected. -Pin configuration can be programmed either using the explicit APIs described -immediately below, or by adding configuration entries into the mapping table; -see section "Board/machine configuration" below. - -For example, a platform may do the following to pull up a pin to VDD: - -#include +For example, a platform may do this: ret = pin_config_set("foo-dev", "FOO_GPIO_PIN", PLATFORM_X_PULL_UP); -The format and meaning of the configuration parameter, PLATFORM_X_PULL_UP -above, is entirely defined by the pin controller driver. - -The pin configuration driver implements callbacks for changing pin -configuration in the pin controller ops like this: +To pull up a pin to VDD. The pin configuration driver implements callbacks for +changing pin configuration in the pin controller ops like this: #include #include @@ -501,10 +492,14 @@ Definitions: {"map-i2c0", i2c0, pinctrl0, fi2c0, gi2c0} } - Every map must be assigned a state name, pin controller, device and - function. The group is not compulsory - if it is omitted the first group - presented by the driver as applicable for the function will be selected, - which is useful for simple cases. + Every map must be assigned a symbolic name, pin controller and function. + The group is not compulsory - if it is omitted the first group presented by + the driver as applicable for the function will be selected, which is + useful for simple cases. + + The device name is present in map entries tied to specific devices. Maps + without device names are referred to as SYSTEM pinmuxes, such as can be taken + by the machine implementation on boot and not tied to any specific device. It is possible to map several groups to the same combination of device, pin controller and function. This is for cases where a certain function on @@ -731,19 +726,19 @@ same time. All the above functions are mandatory to implement for a pinmux driver. -Pin control interaction with the GPIO subsystem -=============================================== +Pinmux interaction with the GPIO subsystem +========================================== -The public pinmux API contains two functions named pinctrl_request_gpio() -and pinctrl_free_gpio(). These two functions shall *ONLY* be called from +The public pinmux API contains two functions named pinmux_request_gpio() +and pinmux_free_gpio(). These two functions shall *ONLY* be called from gpiolib-based drivers as part of their gpio_request() and -gpio_free() semantics. Likewise the pinctrl_gpio_direction_[input|output] +gpio_free() semantics. Likewise the pinmux_gpio_direction_[input|output] shall only be called from within respective gpio_direction_[input|output] gpiolib implementation. NOTE that platforms and individual drivers shall *NOT* request GPIO pins to be -controlled e.g. muxed in. Instead, implement a proper gpiolib driver and have -that driver request proper muxing and other control for its pins. +muxed in. Instead, implement a proper gpiolib driver and have that driver +request proper muxing for its pins. The function list could become long, especially if you can convert every individual pin into a GPIO pin independent of any other pins, and then try @@ -752,7 +747,7 @@ the approach to define every pin as a function. In this case, the function array would become 64 entries for each GPIO setting and then the device functions. -For this reason there are two functions a pin control driver can implement +For this reason there are two functions a pinmux driver can implement to enable only GPIO on an individual pin: .gpio_request_enable() and .gpio_disable_free(). @@ -767,12 +762,12 @@ gpiolib driver and the affected GPIO range, pin offset and desired direction will be passed along to this function. Alternatively to using these special functions, it is fully allowed to use -named functions for each GPIO pin, the pinctrl_request_gpio() will attempt to +named functions for each GPIO pin, the pinmux_request_gpio() will attempt to obtain the function "gpioN" where "N" is the global GPIO pin number if no special GPIO-handler is registered. -Board/machine configuration +Pinmux board/machine configuration ================================== Boards and machines define how a certain complete running system is put @@ -780,33 +775,27 @@ together, including how GPIOs and devices are muxed, how regulators are constrained and how the clock tree looks. Of course pinmux settings are also part of this. -A pin controller configuration for a machine looks pretty much like a simple -regulator configuration, so for the example array above we want to enable i2c -and spi on the second function mapping: +A pinmux config for a machine looks pretty much like a simple regulator +configuration, so for the example array above we want to enable i2c and +spi on the second function mapping: #include -static const struct pinctrl_map __initdata mapping[] = { +static const struct pinmux_map __initdata pmx_mapping[] = { { - .dev_name = "foo-spi.0", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .data.mux.function = "spi0", + .function = "spi0", + .dev_name = "foo-spi.0", }, { - .dev_name = "foo-i2c.0", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .data.mux.function = "i2c0", + .function = "i2c0", + .dev_name = "foo-i2c.0", }, { - .dev_name = "foo-mmc.0", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .data.mux.function = "mmc0", + .function = "mmc0", + .dev_name = "foo-mmc.0", }, }; @@ -816,51 +805,21 @@ must match a function provided by the pinmux driver handling this pin range. As you can see we may have several pin controllers on the system and thus we need to specify which one of them that contain the functions we wish -to map. +to map. The map can also use struct device * directly, so there is no +inherent need to use strings to specify .dev_name or .ctrl_dev_name, these +are for the situation where you do not have a handle to the struct device *, +for example if they are not yet instantiated or cumbersome to obtain. You register this pinmux mapping to the pinmux subsystem by simply: - ret = pinctrl_register_mappings(mapping, ARRAY_SIZE(mapping)); + ret = pinmux_register_mappings(pmx_mapping, ARRAY_SIZE(pmx_mapping)); Since the above construct is pretty common there is a helper macro to make it even more compact which assumes you want to use pinctrl-foo and position 0 for mapping, for example: -static struct pinctrl_map __initdata mapping[] = { - PIN_MAP_MUX_GROUP("foo-i2c.o", PINCTRL_STATE_DEFAULT, "pinctrl-foo", NULL, "i2c0"), -}; - -The mapping table may also contain pin configuration entries. It's common for -each pin/group to have a number of configuration entries that affect it, so -the table entries for configuration reference an array of config parameters -and values. An example using the convenience macros is shown below: - -static unsigned long i2c_grp_configs[] = { - FOO_PIN_DRIVEN, - FOO_PIN_PULLUP, -}; - -static unsigned long i2c_pin_configs[] = { - FOO_OPEN_COLLECTOR, - FOO_SLEW_RATE_SLOW, -}; - -static struct pinctrl_map __initdata mapping[] = { - PIN_MAP_MUX_GROUP("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0", "i2c0"), - PIN_MAP_MUX_CONFIGS_GROUP("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0", i2c_grp_configs), - PIN_MAP_MUX_CONFIGS_PIN("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0scl", i2c_pin_configs), - PIN_MAP_MUX_CONFIGS_PIN("foo-i2c.0", PINCTRL_STATE_DEFAULT, "pinctrl-foo", "i2c0sda", i2c_pin_configs), -}; - -Finally, some devices expect the mapping table to contain certain specific -named states. When running on hardware that doesn't need any pin controller -configuration, the mapping table must still contain those named states, in -order to explicitly indicate that the states were provided and intended to -be empty. Table entry macro PIN_MAP_DUMMY_STATE serves the purpose of defining -a named state without causing any pin controller to be programmed: - -static struct pinctrl_map __initdata mapping[] = { - PIN_MAP_DUMMY_STATE("foo-i2c.0", PINCTRL_STATE_DEFAULT), +static struct pinmux_map __initdata pmx_mapping[] = { + PINMUX_MAP("I2CMAP", "pinctrl-foo", "i2c0", "foo-i2c.0"), }; @@ -872,96 +831,81 @@ As it is possible to map a function to different groups of pins an optional ... { - .dev_name = "foo-spi.0", .name = "spi0-pos-A", - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "spi0", .group = "spi0_0_grp", + .dev_name = "foo-spi.0", }, { - .dev_name = "foo-spi.0", .name = "spi0-pos-B", - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "spi0", .group = "spi0_1_grp", + .dev_name = "foo-spi.0", }, ... This example mapping is used to switch between two positions for spi0 at runtime, as described further below under the heading "Runtime pinmuxing". -Further it is possible for one named state to affect the muxing of several -groups of pins, say for example in the mmc0 example above, where you can +Further it is possible to match several groups of pins to the same function +for a single device, say for example in the mmc0 example above, where you can additively expand the mmc0 bus from 2 to 4 to 8 pins. If we want to use all three groups for a total of 2+2+4 = 8 pins (for an 8-bit MMC bus as is the case), we define a mapping like this: ... { - .dev_name = "foo-mmc.0", .name = "2bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_1_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "4bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_1_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "4bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_2_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "8bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", - .function = "mmc0", .group = "mmc0_1_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "8bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_2_grp", + .dev_name = "foo-mmc.0", }, { - .dev_name = "foo-mmc.0", .name = "8bit" - .type = PIN_MAP_TYPE_MUX_GROUP, .ctrl_dev_name = "pinctrl-foo", .function = "mmc0", .group = "mmc0_3_grp", + .dev_name = "foo-mmc.0", }, ... The result of grabbing this mapping from the device with something like this (see next paragraph): - p = pinctrl_get(dev); - s = pinctrl_lookup_state(p, "8bit"); - ret = pinctrl_select_state(p, s); - -or more simply: - - p = pinctrl_get_select(dev, "8bit"); + pmx = pinmux_get(&device, "8bit"); Will be that you activate all the three bottom records in the mapping at -once. Since they share the same name, pin controller device, function and +once. Since they share the same name, pin controller device, funcion and device, and since we allow multiple groups to match to a single device, they all get selected, and they all get enabled and disable simultaneously by the pinmux core. @@ -970,111 +914,97 @@ pinmux core. Pinmux requests from drivers ============================ -Generally it is discouraged to let individual drivers get and enable pin -control. So if possible, handle the pin control in platform code or some other -place where you have access to all the affected struct device * pointers. In -some cases where a driver needs to e.g. switch between different mux mappings -at runtime this is not possible. +Generally it is discouraged to let individual drivers get and enable pinmuxes. +So if possible, handle the pinmuxes in platform code or some other place where +you have access to all the affected struct device * pointers. In some cases +where a driver needs to switch between different mux mappings at runtime +this is not possible. -A driver may request a certain control state to be activated, usually just the -default state like this: +A driver may request a certain mux to be activated, usually just the default +mux like this: -#include +#include struct foo_state { - struct pinctrl *p; - struct pinctrl_state *s; + struct pinmux *pmx; ... }; foo_probe() { - /* Allocate a state holder named "foo" etc */ - struct foo_state *foo = ...; - - foo->p = pinctrl_get(&device); - if (IS_ERR(foo->p)) { - /* FIXME: clean up "foo" here */ - return PTR_ERR(foo->p); - } + /* Allocate a state holder named "state" etc */ + struct pinmux pmx; - foo->s = pinctrl_lookup_state(foo->p, PINCTRL_STATE_DEFAULT); - if (IS_ERR(foo->s)) { - pinctrl_put(foo->p); - /* FIXME: clean up "foo" here */ - return PTR_ERR(s); - } + pmx = pinmux_get(&device, NULL); + if IS_ERR(pmx) + return PTR_ERR(pmx); + pinmux_enable(pmx); - ret = pinctrl_select_state(foo->s); - if (ret < 0) { - pinctrl_put(foo->p); - /* FIXME: clean up "foo" here */ - return ret; - } + state->pmx = pmx; } foo_remove() { - pinctrl_put(state->p); + pinmux_disable(state->pmx); + pinmux_put(state->pmx); } -This get/lookup/select/put sequence can just as well be handled by bus drivers +If you want to grab a specific mux mapping and not just the first one found for +this device you can specify a specific mapping name, for example in the above +example the second i2c0 setting: pinmux_get(&device, "spi0-pos-B"); + +This get/enable/disable/put sequence can just as well be handled by bus drivers if you don't want each and every driver to handle it and you know the arrangement on your bus. -The semantics of the pinctrl APIs are: - -- pinctrl_get() is called in process context to obtain a handle to all pinctrl - information for a given client device. It will allocate a struct from the - kernel memory to hold the pinmux state. All mapping table parsing or similar - slow operations take place within this API. +The semantics of the get/enable respective disable/put is as follows: -- pinctrl_lookup_state() is called in process context to obtain a handle to a - specific state for a the client device. This operation may be slow too. +- pinmux_get() is called in process context to reserve the pins affected with + a certain mapping and set up the pinmux core and the driver. It will allocate + a struct from the kernel memory to hold the pinmux state. -- pinctrl_select_state() programs pin controller hardware according to the - definition of the state as given by the mapping table. In theory this is a - fast-path operation, since it only involved blasting some register settings - into hardware. However, note that some pin controllers may have their - registers on a slow/IRQ-based bus, so client devices should not assume they - can call pinctrl_select_state() from non-blocking contexts. +- pinmux_enable()/pinmux_disable() is quick and can be called from fastpath + (irq context) when you quickly want to set up/tear down the hardware muxing + when running a device driver. Usually it will just poke some values into a + register. -- pinctrl_put() frees all information associated with a pinctrl handle. +- pinmux_disable() is called in process context to tear down the pin requests + and release the state holder struct for the mux setting. -Usually the pin control core handled the get/put pair and call out to the -device drivers bookkeeping operations, like checking available functions and -the associated pins, whereas the enable/disable pass on to the pin controller +Usually the pinmux core handled the get/put pair and call out to the device +drivers bookkeeping operations, like checking available functions and the +associated pins, whereas the enable/disable pass on to the pin controller driver which takes care of activating and/or deactivating the mux setting by quickly poking some registers. -The pins are allocated for your device when you issue the pinctrl_get() call, +The pins are allocated for your device when you issue the pinmux_get() call, after this you should be able to see this in the debugfs listing of all pins. -System pin control hogging -========================== +System pinmux hogging +===================== -Pin control map entries can be hogged by the core when the pin controller -is registered. This means that the core will attempt to call pinctrl_get(), -lookup_state() and select_state() on it immediately after the pin control -device has been registered. +A system pinmux map entry, i.e. a pinmux setting that does not have a device +associated with it, can be hogged by the core when the pin controller is +registered. This means that the core will attempt to call pinmux_get() and +pinmux_enable() on it immediately after the pin control device has been +registered. -This occurs for mapping table entries where the client device name is equal -to the pin controller device name, and the state name is PINCTRL_STATE_DEFAULT. +This is enabled by simply setting the .hog_on_boot field in the map to true, +like this: { - .dev_name = "pinctrl-foo", - .name = PINCTRL_STATE_DEFAULT, - .type = PIN_MAP_TYPE_MUX_GROUP, + .name = "POWERMAP" .ctrl_dev_name = "pinctrl-foo", .function = "power_func", + .hog_on_boot = true, }, Since it may be common to request the core to hog a few always-applicable mux settings on the primary pin controller, there is a convenience macro for this: -PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-foo", NULL /* group */, "power_func") +PINMUX_MAP_PRIMARY_SYS_HOG("POWERMAP", "power_func") This gives the exact same result as the above construction. @@ -1086,47 +1016,32 @@ It is possible to mux a certain function in and out at runtime, say to move an SPI port from one set of pins to another set of pins. Say for example for spi0 in the example above, we expose two different groups of pins for the same function, but with different named in the mapping as described under -"Advanced mapping" above. So that for an SPI device, we have two states named -"pos-A" and "pos-B". +"Advanced mapping" above. So we have two mappings named "spi0-pos-A" and +"spi0-pos-B". This snippet first muxes the function in the pins defined by group A, enables it, disables and releases it, and muxes it in on the pins defined by group B: -#include - foo_switch() { - struct pinctrl *p; - struct pinctrl_state *s1, *s2; - - /* Setup */ - p = pinctrl_get(&device); - if (IS_ERR(p)) - ... - - s1 = pinctrl_lookup_state(foo->p, "pos-A"); - if (IS_ERR(s1)) - ... - - s2 = pinctrl_lookup_state(foo->p, "pos-B"); - if (IS_ERR(s2)) - ... + struct pinmux *pmx; /* Enable on position A */ - ret = pinctrl_select_state(s1); - if (ret < 0) - ... + pmx = pinmux_get(&device, "spi0-pos-A"); + if IS_ERR(pmx) + return PTR_ERR(pmx); + pinmux_enable(pmx); - ... + /* This releases the pins again */ + pinmux_disable(pmx); + pinmux_put(pmx); /* Enable on position B */ - ret = pinctrl_select_state(s2); - if (ret < 0) - ... - + pmx = pinmux_get(&device, "spi0-pos-B"); + if IS_ERR(pmx) + return PTR_ERR(pmx); + pinmux_enable(pmx); ... - - pinctrl_put(p); } The above has to be done from process context. diff --git a/trunk/Documentation/scsi/LICENSE.qla2xxx b/trunk/Documentation/scsi/LICENSE.qla2xxx index ce0fdf349a81..19e7cd4bba66 100644 --- a/trunk/Documentation/scsi/LICENSE.qla2xxx +++ b/trunk/Documentation/scsi/LICENSE.qla2xxx @@ -1,11 +1,48 @@ Copyright (c) 2003-2011 QLogic Corporation -QLogic Linux FC-FCoE Driver +QLogic Linux/ESX Fibre Channel HBA Driver -This program includes a device driver for Linux 3.x. +This program includes a device driver for Linux 2.6/ESX that may be +distributed with QLogic hardware specific firmware binary file. You may modify and redistribute the device driver code under the GNU General Public License (a copy of which is attached hereto as Exhibit A) published by the Free Software Foundation (version 2). +You may redistribute the hardware specific firmware binary file +under the following terms: + + 1. Redistribution of source code (only if applicable), + must retain the above copyright notice, this list of + conditions and the following disclaimer. + + 2. Redistribution 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. + + 3. The name of QLogic Corporation may not be used to + endorse or promote products derived from this software + without specific prior written permission + +REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, +THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "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 THE AUTHOR +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. + +USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT +CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR +OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, +TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN +ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN +COMBINATION WITH THIS PROGRAM. EXHIBIT A diff --git a/trunk/Documentation/scsi/bfa.txt b/trunk/Documentation/scsi/bfa.txt deleted file mode 100644 index f2d6e9d1791e..000000000000 --- a/trunk/Documentation/scsi/bfa.txt +++ /dev/null @@ -1,82 +0,0 @@ -Linux driver for Brocade FC/FCOE adapters - - -Supported Hardware ------------------- - -bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of -adapter models with corresponding PCIIDs. - - PCIID Model - - 1657:0013:1657:0014 425 4Gbps dual port FC HBA - 1657:0013:1657:0014 825 8Gbps PCIe dual port FC HBA - 1657:0013:103c:1742 HP 82B 8Gbps PCIedual port FC HBA - 1657:0013:103c:1744 HP 42B 4Gbps dual port FC HBA - 1657:0017:1657:0014 415 4Gbps single port FC HBA - 1657:0017:1657:0014 815 8Gbps single port FC HBA - 1657:0017:103c:1741 HP 41B 4Gbps single port FC HBA - 1657:0017:103c 1743 HP 81B 8Gbps single port FC HBA - 1657:0021:103c:1779 804 8Gbps FC HBA for HP Bladesystem c-class - - 1657:0014:1657:0014 1010 10Gbps single port CNA - FCOE - 1657:0014:1657:0014 1020 10Gbps dual port CNA - FCOE - 1657:0014:1657:0014 1007 10Gbps dual port CNA - FCOE - 1657:0014:1657:0014 1741 10Gbps dual port CNA - FCOE - - 1657:0022:1657:0024 1860 16Gbps FC HBA - 1657:0022:1657:0022 1860 10Gbps CNA - FCOE - - -Firmware download ------------------ - -The latest Firmware package for 3.0.2.2 bfa driver can be found at: - -http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page - -and then click following respective util package link: - - Version Link - - v3.0.0.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 - - -Configuration & Management utility download -------------------------------------------- - -The latest driver configuration & management utility for 3.0.2.2 bfa driver can -be found at: - -http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page - -and then click following respective util pacakge link - - Version Link - - v3.0.2.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 - - -Documentation -------------- - -The latest Administration's Guide, Installation and Reference Manual, -Troubleshooting Guide, and Release Notes for the corresponding out-of-box -driver can be found at: - -http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page - -and use the following inbox and out-of-box driver version mapping to find -the corresponding documentation: - - Inbox Version Out-of-box Version - - v3.0.2.2 v3.0.0.0 - - -Support -------- - -For general product and support info, go to the Brocade website at: - -http://www.brocade.com/services-support/index.page diff --git a/trunk/Documentation/scsi/libsas.txt b/trunk/Documentation/scsi/libsas.txt index 3cc9c7843e15..aa54f54c4a50 100644 --- a/trunk/Documentation/scsi/libsas.txt +++ b/trunk/Documentation/scsi/libsas.txt @@ -398,6 +398,21 @@ struct sas_task { task_done -- callback when the task has finished execution }; +When an external entity, entity other than the LLDD or the +SAS Layer, wants to work with a struct domain_device, it +_must_ call kobject_get() when getting a handle on the +device and kobject_put() when it is done with the device. + +This does two things: + A) implements proper kfree() for the device; + B) increments/decrements the kref for all players: + domain_device + all domain_device's ... (if past an expander) + port + host adapter + pci device + and up the ladder, etc. + DISCOVERY --------- diff --git a/trunk/Documentation/sound/alsa/ALSA-Configuration.txt b/trunk/Documentation/sound/alsa/ALSA-Configuration.txt index 6f75ba3b8a39..12e3a0fb9bec 100644 --- a/trunk/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/trunk/Documentation/sound/alsa/ALSA-Configuration.txt @@ -860,8 +860,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. [Multiple options for each card instance] model - force the model name - position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF, - 3 = VIACOMBO, 4 = COMBO) + position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF) probe_mask - Bitmask to probe codecs (default = -1, meaning all slots) When the bit 8 (0x100) is set, the lower 8 bits are used as the "fixed" codec slots; i.e. the driver probes the @@ -926,11 +925,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. (Usually SD_LPIB register is more accurate than the position buffer.) - position_fix=3 is specific to VIA devices. The position - of the capture stream is checked from both LPIB and POSBUF - values. position_fix=4 is a combination mode, using LPIB - for playback and POSBUF for capture. - NB: If you get many "azx_get_response timeout" messages at loading, it's likely a problem of interrupts (e.g. ACPI irq routing). Try to boot with options like "pci=noacpi". Also, you diff --git a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt index d97d992ced14..c8c54544abc5 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt @@ -8,10 +8,37 @@ ALC880 5stack-digout 5-jack in back, 2-jack in front, a SPDIF out 6stack 6-jack in back, 2-jack in front 6stack-digout 6-jack with a SPDIF out + w810 3-jack + z71v 3-jack (HP shared SPDIF) + asus 3-jack (ASUS Mobo) + asus-w1v ASUS W1V + asus-dig ASUS with SPDIF out + asus-dig2 ASUS with SPDIF out (using GPIO2) + uniwill 3-jack + fujitsu Fujitsu Laptops (Pi1536) + F1734 2-jack + lg LG laptop (m1 express dual) + lg-lw LG LW20/LW25 laptop + tcl TCL S700 + clevo Clevo laptops (m520G, m665n) + medion Medion Rim 2150 + test for testing/debugging purpose, almost all controls can be + adjusted. Appearing only when compiled with + $CONFIG_SND_DEBUG=y + auto auto-config reading BIOS (default) ALC260 ====== - N/A + fujitsu Fujitsu S7020 + acer Acer TravelMate + will Will laptops (PB V7900) + replacer Replacer 672V + favorit100 Maxdata Favorit 100XS + basic fixed pin assignment (old default model) + test for testing/debugging purpose, almost all controls can + adjusted. Appearing only when compiled with + $CONFIG_SND_DEBUG=y + auto auto-config reading BIOS (default) ALC262 ====== @@ -43,7 +70,55 @@ ALC680 ALC882/883/885/888/889 ====================== - N/A + 3stack-dig 3-jack with SPDIF I/O + 6stack-dig 6-jack digital with SPDIF I/O + arima Arima W820Di1 + targa Targa T8, MSI-1049 T8 + asus-a7j ASUS A7J + asus-a7m ASUS A7M + macpro MacPro support + mb5 Macbook 5,1 + macmini3 Macmini 3,1 + mba21 Macbook Air 2,1 + mbp3 Macbook Pro rev3 + imac24 iMac 24'' with jack detection + imac91 iMac 9,1 + w2jc ASUS W2JC + 3stack-2ch-dig 3-jack with SPDIF I/O (ALC883) + alc883-6stack-dig 6-jack digital with SPDIF I/O (ALC883) + 3stack-6ch 3-jack 6-channel + 3stack-6ch-dig 3-jack 6-channel with SPDIF I/O + 6stack-dig-demo 6-jack digital for Intel demo board + acer Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc) + acer-aspire Acer Aspire 9810 + acer-aspire-4930g Acer Aspire 4930G + acer-aspire-6530g Acer Aspire 6530G + acer-aspire-7730g Acer Aspire 7730G + acer-aspire-8930g Acer Aspire 8930G + medion Medion Laptops + targa-dig Targa/MSI + targa-2ch-dig Targa/MSI with 2-channel + targa-8ch-dig Targa/MSI with 8-channel (MSI GX620) + laptop-eapd 3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE) + lenovo-101e Lenovo 101E + lenovo-nb0763 Lenovo NB0763 + lenovo-ms7195-dig Lenovo MS7195 + lenovo-sky Lenovo Sky + haier-w66 Haier W66 + 3stack-hp HP machines with 3stack (Lucknow, Samba boards) + 6stack-dell Dell machines with 6stack (Inspiron 530) + mitac Mitac 8252D + clevo-m540r Clevo M540R (6ch + digital) + clevo-m720 Clevo M720 laptop series + fujitsu-pi2515 Fujitsu AMILO Pi2515 + fujitsu-xa3530 Fujitsu AMILO XA3530 + 3stack-6ch-intel Intel DG33* boards + intel-alc889a Intel IbexPeak with ALC889A + intel-x58 Intel DX58 with ALC889 + asus-p5q ASUS P5Q-EM boards + mb31 MacBook 3,1 + sony-vaio-tt Sony VAIO TT + auto auto-config reading BIOS (default) ALC861/660 ========== diff --git a/trunk/Documentation/sound/alsa/HD-Audio.txt b/trunk/Documentation/sound/alsa/HD-Audio.txt index 7813c06a5c71..91fee3b45fb8 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio.txt @@ -59,12 +59,7 @@ a case, you can change the default method via `position_fix` option. `position_fix=1` means to use LPIB method explicitly. `position_fix=2` means to use the position-buffer. `position_fix=3` means to use a combination of both methods, needed -for some VIA controllers. The capture stream position is corrected -by comparing both LPIB and position-buffer values. -`position_fix=4` is another combination available for all controllers, -and uses LPIB for the playback and the position-buffer for the capture -streams. -0 is the default value for all other +for some VIA and ATI controllers. 0 is the default value for all other controllers, the automatic check and fallback to LPIB as described in the above. If you get a problem of repeated sounds, this option might help. diff --git a/trunk/Documentation/video4linux/CARDLIST.cx23885 b/trunk/Documentation/video4linux/CARDLIST.cx23885 index f316d1816fcd..23584d0c6a75 100644 --- a/trunk/Documentation/video4linux/CARDLIST.cx23885 +++ b/trunk/Documentation/video4linux/CARDLIST.cx23885 @@ -32,4 +32,3 @@ 31 -> Leadtek Winfast PxDVR3200 H XC4000 [107d:6f39] 32 -> MPX-885 33 -> Mygica X8507 [14f1:8502] - 34 -> TerraTec Cinergy T PCIe Dual [153b:117e] diff --git a/trunk/Documentation/video4linux/CARDLIST.cx88 b/trunk/Documentation/video4linux/CARDLIST.cx88 index fa4b3f947468..eee18e6962b6 100644 --- a/trunk/Documentation/video4linux/CARDLIST.cx88 +++ b/trunk/Documentation/video4linux/CARDLIST.cx88 @@ -59,7 +59,7 @@ 58 -> Pinnacle PCTV HD 800i [11bd:0051] 59 -> DViCO FusionHDTV 5 PCI nano [18ac:d530] 60 -> Pinnacle Hybrid PCTV [12ab:1788] - 61 -> Leadtek TV2000 XP Global [107d:6f18,107d:6618,107d:6619] + 61 -> Leadtek TV2000 XP Global [107d:6f18,107d:6618] 62 -> PowerColor RA330 [14f1:ea3d] 63 -> Geniatech X8000-MT DVBT [14f1:8852] 64 -> DViCO FusionHDTV DVB-T PRO [18ac:db30] @@ -87,5 +87,3 @@ 86 -> TeVii S464 DVB-S/S2 [d464:9022] 87 -> Leadtek WinFast DTV2000 H PLUS [107d:6f42] 88 -> Leadtek WinFast DTV1800 H (XC4000) [107d:6f38] - 89 -> Leadtek TV2000 XP Global (SC4100) [107d:6f36] - 90 -> Leadtek TV2000 XP Global (XC4100) [107d:6f43] diff --git a/trunk/Documentation/video4linux/CARDLIST.em28xx b/trunk/Documentation/video4linux/CARDLIST.em28xx index d99262dda533..e7be3ac49ead 100644 --- a/trunk/Documentation/video4linux/CARDLIST.em28xx +++ b/trunk/Documentation/video4linux/CARDLIST.em28xx @@ -7,7 +7,7 @@ 6 -> Terratec Cinergy 200 USB (em2800) 7 -> Leadtek Winfast USB II (em2800) [0413:6023] 8 -> Kworld USB2800 (em2800) - 9 -> Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker (em2820/em2840) [1b80:e302,1b80:e304,2304:0207,2304:021a,093b:a003] + 9 -> Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker (em2820/em2840) [1b80:e302,1b80:e304,2304:0207,2304:021a] 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500] 11 -> Terratec Hybrid XS (em2880) 12 -> Kworld PVR TV 2800 RF (em2820/em2840) @@ -61,7 +61,7 @@ 61 -> Pixelview PlayTV Box 4 USB 2.0 (em2820/em2840) 62 -> Gadmei TVR200 (em2820/em2840) 63 -> Kaiomy TVnPC U2 (em2860) [eb1a:e303] - 64 -> Easy Cap Capture DC-60 (em2860) [1b80:e309] + 64 -> Easy Cap Capture DC-60 (em2860) 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515] 66 -> Empire dual TV (em2880) 67 -> Terratec Grabby (em2860) [0ccd:0096,0ccd:10AF] @@ -76,11 +76,7 @@ 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340] 77 -> EM2874 Leadership ISDBT (em2874) 78 -> PCTV nanoStick T2 290e (em28174) - 79 -> Terratec Cinergy H5 (em2884) [0ccd:008e,0ccd:00ac,0ccd:10a2,0ccd:10ad] + 79 -> Terratec Cinergy H5 (em2884) [0ccd:10a2,0ccd:10ad] 80 -> PCTV DVB-S2 Stick (460e) (em28174) 81 -> Hauppauge WinTV HVR 930C (em2884) [2040:1605] 82 -> Terratec Cinergy HTC Stick (em2884) [0ccd:00b2] - 83 -> Honestech Vidbox NW03 (em2860) [eb1a:5006] - 84 -> MaxMedia UB425-TC (em2874) [1b80:e425] - 85 -> PCTV QuatroStick (510e) (em2884) [2304:0242] - 86 -> PCTV QuatroStick nano (520e) (em2884) [2013:0251] diff --git a/trunk/Documentation/video4linux/CARDLIST.saa7134 b/trunk/Documentation/video4linux/CARDLIST.saa7134 index 34f3b330e5f4..e7ef38a19859 100644 --- a/trunk/Documentation/video4linux/CARDLIST.saa7134 +++ b/trunk/Documentation/video4linux/CARDLIST.saa7134 @@ -187,4 +187,3 @@ 186 -> Beholder BeholdTV 501 [5ace:5010] 187 -> Beholder BeholdTV 503 FM [5ace:5030] 188 -> Sensoray 811/911 [6000:0811,6000:0911] -189 -> Kworld PC150-U [17de:a134] diff --git a/trunk/Documentation/video4linux/CARDLIST.tuner b/trunk/Documentation/video4linux/CARDLIST.tuner index c83f6e418879..6323b7a20719 100644 --- a/trunk/Documentation/video4linux/CARDLIST.tuner +++ b/trunk/Documentation/video4linux/CARDLIST.tuner @@ -78,11 +78,10 @@ tuner=77 - TCL tuner MF02GIP-5N-E tuner=78 - Philips FMD1216MEX MK3 Hybrid Tuner tuner=79 - Philips PAL/SECAM multi (FM1216 MK5) tuner=80 - Philips FQ1216LME MK3 PAL/SECAM w/active loopthrough +tuner=81 - Xceive 4000 tuner tuner=81 - Partsnic (Daewoo) PTI-5NF05 tuner=82 - Philips CU1216L tuner=83 - NXP TDA18271 tuner=84 - Sony BTF-Pxn01Z tuner=85 - Philips FQ1236 MK5 tuner=86 - Tena TNF5337 MFD -tuner=87 - Xceive 4000 tuner -tuner=88 - Xceive 5000C tuner diff --git a/trunk/Documentation/video4linux/fimc.txt b/trunk/Documentation/video4linux/fimc.txt deleted file mode 100644 index eb049708f3e4..000000000000 --- a/trunk/Documentation/video4linux/fimc.txt +++ /dev/null @@ -1,178 +0,0 @@ -Samsung S5P/EXYNOS4 FIMC driver - -Copyright (C) 2012 Samsung Electronics Co., Ltd. ---------------------------------------------------------------------------- - -The FIMC (Fully Interactive Mobile Camera) device available in Samsung -SoC Application Processors is an integrated camera host interface, color -space converter, image resizer and rotator. It's also capable of capturing -data from LCD controller (FIMD) through the SoC internal writeback data -path. There are multiple FIMC instances in the SoCs (up to 4), having -slightly different capabilities, like pixel alignment constraints, rotator -availability, LCD writeback support, etc. The driver is located at -drivers/media/video/s5p-fimc directory. - -1. Supported SoCs -================= - -S5PC100 (mem-to-mem only), S5PV210, EXYNOS4210 - -2. Supported features -===================== - - - camera parallel interface capture (ITU-R.BT601/565); - - camera serial interface capture (MIPI-CSI2); - - memory-to-memory processing (color space conversion, scaling, mirror - and rotation); - - dynamic pipeline re-configuration at runtime (re-attachment of any FIMC - instance to any parallel video input or any MIPI-CSI front-end); - - runtime PM and system wide suspend/resume - -Not currently supported: - - LCD writeback input - - per frame clock gating (mem-to-mem) - -3. Files partitioning -===================== - -- media device driver - drivers/media/video/s5p-fimc/fimc-mdevice.[ch] - - - camera capture video device driver - drivers/media/video/s5p-fimc/fimc-capture.c - - - MIPI-CSI2 receiver subdev - drivers/media/video/s5p-fimc/mipi-csis.[ch] - - - video post-processor (mem-to-mem) - drivers/media/video/s5p-fimc/fimc-core.c - - - common files - drivers/media/video/s5p-fimc/fimc-core.h - drivers/media/video/s5p-fimc/fimc-reg.h - drivers/media/video/s5p-fimc/regs-fimc.h - -4. User space interfaces -======================== - -4.1. Media device interface - -The driver supports Media Controller API as defined at -http://http://linuxtv.org/downloads/v4l-dvb-apis/media_common.html -The media device driver name is "SAMSUNG S5P FIMC". - -The purpose of this interface is to allow changing assignment of FIMC instances -to the SoC peripheral camera input at runtime and optionally to control internal -connections of the MIPI-CSIS device(s) to the FIMC entities. - -The media device interface allows to configure the SoC for capturing image -data from the sensor through more than one FIMC instance (e.g. for simultaneous -viewfinder and still capture setup). -Reconfiguration is done by enabling/disabling media links created by the driver -during initialization. The internal device topology can be easily discovered -through media entity and links enumeration. - -4.2. Memory-to-memory video node - -V4L2 memory-to-memory interface at /dev/video? device node. This is standalone -video device, it has no media pads. However please note the mem-to-mem and -capture video node operation on same FIMC instance is not allowed. The driver -detects such cases but the applications should prevent them to avoid an -undefined behaviour. - -4.3. Capture video node - -The driver supports V4L2 Video Capture Interface as defined at: -http://linuxtv.org/downloads/v4l-dvb-apis/devices.html - -At the capture and mem-to-mem video nodes only the multi-planar API is -supported. For more details see: -http://linuxtv.org/downloads/v4l-dvb-apis/planar-apis.html - -4.4. Camera capture subdevs - -Each FIMC instance exports a sub-device node (/dev/v4l-subdev?), a sub-device -node is also created per each available and enabled at the platform level -MIPI-CSI receiver device (currently up to two). - -4.5. sysfs - -In order to enable more precise camera pipeline control through the sub-device -API the driver creates a sysfs entry associated with "s5p-fimc-md" platform -device. The entry path is: /sys/platform/devices/s5p-fimc-md/subdev_conf_mode. - -In typical use case there could be a following capture pipeline configuration: -sensor subdev -> mipi-csi subdev -> fimc subdev -> video node - -When we configure these devices through sub-device API at user space, the -configuration flow must be from left to right, and the video node is -configured as last one. -When we don't use sub-device user space API the whole configuration of all -devices belonging to the pipeline is done at the video node driver. -The sysfs entry allows to instruct the capture node driver not to configure -the sub-devices (format, crop), to avoid resetting the subdevs' configuration -when the last configuration steps at the video node is performed. - -For full sub-device control support (subdevs configured at user space before -starting streaming): -# echo "sub-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode - -For V4L2 video node control only (subdevs configured internally by the host -driver): -# echo "vid-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode -This is a default option. - -5. Device mapping to video and subdev device nodes -================================================== - -There are associated two video device nodes with each device instance in -hardware - video capture and mem-to-mem and additionally a subdev node for -more precise FIMC capture subsystem control. In addition a separate v4l2 -sub-device node is created per each MIPI-CSIS device. - -How to find out which /dev/video? or /dev/v4l-subdev? is assigned to which -device? - -You can either grep through the kernel log to find relevant information, i.e. -# dmesg | grep -i fimc -(note that udev, if present, might still have rearranged the video nodes), - -or retrieve the information from /dev/media? with help of the media-ctl tool: -# media-ctl -p - -6. Platform support -=================== - -The machine code (plat-s5p and arch/arm/mach-*) must select following options - -CONFIG_S5P_DEV_FIMC0 mandatory -CONFIG_S5P_DEV_FIMC1 \ -CONFIG_S5P_DEV_FIMC2 | optional -CONFIG_S5P_DEV_FIMC3 | -CONFIG_S5P_SETUP_FIMC / -CONFIG_S5P_SETUP_MIPIPHY \ -CONFIG_S5P_DEV_CSIS0 | optional for MIPI-CSI interface -CONFIG_S5P_DEV_CSIS1 / - -Except that, relevant s5p_device_fimc? should be registered in the machine code -in addition to a "s5p-fimc-md" platform device to which the media device driver -is bound. The "s5p-fimc-md" device instance is required even if only mem-to-mem -operation is used. - -The description of sensor(s) attached to FIMC/MIPI-CSIS camera inputs should be -passed as the "s5p-fimc-md" device platform_data. The platform data structure -is defined in file include/media/s5p_fimc.h. - -7. Build -======== - -This driver depends on following config options: -PLAT_S5P, -PM_RUNTIME, -I2C, -REGULATOR, -VIDEO_V4L2_SUBDEV_API, - -If the driver is built as a loadable kernel module (CONFIG_VIDEO_SAMSUNG_S5P_FIMC=m) -two modules are created (in addition to the core v4l2 modules): s5p-fimc.ko and -optional s5p-csis.ko (MIPI-CSI receiver subdev). diff --git a/trunk/Documentation/video4linux/gspca.txt b/trunk/Documentation/video4linux/gspca.txt index e6c2842407a4..f2060f0dc02c 100644 --- a/trunk/Documentation/video4linux/gspca.txt +++ b/trunk/Documentation/video4linux/gspca.txt @@ -217,7 +217,6 @@ ov534_9 06f8:3003 Hercules Dualpix HD Weblog sonixj 06f8:3004 Hercules Classic Silver sonixj 06f8:3008 Hercules Deluxe Optical Glass pac7302 06f8:3009 Hercules Classic Link -pac7302 06f8:301b Hercules Link nw80x 0728:d001 AVerMedia Camguard spca508 0733:0110 ViewQuest VQ110 spca501 0733:0401 Intel Create and Share diff --git a/trunk/Documentation/vm/cleancache.txt b/trunk/Documentation/vm/cleancache.txt index 142fbb0f325a..d5c615af10ba 100644 --- a/trunk/Documentation/vm/cleancache.txt +++ b/trunk/Documentation/vm/cleancache.txt @@ -46,11 +46,10 @@ a negative return value indicates failure. A "put_page" will copy a the pool id, a file key, and a page index into the file. (The combination of a pool id, a file key, and an index is sometimes called a "handle".) A "get_page" will copy the page, if found, from cleancache into kernel memory. -An "invalidate_page" will ensure the page no longer is present in cleancache; -an "invalidate_inode" will invalidate all pages associated with the specified -file; and, when a filesystem is unmounted, an "invalidate_fs" will invalidate -all pages in all files specified by the given pool id and also surrender -the pool id. +A "flush_page" will ensure the page no longer is present in cleancache; +a "flush_inode" will flush all pages associated with the specified file; +and, when a filesystem is unmounted, a "flush_fs" will flush all pages in +all files specified by the given pool id and also surrender the pool id. An "init_shared_fs", like init_fs, obtains a pool id but tells cleancache to treat the pool as shared using a 128-bit UUID as a key. On systems @@ -63,12 +62,12 @@ of the kernel (e.g. by "tools" that control cleancache). Or a cleancache implementation can simply disable shared_init by always returning a negative value. -If a get_page is successful on a non-shared pool, the page is invalidated -(thus making cleancache an "exclusive" cache). On a shared pool, the page -is NOT invalidated on a successful get_page so that it remains accessible to +If a get_page is successful on a non-shared pool, the page is flushed (thus +making cleancache an "exclusive" cache). On a shared pool, the page +is NOT flushed on a successful get_page so that it remains accessible to other sharers. The kernel is responsible for ensuring coherency between cleancache (shared or not), the page cache, and the filesystem, using -cleancache invalidate operations as required. +cleancache flush operations as required. Note that cleancache must enforce put-put-get coherency and get-get coherency. For the former, if two puts are made to the same handle but @@ -78,20 +77,20 @@ if a get for a given handle fails, subsequent gets for that handle will never succeed unless preceded by a successful put with that handle. Last, cleancache provides no SMP serialization guarantees; if two -different Linux threads are simultaneously putting and invalidating a page +different Linux threads are simultaneously putting and flushing a page with the same handle, the results are indeterminate. Callers must lock the page to ensure serial behavior. CLEANCACHE PERFORMANCE METRICS -If properly configured, monitoring of cleancache is done via debugfs in -the /sys/kernel/debug/mm/cleancache directory. The effectiveness of cleancache +Cleancache monitoring is done by sysfs files in the +/sys/kernel/mm/cleancache directory. The effectiveness of cleancache can be measured (across all filesystems) with: succ_gets - number of gets that were successful failed_gets - number of gets that failed puts - number of puts attempted (all "succeed") -invalidates - number of invalidates attempted +flushes - number of flushes attempted A backend implementation may provide additional metrics. @@ -144,7 +143,7 @@ systems. The core hooks for cleancache in VFS are in most cases a single line and the minimum set are placed precisely where needed to maintain -coherency (via cleancache_invalidate operations) between cleancache, +coherency (via cleancache_flush operations) between cleancache, the page cache, and disk. All hooks compile into nothingness if cleancache is config'ed off and turn into a function-pointer- compare-to-NULL if config'ed on but no backend claims the ops @@ -185,15 +184,15 @@ or for real kernel-addressable RAM, it makes perfect sense for transcendent memory. 4) Why is non-shared cleancache "exclusive"? And where is the - page "invalidated" after a "get"? (Minchan Kim) + page "flushed" after a "get"? (Minchan Kim) The main reason is to free up space in transcendent memory and -to avoid unnecessary cleancache_invalidate calls. If you want inclusive, +to avoid unnecessary cleancache_flush calls. If you want inclusive, the page can be "put" immediately following the "get". If put-after-get for inclusive becomes common, the interface could -be easily extended to add a "get_no_invalidate" call. +be easily extended to add a "get_no_flush" call. -The invalidate is done by the cleancache backend implementation. +The flush is done by the cleancache backend implementation. 5) What's the performance impact? @@ -223,7 +222,7 @@ Some points for a filesystem to consider: as tmpfs should not enable cleancache) - To ensure coherency/correctness, the FS must ensure that all file removal or truncation operations either go through VFS or - add hooks to do the equivalent cleancache "invalidate" operations + add hooks to do the equivalent cleancache "flush" operations - To ensure coherency/correctness, either inode numbers must be unique across the lifetime of the on-disk file OR the FS must provide an "encode_fh" function. @@ -244,11 +243,11 @@ If cleancache would use the inode virtual address instead of inode/filehandle, the pool id could be eliminated. But, this won't work because cleancache retains pagecache data pages persistently even when the inode has been pruned from the -inode unused list, and only invalidates the data page if the file +inode unused list, and only flushes the data page if the file gets removed/truncated. So if cleancache used the inode kva, there would be potential coherency issues if/when the inode kva is reused for a different file. Alternately, if cleancache -invalidated the pages when the inode kva was freed, much of the value +flushed the pages when the inode kva was freed, much of the value of cleancache would be lost because the cache of pages in cleanache is potentially much larger than the kernel pagecache and is most useful if the pages survive inode cache removal. diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index f47091abb8f7..58f60356f071 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -163,7 +163,7 @@ M: Greg Kroah-Hartman L: linux-serial@vger.kernel.org W: http://serial.sourceforge.net S: Maintained -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git F: drivers/tty/serial/8250* F: include/linux/serial_8250.h @@ -464,7 +464,6 @@ ALPHA PORT M: Richard Henderson M: Ivan Kokshaysky M: Matt Turner -S: Odd Fixes L: linux-alpha@vger.kernel.org F: arch/alpha/ @@ -504,7 +503,7 @@ F: arch/x86/include/asm/geode.h AMD IOMMU (AMD-VI) M: Joerg Roedel L: iommu@lists.linux-foundation.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git S: Supported F: drivers/iommu/amd_iommu*.[ch] F: include/linux/amd-iommu.h @@ -716,7 +715,6 @@ S: Maintained ARM/CLKDEV SUPPORT M: Russell King L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained F: arch/arm/include/asm/clkdev.h F: drivers/clk/clkdev.c @@ -1504,7 +1502,7 @@ F: drivers/i2c/busses/i2c-bfin-twi.c BLOCK LAYER M: Jens Axboe -T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git S: Maintained F: block/ @@ -1642,7 +1640,7 @@ BTTV VIDEO4LINUX DRIVER M: Mauro Carvalho Chehab L: linux-media@vger.kernel.org W: http://linuxtv.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: Documentation/video4linux/bttv/ F: drivers/media/video/bt8xx/bttv* @@ -1672,7 +1670,7 @@ F: fs/cachefiles/ CAFE CMOS INTEGRATED CAMERA CONTROLLER DRIVER M: Jonathan Corbet L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: Documentation/video4linux/cafe_ccic F: drivers/media/video/marvell-ccic/ @@ -1834,16 +1832,8 @@ L: alsa-devel@alsa-project.org (moderated for non-subscribers) S: Supported F: sound/soc/codecs/cs4270* -CLEANCACHE API -M: Konrad Rzeszutek Wilk -L: linux-kernel@vger.kernel.org -S: Maintained -F: mm/cleancache.c -F: include/linux/cleancache.h - CLK API M: Russell King -S: Maintained F: include/linux/clk.h CISCO FCOE HBA DRIVER @@ -2039,7 +2029,7 @@ CX18 VIDEO4LINUX DRIVER M: Andy Walls L: ivtv-devel@ivtvdriver.org (moderated for non-subscribers) L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://linuxtv.org W: http://www.ivtvdriver.org/index.php/Cx18 S: Maintained @@ -2112,13 +2102,6 @@ W: http://www.cyclades.com/ S: Orphan F: drivers/net/wan/pc300* -CYTTSP TOUCHSCREEN DRIVER -M: Javier Martinez Canillas -L: linux-input@vger.kernel.org -S: Maintained -F: drivers/input/touchscreen/cyttsp* -F: include/linux/input/cyttsp.h - DAMA SLAVE for AX.25 M: Joerg Reuter W: http://yaina.de/jreuter/ @@ -2260,15 +2243,6 @@ F: Documentation/filesystems/quota.txt F: fs/quota/ F: include/linux/quota*.h -DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB) -M: Bernie Thompson -L: linux-fbdev@vger.kernel.org -S: Maintained -W: http://plugable.com/category/projects/udlfb/ -F: drivers/video/udlfb.c -F: include/video/udlfb.h -F: Documentation/fb/udlfb.txt - DISTRIBUTED LOCK MANAGER (DLM) M: Christine Caulfield M: David Teigland @@ -2353,7 +2327,7 @@ F: Documentation/blockdev/drbd/ DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS M: Greg Kroah-Hartman -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6.git S: Supported F: Documentation/kobject.txt F: drivers/base/ @@ -2375,7 +2349,7 @@ INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets) M: Keith Packard L: intel-gfx@lists.freedesktop.org (subscribers-only) L: dri-devel@lists.freedesktop.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6.git S: Supported F: drivers/gpu/drm/i915 F: include/drm/i915* @@ -2390,6 +2364,15 @@ S: Supported F: drivers/gpu/drm/exynos F: include/drm/exynos* +EXYNOS MIPI DISPLAY DRIVERS +M: Inki Dae +M: Donghwa Lee +M: Kyungmin Park +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/exynos/exynos_mipi* +F: include/video/exynos_mipi* + DSCC4 DRIVER M: Francois Romieu L: netdev@vger.kernel.org @@ -2670,21 +2653,6 @@ M: Mimi Zohar S: Supported F: security/integrity/evm/ -EXYNOS DP DRIVER -M: Jingoo Han -L: linux-fbdev@vger.kernel.org -S: Maintained -F: drivers/video/exynos/exynos_dp* - -EXYNOS MIPI DISPLAY DRIVERS -M: Inki Dae -M: Donghwa Lee -M: Kyungmin Park -L: linux-fbdev@vger.kernel.org -S: Maintained -F: drivers/video/exynos/exynos_mipi* -F: include/video/exynos_mipi* - F71805F HARDWARE MONITORING DRIVER M: Jean Delvare L: lm-sensors@lm-sensors.org @@ -2969,8 +2937,8 @@ GFS2 FILE SYSTEM M: Steven Whitehouse L: cluster-devel@redhat.com W: http://sources.redhat.com/cluster/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git -T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git S: Supported F: Documentation/filesystems/gfs2*.txt F: fs/gfs2/ @@ -3011,42 +2979,42 @@ F: drivers/net/ethernet/aeroflex/ GSPCA FINEPIX SUBDRIVER M: Frank Zago L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/finepix.c GSPCA GL860 SUBDRIVER M: Olivier Lorin L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/gl860/ GSPCA M5602 SUBDRIVER M: Erik Andren L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/m5602/ GSPCA PAC207 SONIXB SUBDRIVER M: Hans de Goede L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/pac207.c GSPCA SN9C20X SUBDRIVER M: Brian Johnson L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/sn9c20x.c GSPCA T613 SUBDRIVER M: Leandro Costantino L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/t613.c @@ -3054,7 +3022,7 @@ GSPCA USB WEBCAM DRIVER M: Jean-Francois Moine W: http://moinejf.free.fr L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/gspca/ @@ -3340,7 +3308,7 @@ IDE SUBSYSTEM M: "David S. Miller" L: linux-ide@vger.kernel.org Q: http://patchwork.ozlabs.org/project/linux-ide/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6.git S: Maintained F: Documentation/ide/ F: drivers/ide/ @@ -3452,7 +3420,7 @@ F: firmware/isci/ INTEL IDLE DRIVER M: Len Brown L: linux-pm@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6.git S: Supported F: drivers/idle/intel_idle.c @@ -3759,7 +3727,7 @@ IVTV VIDEO4LINUX DRIVER M: Andy Walls L: ivtv-devel@ivtvdriver.org (moderated for non-subscribers) L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://www.ivtvdriver.org S: Maintained F: Documentation/video4linux/*.ivtv @@ -3855,8 +3823,8 @@ F: fs/autofs4/ KERNEL BUILD + files below scripts/ (unless maintained elsewhere) M: Michal Marek -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git for-next +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git rc-fixes L: linux-kbuild@vger.kernel.org S: Maintained F: Documentation/kbuild/ @@ -4236,14 +4204,12 @@ F: Documentation/hwmon/ltc4261 F: drivers/hwmon/ltc4261.c LTP (Linux Test Project) -M: Shubham Goyal +M: Rishikesh K Rajak +M: Garrett Cooper M: Mike Frysinger -M: Cyril Hrubis -M: Caspar Zhang -M: Wanlong Gao +M: Subrata Modak L: ltp-list@lists.sourceforge.net (subscribers-only) W: http://ltp.sourceforge.net/ -T: git git://github.com/linux-test-project/ltp.git T: git git://ltp.git.sourceforge.net/gitroot/ltp/ltp-dev S: Maintained @@ -4281,7 +4247,7 @@ MAC80211 M: Johannes Berg L: linux-wireless@vger.kernel.org W: http://linuxwireless.org/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git S: Maintained F: Documentation/networking/mac80211-injection.txt F: include/net/mac80211.h @@ -4292,7 +4258,7 @@ M: Stefano Brivio M: Mattias Nissler L: linux-wireless@vger.kernel.org W: http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/PID -T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git S: Maintained F: net/mac80211/rc80211_pid* @@ -4364,7 +4330,7 @@ P: LinuxTV.org Project L: linux-media@vger.kernel.org W: http://linuxtv.org Q: http://patchwork.kernel.org/project/linux-media/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: Documentation/dvb/ F: Documentation/video4linux/ @@ -4421,13 +4387,6 @@ T: git git://git.monstr.eu/linux-2.6-microblaze.git S: Supported F: arch/microblaze/ -MICROCHANNEL ARCHITECTURE (MCA) -M: James Bottomley -S: Maintained -F: Documentation/mca.txt -F: drivers/mca/ -F: include/linux/mca* - MICROTEK X6 SCANNER M: Oliver Neukum S: Maintained @@ -4443,6 +4402,14 @@ S: Supported F: Documentation/mips/ F: arch/mips/ +MISCELLANEOUS MCA-SUPPORT +M: James Bottomley +S: Maintained +F: Documentation/ia64/mca.txt +F: Documentation/mca.txt +F: drivers/mca/ +F: include/linux/mca* + MODULE SUPPORT M: Rusty Russell S: Maintained @@ -4650,7 +4617,7 @@ M: James Morris M: Hideaki YOSHIFUJI M: Patrick McHardy L: netdev@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git S: Maintained F: net/ipv4/ F: net/ipv6/ @@ -4666,7 +4633,7 @@ NETWORKING [WIRELESS] M: "John W. Linville" L: linux-wireless@vger.kernel.org Q: http://patchwork.kernel.org/project/linux-wireless/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git S: Maintained F: net/mac80211/ F: net/rfkill/ @@ -4679,8 +4646,8 @@ F: drivers/net/wireless/ NETWORKING DRIVERS L: netdev@vger.kernel.org W: http://www.linuxfoundation.org/en/Net -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git S: Odd Fixes F: drivers/net/ F: include/linux/if_* @@ -4896,7 +4863,7 @@ F: drivers/char/pcmcia/cm4040_cs.* OMNIVISION OV7670 SENSOR DRIVER M: Jonathan Corbet L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: drivers/media/video/ov7670.c @@ -5071,7 +5038,7 @@ M: Helge Deller L: linux-parisc@vger.kernel.org W: http://www.parisc-linux.org/ Q: http://patchwork.kernel.org/project/linux-parisc/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git S: Maintained F: arch/parisc/ F: drivers/parisc/ @@ -5124,17 +5091,17 @@ F: Documentation/PCI/pci-error-recovery.txt F: Documentation/powerpc/eeh-pci-error-recovery.txt PCI SUBSYSTEM -M: Bjorn Helgaas +M: Jesse Barnes L: linux-pci@vger.kernel.org Q: http://patchwork.kernel.org/project/linux-pci/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git S: Supported F: Documentation/PCI/ F: drivers/pci/ F: include/linux/pci* PCI HOTPLUG -M: Bjorn Helgaas +M: Jesse Barnes L: linux-pci@vger.kernel.org S: Supported F: drivers/pci/hotplug @@ -5412,7 +5379,7 @@ M: Mike Isely L: pvrusb2@isely.net (subscribers-only) L: linux-media@vger.kernel.org W: http://www.isely.net/pvrusb2/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: Documentation/video4linux/README.pvrusb2 F: drivers/media/video/pvrusb2/ @@ -5578,7 +5545,7 @@ RCUTORTURE MODULE M: Josh Triplett M: "Paul E. McKenney" S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git F: Documentation/RCU/torture.txt F: kernel/rcutorture.c @@ -5603,7 +5570,7 @@ M: Dipankar Sarma M: "Paul E. McKenney" W: http://www.rdrop.com/users/paulmck/rclock/ S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git F: Documentation/RCU/ F: include/linux/rcu* F: include/linux/srcu* @@ -5757,7 +5724,7 @@ F: drivers/mmc/host/s3cmci.* SAA7146 VIDEO4LINUX-2 DRIVER M: Michael Hunold L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://www.mihu.de/linux/saa7146 S: Maintained F: drivers/media/common/saa7146* @@ -6180,7 +6147,7 @@ F: arch/ia64/sn/ SOC-CAMERA V4L2 SUBSYSTEM M: Guennadi Liakhovetski L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git S: Maintained F: include/media/v4l2* F: drivers/media/video/v4l2* @@ -6252,8 +6219,8 @@ SPARC + UltraSPARC (sparc/sparc64) M: "David S. Miller" L: sparclinux@vger.kernel.org Q: http://patchwork.ozlabs.org/project/sparclinux/list/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc.git -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git S: Maintained F: arch/sparc/ F: drivers/sbus/ @@ -6261,8 +6228,8 @@ F: drivers/sbus/ SPARC SERIAL DRIVERS M: "David S. Miller" L: sparclinux@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc.git -T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git S: Maintained F: include/linux/sunserialcore.h F: drivers/tty/serial/suncore.c @@ -6567,7 +6534,7 @@ L: linux-scsi@vger.kernel.org L: target-devel@vger.kernel.org L: http://groups.google.com/group/linux-iscsi-target-dev W: http://www.linux-iscsi.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/lio-core.git master +T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/lio-core-2.6.git master S: Supported F: drivers/target/ F: include/target/ @@ -6758,7 +6725,7 @@ K: ^Subject:.*(?i)trivial TTY LAYER M: Greg Kroah-Hartman S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git F: drivers/tty/ F: drivers/tty/serial/serial_core.c F: include/linux/serial_core.h @@ -6926,7 +6893,7 @@ USB ET61X[12]51 DRIVER M: Luca Risolia L: linux-usb@vger.kernel.org L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://www.linux-projects.org S: Maintained F: drivers/media/video/et61x251/ @@ -7082,7 +7049,7 @@ USB SN9C1xx DRIVER M: Luca Risolia L: linux-usb@vger.kernel.org L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://www.linux-projects.org S: Maintained F: Documentation/video4linux/sn9c102.txt @@ -7092,7 +7059,7 @@ USB SUBSYSTEM M: Greg Kroah-Hartman L: linux-usb@vger.kernel.org W: http://www.linux-usb.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git S: Supported F: Documentation/usb/ F: drivers/net/usb/ @@ -7118,7 +7085,7 @@ USB VIDEO CLASS M: Laurent Pinchart L: linux-uvc-devel@lists.berlios.de (subscribers-only) L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://www.ideasonboard.org/uvc/ S: Maintained F: drivers/media/video/uvc/ @@ -7127,7 +7094,7 @@ USB W996[87]CF DRIVER M: Luca Risolia L: linux-usb@vger.kernel.org L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://www.linux-projects.org S: Maintained F: Documentation/video4linux/w9968cf.txt @@ -7156,7 +7123,7 @@ USB ZR364XX DRIVER M: Antoine Jacquet L: linux-usb@vger.kernel.org L: linux-media@vger.kernel.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git W: http://royale.zerezo.com/zr364xx/ S: Maintained F: Documentation/video4linux/zr364xx.txt @@ -7306,7 +7273,7 @@ M: Liam Girdwood M: Mark Brown W: http://opensource.wolfsonmicro.com/node/15 W: http://www.slimlogic.co.uk/?p=48 -T: git git://git.kernel.org/pub/scm/linux/kernel/git/lrg/regulator.git +T: git git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6.git S: Supported F: drivers/regulator/ F: include/linux/regulator/ diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index a6f14f622d13..5b448a74d0f7 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -120,9 +120,6 @@ config HAVE_KRETPROBES config HAVE_OPTPROBES bool - -config HAVE_NMI_WATCHDOG - bool # # An arch should select this if it provides all these things: # diff --git a/trunk/arch/alpha/include/asm/mman.h b/trunk/arch/alpha/include/asm/mman.h index cbeb3616a28e..72db984f8781 100644 --- a/trunk/arch/alpha/include/asm/mman.h +++ b/trunk/arch/alpha/include/asm/mman.h @@ -56,10 +56,6 @@ #define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ #define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ -#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, - overrides the coredump filter bits */ -#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ - /* compatibility flags */ #define MAP_FILE 0 diff --git a/trunk/arch/alpha/include/asm/pci.h b/trunk/arch/alpha/include/asm/pci.h index d01afb78919c..28d0497fd3c7 100644 --- a/trunk/arch/alpha/include/asm/pci.h +++ b/trunk/arch/alpha/include/asm/pci.h @@ -7,7 +7,6 @@ #include #include #include -#include /* * The following structure is used to manage multiple PCI busses. @@ -100,6 +99,12 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) return channel ? 15 : 14; } +extern void pcibios_resource_to_bus(struct pci_dev *, struct pci_bus_region *, + struct resource *); + +extern void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, + struct pci_bus_region *region); + #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index static inline int pci_proc_domain(struct pci_bus *bus) diff --git a/trunk/arch/alpha/kernel/pci.c b/trunk/arch/alpha/kernel/pci.c index 1a629636cc16..8c723c1b086a 100644 --- a/trunk/arch/alpha/kernel/pci.c +++ b/trunk/arch/alpha/kernel/pci.c @@ -43,10 +43,12 @@ const char *const pci_mem_names[] = { const char pci_hae0_name[] = "HAE0"; +/* Indicate whether we respect the PCI setup left by console. */ /* - * If PCI_PROBE_ONLY in pci_flags is set, we don't change any PCI resource - * assignments. + * Make this long-lived so that we know when shutting down + * whether we probed only or not. */ +int pci_probe_only; /* * The PCI controller list. @@ -213,7 +215,7 @@ pdev_save_srm_config(struct pci_dev *dev) struct pdev_srm_saved_conf *tmp; static int printed = 0; - if (!alpha_using_srm || pci_has_flag(PCI_PROBE_ONLY)) + if (!alpha_using_srm || pci_probe_only) return; if (!printed) { @@ -240,7 +242,7 @@ pci_restore_srm_config(void) struct pdev_srm_saved_conf *tmp; /* No need to restore if probed only. */ - if (pci_has_flag(PCI_PROBE_ONLY)) + if (pci_probe_only) return; /* Restore SRM config. */ @@ -250,18 +252,47 @@ pci_restore_srm_config(void) } #endif +void __devinit +pcibios_fixup_resource(struct resource *res, struct resource *root) +{ + res->start += root->start; + res->end += root->start; +} + +void __devinit +pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus) +{ + /* Update device resources. */ + struct pci_controller *hose = (struct pci_controller *)bus->sysdata; + int i; + + for (i = 0; i < PCI_NUM_RESOURCES; i++) { + if (!dev->resource[i].start) + continue; + if (dev->resource[i].flags & IORESOURCE_IO) + pcibios_fixup_resource(&dev->resource[i], + hose->io_space); + else if (dev->resource[i].flags & IORESOURCE_MEM) + pcibios_fixup_resource(&dev->resource[i], + hose->mem_space); + } +} + void __devinit pcibios_fixup_bus(struct pci_bus *bus) { struct pci_dev *dev = bus->self; - if (pci_has_flag(PCI_PROBE_ONLY) && dev && + if (pci_probe_only && dev && (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) { pci_read_bridge_bases(bus); + pcibios_fixup_device_resources(dev, bus); } list_for_each_entry(dev, &bus->devices, bus_list) { pdev_save_srm_config(dev); + if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI) + pcibios_fixup_device_resources(dev, bus); } } @@ -271,6 +302,42 @@ pcibios_update_irq(struct pci_dev *dev, int irq) pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); } +void +pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, + struct resource *res) +{ + struct pci_controller *hose = (struct pci_controller *)dev->sysdata; + unsigned long offset = 0; + + if (res->flags & IORESOURCE_IO) + offset = hose->io_space->start; + else if (res->flags & IORESOURCE_MEM) + offset = hose->mem_space->start; + + region->start = res->start - offset; + region->end = res->end - offset; +} + +void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, + struct pci_bus_region *region) +{ + struct pci_controller *hose = (struct pci_controller *)dev->sysdata; + unsigned long offset = 0; + + if (res->flags & IORESOURCE_IO) + offset = hose->io_space->start; + else if (res->flags & IORESOURCE_MEM) + offset = hose->mem_space->start; + + res->start = region->start + offset; + res->end = region->end + offset; +} + +#ifdef CONFIG_HOTPLUG +EXPORT_SYMBOL(pcibios_resource_to_bus); +EXPORT_SYMBOL(pcibios_bus_to_resource); +#endif + int pcibios_enable_device(struct pci_dev *dev, int mask) { @@ -307,8 +374,7 @@ pcibios_claim_one_bus(struct pci_bus *b) if (r->parent || !r->start || !r->flags) continue; - if (pci_has_flag(PCI_PROBE_ONLY) || - (r->flags & IORESOURCE_PCI_FIXED)) + if (pci_probe_only || (r->flags & IORESOURCE_PCI_FIXED)) pci_claim_resource(dev, i); } } @@ -350,10 +416,8 @@ common_init_pci(void) hose->mem_space->end = end; INIT_LIST_HEAD(&resources); - pci_add_resource_offset(&resources, hose->io_space, - hose->io_space->start); - pci_add_resource_offset(&resources, hose->mem_space, - hose->mem_space->start); + pci_add_resource(&resources, hose->io_space); + pci_add_resource(&resources, hose->mem_space); bus = pci_scan_root_bus(NULL, next_busno, alpha_mv.pci_ops, hose, &resources); diff --git a/trunk/arch/alpha/kernel/pci_impl.h b/trunk/arch/alpha/kernel/pci_impl.h index 2b0ac429f5eb..85457b2d4516 100644 --- a/trunk/arch/alpha/kernel/pci_impl.h +++ b/trunk/arch/alpha/kernel/pci_impl.h @@ -173,6 +173,9 @@ extern void pci_restore_srm_config(void); extern struct pci_controller *hose_head, **hose_tail; extern struct pci_controller *pci_isa_hose; +/* Indicate that we trust the console to configure things properly. */ +extern int pci_probe_only; + extern unsigned long alpha_agpgart_size; extern void common_init_pci(void); diff --git a/trunk/arch/alpha/kernel/sys_marvel.c b/trunk/arch/alpha/kernel/sys_marvel.c index fc8b12508611..95cfc83ece8f 100644 --- a/trunk/arch/alpha/kernel/sys_marvel.c +++ b/trunk/arch/alpha/kernel/sys_marvel.c @@ -384,8 +384,7 @@ marvel_init_pci(void) marvel_register_error_handlers(); - /* Indicate that we trust the console to configure things properly */ - pci_set_flags(PCI_PROBE_ONLY); + pci_probe_only = 1; common_init_pci(); locate_and_init_vga(NULL); diff --git a/trunk/arch/alpha/kernel/sys_titan.c b/trunk/arch/alpha/kernel/sys_titan.c index b8eafa053539..f47b30a2a117 100644 --- a/trunk/arch/alpha/kernel/sys_titan.c +++ b/trunk/arch/alpha/kernel/sys_titan.c @@ -331,8 +331,7 @@ titan_init_pci(void) */ titan_late_init(); - /* Indicate that we trust the console to configure things properly */ - pci_set_flags(PCI_PROBE_ONLY); + pci_probe_only = 1; common_init_pci(); SMC669_Init(0); locate_and_init_vga(NULL); diff --git a/trunk/arch/arm/common/it8152.c b/trunk/arch/arm/common/it8152.c index dcb13494ca0d..fb1f1cfce60c 100644 --- a/trunk/arch/arm/common/it8152.c +++ b/trunk/arch/arm/common/it8152.c @@ -299,8 +299,8 @@ int __init it8152_pci_setup(int nr, struct pci_sys_data *sys) goto err1; } - pci_add_resource_offset(&sys->resources, &it8152_io, sys->io_offset); - pci_add_resource_offset(&sys->resources, &it8152_mem, sys->mem_offset); + pci_add_resource(&sys->resources, &it8152_io); + pci_add_resource(&sys->resources, &it8152_mem); if (platform_notify || platform_notify_remove) { printk(KERN_ERR "PCI: Can't use platform_notify\n"); diff --git a/trunk/arch/arm/include/asm/pci.h b/trunk/arch/arm/include/asm/pci.h index a98a2e112fae..da337ba57ffd 100644 --- a/trunk/arch/arm/include/asm/pci.h +++ b/trunk/arch/arm/include/asm/pci.h @@ -57,6 +57,14 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev, extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, enum pci_mmap_state mmap_state, int write_combine); +extern void +pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, + struct resource *res); + +extern void +pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, + struct pci_bus_region *region); + /* * Dummy implementation; always return 0. */ diff --git a/trunk/arch/arm/include/asm/pgtable-nommu.h b/trunk/arch/arm/include/asm/pgtable-nommu.h index 7ec60d6075bf..ffc0e85775b4 100644 --- a/trunk/arch/arm/include/asm/pgtable-nommu.h +++ b/trunk/arch/arm/include/asm/pgtable-nommu.h @@ -79,6 +79,7 @@ extern unsigned int kobjsize(const void *objp); * No page table caches to initialise. */ #define pgtable_cache_init() do { } while (0) +#define io_remap_page_range remap_page_range #define io_remap_pfn_range remap_pfn_range diff --git a/trunk/arch/arm/kernel/bios32.c b/trunk/arch/arm/kernel/bios32.c index 632df9a66f8c..f58ba3589908 100644 --- a/trunk/arch/arm/kernel/bios32.c +++ b/trunk/arch/arm/kernel/bios32.c @@ -16,6 +16,7 @@ #include static int debug_pci; +static int use_firmware; /* * We can't use pci_find_device() here since we are @@ -293,6 +294,28 @@ static inline int pdev_bad_for_parity(struct pci_dev *dev) } +/* + * Adjust the device resources from bus-centric to Linux-centric. + */ +static void __devinit +pdev_fixup_device_resources(struct pci_sys_data *root, struct pci_dev *dev) +{ + resource_size_t offset; + int i; + + for (i = 0; i < PCI_NUM_RESOURCES; i++) { + if (dev->resource[i].start == 0) + continue; + if (dev->resource[i].flags & IORESOURCE_MEM) + offset = root->mem_offset; + else + offset = root->io_offset; + + dev->resource[i].start += offset; + dev->resource[i].end += offset; + } +} + /* * pcibios_fixup_bus - Called after each bus is probed, * but before its children are examined. @@ -310,6 +333,8 @@ void pcibios_fixup_bus(struct pci_bus *bus) list_for_each_entry(dev, &bus->devices, bus_list) { u16 status; + pdev_fixup_device_resources(root, dev); + pci_read_config_word(dev, PCI_STATUS, &status); /* @@ -374,6 +399,43 @@ void pcibios_fixup_bus(struct pci_bus *bus) EXPORT_SYMBOL(pcibios_fixup_bus); #endif +/* + * Convert from Linux-centric to bus-centric addresses for bridge devices. + */ +void +pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, + struct resource *res) +{ + struct pci_sys_data *root = dev->sysdata; + unsigned long offset = 0; + + if (res->flags & IORESOURCE_IO) + offset = root->io_offset; + if (res->flags & IORESOURCE_MEM) + offset = root->mem_offset; + + region->start = res->start - offset; + region->end = res->end - offset; +} +EXPORT_SYMBOL(pcibios_resource_to_bus); + +void __devinit +pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, + struct pci_bus_region *region) +{ + struct pci_sys_data *root = dev->sysdata; + unsigned long offset = 0; + + if (res->flags & IORESOURCE_IO) + offset = root->io_offset; + if (res->flags & IORESOURCE_MEM) + offset = root->mem_offset; + + res->start = region->start + offset; + res->end = region->end + offset; +} +EXPORT_SYMBOL(pcibios_bus_to_resource); + /* * Swizzle the device pin each time we cross a bridge. * This might update pin and returns the slot number. @@ -435,10 +497,10 @@ static void __init pcibios_init_hw(struct hw_pci *hw) if (ret > 0) { if (list_empty(&sys->resources)) { - pci_add_resource_offset(&sys->resources, - &ioport_resource, sys->io_offset); - pci_add_resource_offset(&sys->resources, - &iomem_resource, sys->mem_offset); + pci_add_resource(&sys->resources, + &ioport_resource); + pci_add_resource(&sys->resources, + &iomem_resource); } sys->bus = hw->scan(nr, sys); @@ -463,7 +525,6 @@ void __init pci_common_init(struct hw_pci *hw) INIT_LIST_HEAD(&hw->buses); - pci_add_flags(PCI_REASSIGN_ALL_RSRC); if (hw->preinit) hw->preinit(); pcibios_init_hw(hw); @@ -475,7 +536,7 @@ void __init pci_common_init(struct hw_pci *hw) list_for_each_entry(sys, &hw->buses, node) { struct pci_bus *bus = sys->bus; - if (!pci_has_flag(PCI_PROBE_ONLY)) { + if (!use_firmware) { /* * Size the bridge windows. */ @@ -512,7 +573,7 @@ char * __init pcibios_setup(char *str) debug_pci = 1; return NULL; } else if (!strcmp(str, "firmware")) { - pci_add_flags(PCI_PROBE_ONLY); + use_firmware = 1; return NULL; } return str; diff --git a/trunk/arch/arm/kernel/process.c b/trunk/arch/arm/kernel/process.c index 219e4efee1a6..c2ae3cd331fe 100644 --- a/trunk/arch/arm/kernel/process.c +++ b/trunk/arch/arm/kernel/process.c @@ -533,7 +533,8 @@ int vectors_user_mapping(void) struct mm_struct *mm = current->mm; return install_special_mapping(mm, 0xffff0000, PAGE_SIZE, VM_READ | VM_EXEC | - VM_MAYREAD | VM_MAYEXEC | VM_RESERVED, + VM_MAYREAD | VM_MAYEXEC | + VM_ALWAYSDUMP | VM_RESERVED, NULL); } diff --git a/trunk/arch/arm/mach-cns3xxx/pcie.c b/trunk/arch/arm/mach-cns3xxx/pcie.c index 79d001f831e0..e159d69967c9 100644 --- a/trunk/arch/arm/mach-cns3xxx/pcie.c +++ b/trunk/arch/arm/mach-cns3xxx/pcie.c @@ -155,8 +155,8 @@ static int cns3xxx_pci_setup(int nr, struct pci_sys_data *sys) BUG_ON(request_resource(&iomem_resource, res_io) || request_resource(&iomem_resource, res_mem)); - pci_add_resource_offset(&sys->resources, res_io, sys->io_offset); - pci_add_resource_offset(&sys->resources, res_mem, sys->mem_offset); + pci_add_resource(&sys->resources, res_io); + pci_add_resource(&sys->resources, res_mem); return 1; } diff --git a/trunk/arch/arm/mach-dove/pcie.c b/trunk/arch/arm/mach-dove/pcie.c index 48a032005ea3..52e96d397ba8 100644 --- a/trunk/arch/arm/mach-dove/pcie.c +++ b/trunk/arch/arm/mach-dove/pcie.c @@ -69,7 +69,7 @@ static int __init dove_pcie_setup(int nr, struct pci_sys_data *sys) pp->res[0].flags = IORESOURCE_IO; if (request_resource(&ioport_resource, &pp->res[0])) panic("Request PCIe IO resource failed\n"); - pci_add_resource_offset(&sys->resources, &pp->res[0], sys->io_offset); + pci_add_resource(&sys->resources, &pp->res[0]); /* * IORESOURCE_MEM @@ -88,7 +88,7 @@ static int __init dove_pcie_setup(int nr, struct pci_sys_data *sys) pp->res[1].flags = IORESOURCE_MEM; if (request_resource(&iomem_resource, &pp->res[1])) panic("Request PCIe Memory resource failed\n"); - pci_add_resource_offset(&sys->resources, &pp->res[1], sys->mem_offset); + pci_add_resource(&sys->resources, &pp->res[1]); return 1; } diff --git a/trunk/arch/arm/mach-ep93xx/core.c b/trunk/arch/arm/mach-ep93xx/core.c index b5c1dae8327f..24203f9a6796 100644 --- a/trunk/arch/arm/mach-ep93xx/core.c +++ b/trunk/arch/arm/mach-ep93xx/core.c @@ -817,12 +817,23 @@ void __init ep93xx_register_i2s(void) #define EP93XX_I2SCLKDIV_MASK (EP93XX_SYSCON_I2SCLKDIV_ORIDE | \ EP93XX_SYSCON_I2SCLKDIV_SPOL) -int ep93xx_i2s_acquire(void) +int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config) { unsigned val; - ep93xx_devcfg_set_clear(EP93XX_SYSCON_DEVCFG_I2SONAC97, - EP93XX_SYSCON_DEVCFG_I2S_MASK); + /* Sanity check */ + if (i2s_pins & ~EP93XX_SYSCON_DEVCFG_I2S_MASK) + return -EINVAL; + if (i2s_config & ~EP93XX_I2SCLKDIV_MASK) + return -EINVAL; + + /* Must have only one of I2SONSSP/I2SONAC97 set */ + if ((i2s_pins & EP93XX_SYSCON_DEVCFG_I2SONSSP) == + (i2s_pins & EP93XX_SYSCON_DEVCFG_I2SONAC97)) + return -EINVAL; + + ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_I2S_MASK); + ep93xx_devcfg_set_bits(i2s_pins); /* * This is potentially racy with the clock api for i2s_mclk, sclk and @@ -832,7 +843,7 @@ int ep93xx_i2s_acquire(void) */ val = __raw_readl(EP93XX_SYSCON_I2SCLKDIV); val &= ~EP93XX_I2SCLKDIV_MASK; - val |= EP93XX_SYSCON_I2SCLKDIV_ORIDE | EP93XX_SYSCON_I2SCLKDIV_SPOL; + val |= i2s_config; ep93xx_syscon_swlocked_write(val, EP93XX_SYSCON_I2SCLKDIV); return 0; diff --git a/trunk/arch/arm/mach-ep93xx/include/mach/platform.h b/trunk/arch/arm/mach-ep93xx/include/mach/platform.h index ad63d4be693f..d4c934931f9d 100644 --- a/trunk/arch/arm/mach-ep93xx/include/mach/platform.h +++ b/trunk/arch/arm/mach-ep93xx/include/mach/platform.h @@ -59,7 +59,7 @@ void ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data); int ep93xx_keypad_acquire_gpio(struct platform_device *pdev); void ep93xx_keypad_release_gpio(struct platform_device *pdev); void ep93xx_register_i2s(void); -int ep93xx_i2s_acquire(void); +int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config); void ep93xx_i2s_release(void); void ep93xx_register_ac97(void); diff --git a/trunk/arch/arm/mach-footbridge/dc21285.c b/trunk/arch/arm/mach-footbridge/dc21285.c index 3194d3f73503..f685650c25d7 100644 --- a/trunk/arch/arm/mach-footbridge/dc21285.c +++ b/trunk/arch/arm/mach-footbridge/dc21285.c @@ -275,13 +275,11 @@ int __init dc21285_setup(int nr, struct pci_sys_data *sys) allocate_resource(&iomem_resource, &res[0], 0x40000000, 0x80000000, 0xffffffff, 0x40000000, NULL, NULL); + pci_add_resource(&sys->resources, &ioport_resource); + pci_add_resource(&sys->resources, &res[0]); + pci_add_resource(&sys->resources, &res[1]); sys->mem_offset = DC21285_PCI_MEM; - pci_add_resource_offset(&sys->resources, - &ioport_resource, sys->io_offset); - pci_add_resource_offset(&sys->resources, &res[0], sys->mem_offset); - pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); - return 1; } diff --git a/trunk/arch/arm/mach-imx/Kconfig b/trunk/arch/arm/mach-imx/Kconfig index 3919fba52ac8..4defb97bbfc8 100644 --- a/trunk/arch/arm/mach-imx/Kconfig +++ b/trunk/arch/arm/mach-imx/Kconfig @@ -46,6 +46,7 @@ config SOC_IMX21 bool select MACH_MX21 select CPU_ARM926T + select ARCH_MXC_AUDMUX_V1 select IMX_HAVE_DMA_V1 select IMX_HAVE_IOMUX_V1 select MXC_AVIC @@ -54,6 +55,7 @@ config SOC_IMX25 bool select ARCH_MX25 select CPU_ARM926T + select ARCH_MXC_AUDMUX_V2 select ARCH_MXC_IOMUX_V3 select MXC_AVIC @@ -61,6 +63,7 @@ config SOC_IMX27 bool select MACH_MX27 select CPU_ARM926T + select ARCH_MXC_AUDMUX_V1 select IMX_HAVE_DMA_V1 select IMX_HAVE_IOMUX_V1 select MXC_AVIC @@ -69,6 +72,7 @@ config SOC_IMX31 bool select CPU_V6 select IMX_HAVE_PLATFORM_MXC_RNGA + select ARCH_MXC_AUDMUX_V2 select MXC_AVIC select SMP_ON_UP if SMP @@ -76,6 +80,7 @@ config SOC_IMX35 bool select CPU_V6 select ARCH_MXC_IOMUX_V3 + select ARCH_MXC_AUDMUX_V2 select HAVE_EPIT select MXC_AVIC select SMP_ON_UP if SMP @@ -84,6 +89,7 @@ config SOC_IMX5 select CPU_V7 select MXC_TZIC select ARCH_MXC_IOMUX_V3 + select ARCH_MXC_AUDMUX_V2 select ARCH_HAS_CPUFREQ select ARCH_MX5 bool diff --git a/trunk/arch/arm/mach-imx/clock-imx27.c b/trunk/arch/arm/mach-imx/clock-imx27.c index dc2d7a511d9b..88fe00a146e3 100644 --- a/trunk/arch/arm/mach-imx/clock-imx27.c +++ b/trunk/arch/arm/mach-imx/clock-imx27.c @@ -661,7 +661,7 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK(NULL, "dma", dma_clk) _REGISTER_CLOCK(NULL, "rtic", rtic_clk) _REGISTER_CLOCK(NULL, "brom", brom_clk) - _REGISTER_CLOCK("m2m-emmaprp.0", NULL, emma_clk) + _REGISTER_CLOCK(NULL, "emma", emma_clk) _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) _REGISTER_CLOCK(NULL, "emi", emi_clk) diff --git a/trunk/arch/arm/mach-imx/devices-imx27.h b/trunk/arch/arm/mach-imx/devices-imx27.h index 28537a5d9048..2f727d7c380c 100644 --- a/trunk/arch/arm/mach-imx/devices-imx27.h +++ b/trunk/arch/arm/mach-imx/devices-imx27.h @@ -50,8 +50,6 @@ extern const struct imx_imx_uart_1irq_data imx27_imx_uart_data[]; extern const struct imx_mx2_camera_data imx27_mx2_camera_data; #define imx27_add_mx2_camera(pdata) \ imx_add_mx2_camera(&imx27_mx2_camera_data, pdata) -#define imx27_add_mx2_emmaprp(pdata) \ - imx_add_mx2_emmaprp(&imx27_mx2_camera_data) extern const struct imx_mxc_ehci_data imx27_mxc_ehci_otg_data; #define imx27_add_mxc_ehci_otg(pdata) \ diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c index 5f2f91d1798b..5db3e1463af7 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "devices-imx27.h" @@ -305,6 +306,25 @@ void __init eukrea_mbimx27_baseboard_init(void) mxc_gpio_setup_multiple_pins(eukrea_mbimx27_pins, ARRAY_SIZE(eukrea_mbimx27_pins), "MBIMX27"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) \ + || defined(CONFIG_SND_SOC_EUKREA_TLV320_MODULE) + /* SSI unit master I2S codec connected to SSI_PINS_4*/ + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, + MXC_AUDMUX_V1_PCR_SYN | + MXC_AUDMUX_V1_PCR_TFSDIR | + MXC_AUDMUX_V1_PCR_TCLKDIR | + MXC_AUDMUX_V1_PCR_RFSDIR | + MXC_AUDMUX_V1_PCR_RCLKDIR | + MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | + MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | + MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) + ); + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4, + MXC_AUDMUX_V1_PCR_SYN | + MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0) + ); +#endif + imx27_add_imx_uart1(&uart_pdata); imx27_add_imx_uart2(&uart_pdata); #if !defined(MACH_EUKREA_CPUIMX27_USEUART4) diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c index aaa592fdb9ce..d817fc80b986 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimxsd-baseboard.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "devices-imx51.h" diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c index 2cf603e11c4f..66e8726253fa 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c @@ -31,6 +31,7 @@ #include #include #include +#include #include "devices-imx25.h" @@ -240,6 +241,22 @@ void __init eukrea_mbimxsd25_baseboard_init(void) ARRAY_SIZE(eukrea_mbimxsd_pads))) printk(KERN_ERR "error setting mbimxsd pads !\n"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) + /* SSI unit master I2S codec connected to SSI_AUD5*/ + mxc_audmux_v2_configure_port(0, + MXC_AUDMUX_V2_PTCR_SYN | + MXC_AUDMUX_V2_PTCR_TFSDIR | + MXC_AUDMUX_V2_PTCR_TFSEL(4) | + MXC_AUDMUX_V2_PTCR_TCLKDIR | + MXC_AUDMUX_V2_PTCR_TCSEL(4), + MXC_AUDMUX_V2_PDCR_RXDSEL(4) + ); + mxc_audmux_v2_configure_port(4, + MXC_AUDMUX_V2_PTCR_SYN, + MXC_AUDMUX_V2_PDCR_RXDSEL(0) + ); +#endif + imx25_add_imx_uart1(&uart_pdata); imx25_add_imx_fb(&eukrea_mximxsd_fb_pdata); imx25_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); diff --git a/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c b/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c index fd8bf8a425a7..0f0af02b3182 100644 --- a/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +++ b/trunk/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c @@ -38,6 +38,7 @@ #include #include #include +#include #include "devices-imx35.h" @@ -251,6 +252,22 @@ void __init eukrea_mbimxsd35_baseboard_init(void) ARRAY_SIZE(eukrea_mbimxsd_pads))) printk(KERN_ERR "error setting mbimxsd pads !\n"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) + /* SSI unit master I2S codec connected to SSI_AUD4 */ + mxc_audmux_v2_configure_port(0, + MXC_AUDMUX_V2_PTCR_SYN | + MXC_AUDMUX_V2_PTCR_TFSDIR | + MXC_AUDMUX_V2_PTCR_TFSEL(3) | + MXC_AUDMUX_V2_PTCR_TCLKDIR | + MXC_AUDMUX_V2_PTCR_TCSEL(3), + MXC_AUDMUX_V2_PDCR_RXDSEL(3) + ); + mxc_audmux_v2_configure_port(3, + MXC_AUDMUX_V2_PTCR_SYN, + MXC_AUDMUX_V2_PDCR_RXDSEL(0) + ); +#endif + imx35_add_imx_uart1(&uart_pdata); imx35_add_ipu_core(&mx3_ipu_data); imx35_add_mx3_sdc_fb(&mx3fb_pdata); diff --git a/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index 428459fbca4b..c2766ae02b4f 100644 --- a/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/trunk/arch/arm/mach-imx/mach-imx27_visstrim_m10.c @@ -263,7 +263,6 @@ static void __init visstrim_m10_board_init(void) imx27_add_fec(NULL); imx_add_gpio_keys(&visstrim_gpio_keys_platform_data); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); - imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0); } static void __init visstrim_m10_timer_init(void) diff --git a/trunk/arch/arm/mach-imx/mach-pca100.c b/trunk/arch/arm/mach-imx/mach-pca100.c index 541152e450c4..d3b9c6b5edde 100644 --- a/trunk/arch/arm/mach-imx/mach-pca100.c +++ b/trunk/arch/arm/mach-imx/mach-pca100.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -358,6 +359,18 @@ static void __init pca100_init(void) imx27_soc_init(); + /* SSI unit */ + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, + MXC_AUDMUX_V1_PCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V1_PCR_TFCSEL(3) | + MXC_AUDMUX_V1_PCR_TCLKDIR | /* clock is output */ + MXC_AUDMUX_V1_PCR_RXDSEL(3)); + mxc_audmux_v1_configure_port(3, + MXC_AUDMUX_V1_PCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V1_PCR_TFCSEL(0) | + MXC_AUDMUX_V1_PCR_TFSDIR | + MXC_AUDMUX_V1_PCR_RXDSEL(0)); + ret = mxc_gpio_setup_multiple_pins(pca100_pins, ARRAY_SIZE(pca100_pins), "PCA100"); if (ret) diff --git a/trunk/arch/arm/mach-imx/mach-pcm043.c b/trunk/arch/arm/mach-imx/mach-pcm043.c index 237474fcca23..06dc106519ae 100644 --- a/trunk/arch/arm/mach-imx/mach-pcm043.c +++ b/trunk/arch/arm/mach-imx/mach-pcm043.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "devices-imx35.h" @@ -361,6 +362,18 @@ static void __init pcm043_init(void) mxc_iomux_v3_setup_multiple_pads(pcm043_pads, ARRAY_SIZE(pcm043_pads)); + mxc_audmux_v2_configure_port(3, + MXC_AUDMUX_V2_PTCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V2_PTCR_TFSEL(0) | + MXC_AUDMUX_V2_PTCR_TFSDIR, + MXC_AUDMUX_V2_PDCR_RXDSEL(0)); + + mxc_audmux_v2_configure_port(0, + MXC_AUDMUX_V2_PTCR_SYN | /* 4wire mode */ + MXC_AUDMUX_V2_PTCR_TCSEL(3) | + MXC_AUDMUX_V2_PTCR_TCLKDIR, /* clock is output */ + MXC_AUDMUX_V2_PDCR_RXDSEL(3)); + imx35_add_fec(NULL); platform_add_devices(devices, ARRAY_SIZE(devices)); imx35_add_imx2_wdt(NULL); diff --git a/trunk/arch/arm/mach-imx/mm-imx21.c b/trunk/arch/arm/mach-imx/mm-imx21.c index 14d540edfd1e..3f05dfebacc9 100644 --- a/trunk/arch/arm/mach-imx/mm-imx21.c +++ b/trunk/arch/arm/mach-imx/mm-imx21.c @@ -75,10 +75,6 @@ void __init mx21_init_irq(void) mxc_init_irq(MX21_IO_ADDRESS(MX21_AVIC_BASE_ADDR)); } -static const struct resource imx21_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX21_AUDMUX_BASE_ADDR, SZ_4K), -}; - void __init imx21_soc_init(void) { mxc_register_gpio("imx21-gpio", 0, MX21_GPIO1_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0); @@ -89,6 +85,4 @@ void __init imx21_soc_init(void) mxc_register_gpio("imx21-gpio", 5, MX21_GPIO6_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0); imx_add_imx_dma(); - platform_device_register_simple("imx21-audmux", 0, imx21_audmux_res, - ARRAY_SIZE(imx21_audmux_res)); } diff --git a/trunk/arch/arm/mach-imx/mm-imx25.c b/trunk/arch/arm/mach-imx/mm-imx25.c index 153b457acdc0..cc4d152bd9bd 100644 --- a/trunk/arch/arm/mach-imx/mm-imx25.c +++ b/trunk/arch/arm/mach-imx/mm-imx25.c @@ -83,10 +83,6 @@ static struct sdma_platform_data imx25_sdma_pdata __initdata = { .script_addrs = &imx25_sdma_script, }; -static const struct resource imx25_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX25_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx25_soc_init(void) { /* i.mx25 has the i.mx31 type gpio */ @@ -97,7 +93,4 @@ void __init imx25_soc_init(void) /* i.mx25 has the i.mx35 type sdma */ imx_add_imx_sdma("imx35-sdma", MX25_SDMA_BASE_ADDR, MX25_INT_SDMA, &imx25_sdma_pdata); - /* i.mx25 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx25_audmux_res, - ARRAY_SIZE(imx25_audmux_res)); } diff --git a/trunk/arch/arm/mach-imx/mm-imx27.c b/trunk/arch/arm/mach-imx/mm-imx27.c index 8cb3f5e3e569..96dd1f5ea7bd 100644 --- a/trunk/arch/arm/mach-imx/mm-imx27.c +++ b/trunk/arch/arm/mach-imx/mm-imx27.c @@ -75,10 +75,6 @@ void __init mx27_init_irq(void) mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR)); } -static const struct resource imx27_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX27_AUDMUX_BASE_ADDR, SZ_4K), -}; - void __init imx27_soc_init(void) { /* i.mx27 has the i.mx21 type gpio */ @@ -90,7 +86,4 @@ void __init imx27_soc_init(void) mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0); imx_add_imx_dma(); - /* imx27 has the imx21 type audmux */ - platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res, - ARRAY_SIZE(imx27_audmux_res)); } diff --git a/trunk/arch/arm/mach-imx/mm-imx3.c b/trunk/arch/arm/mach-imx/mm-imx3.c index 2530c151b7b3..31807d2a8b7b 100644 --- a/trunk/arch/arm/mach-imx/mm-imx3.c +++ b/trunk/arch/arm/mach-imx/mm-imx3.c @@ -158,10 +158,6 @@ static struct sdma_platform_data imx31_sdma_pdata __initdata = { .script_addrs = &imx31_to2_sdma_script, }; -static const struct resource imx31_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX31_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx31_soc_init(void) { int to_version = mx31_revision() >> 4; @@ -179,8 +175,6 @@ void __init imx31_soc_init(void) } imx_add_imx_sdma("imx31-sdma", MX31_SDMA_BASE_ADDR, MX31_INT_SDMA, &imx31_sdma_pdata); - platform_device_register_simple("imx31-audmux", 0, imx31_audmux_res, - ARRAY_SIZE(imx31_audmux_res)); } #endif /* ifdef CONFIG_SOC_IMX31 */ @@ -247,10 +241,6 @@ static struct sdma_platform_data imx35_sdma_pdata __initdata = { .script_addrs = &imx35_to2_sdma_script, }; -static const struct resource imx35_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX35_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx35_soc_init(void) { int to_version = mx35_revision() >> 4; @@ -269,8 +259,5 @@ void __init imx35_soc_init(void) } imx_add_imx_sdma("imx35-sdma", MX35_SDMA_BASE_ADDR, MX35_INT_SDMA, &imx35_sdma_pdata); - /* i.mx35 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx35_audmux_res, - ARRAY_SIZE(imx35_audmux_res)); } #endif /* ifdef CONFIG_SOC_IMX35 */ diff --git a/trunk/arch/arm/mach-imx/mm-imx5.c b/trunk/arch/arm/mach-imx/mm-imx5.c index 90d7880bb372..bc17dfea3817 100644 --- a/trunk/arch/arm/mach-imx/mm-imx5.c +++ b/trunk/arch/arm/mach-imx/mm-imx5.c @@ -170,18 +170,6 @@ static struct sdma_platform_data imx53_sdma_pdata __initdata = { .script_addrs = &imx53_sdma_script, }; -static const struct resource imx50_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX50_AUDMUX_BASE_ADDR, SZ_16K), -}; - -static const struct resource imx51_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX51_AUDMUX_BASE_ADDR, SZ_16K), -}; - -static const struct resource imx53_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX53_AUDMUX_BASE_ADDR, SZ_16K), -}; - void __init imx50_soc_init(void) { /* i.mx50 has the i.mx31 type gpio */ @@ -191,10 +179,6 @@ void __init imx50_soc_init(void) mxc_register_gpio("imx31-gpio", 3, MX50_GPIO4_BASE_ADDR, SZ_16K, MX50_INT_GPIO4_LOW, MX50_INT_GPIO4_HIGH); mxc_register_gpio("imx31-gpio", 4, MX50_GPIO5_BASE_ADDR, SZ_16K, MX50_INT_GPIO5_LOW, MX50_INT_GPIO5_HIGH); mxc_register_gpio("imx31-gpio", 5, MX50_GPIO6_BASE_ADDR, SZ_16K, MX50_INT_GPIO6_LOW, MX50_INT_GPIO6_HIGH); - - /* i.mx50 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx50_audmux_res, - ARRAY_SIZE(imx50_audmux_res)); } void __init imx51_soc_init(void) @@ -207,9 +191,6 @@ void __init imx51_soc_init(void) /* i.mx51 has the i.mx35 type sdma */ imx_add_imx_sdma("imx35-sdma", MX51_SDMA_BASE_ADDR, MX51_INT_SDMA, &imx51_sdma_pdata); - /* i.mx51 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx51_audmux_res, - ARRAY_SIZE(imx51_audmux_res)); } void __init imx53_soc_init(void) @@ -225,7 +206,4 @@ void __init imx53_soc_init(void) /* i.mx53 has the i.mx35 type sdma */ imx_add_imx_sdma("imx35-sdma", MX53_SDMA_BASE_ADDR, MX53_INT_SDMA, &imx53_sdma_pdata); - /* i.mx53 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx53_audmux_res, - ARRAY_SIZE(imx53_audmux_res)); } diff --git a/trunk/arch/arm/mach-integrator/pci_v3.c b/trunk/arch/arm/mach-integrator/pci_v3.c index 015be770c1d8..3c82566acece 100644 --- a/trunk/arch/arm/mach-integrator/pci_v3.c +++ b/trunk/arch/arm/mach-integrator/pci_v3.c @@ -378,10 +378,9 @@ static int __init pci_v3_setup_resources(struct pci_sys_data *sys) * the mem resource for this bus * the prefetch mem resource for this bus */ - pci_add_resource_offset(&sys->resources, - &ioport_resource, sys->io_offset); - pci_add_resource_offset(&sys->resources, &non_mem, sys->mem_offset); - pci_add_resource_offset(&sys->resources, &pre_mem, sys->mem_offset); + pci_add_resource(&sys->resources, &ioport_resource); + pci_add_resource(&sys->resources, &non_mem); + pci_add_resource(&sys->resources, &pre_mem); return 1; } diff --git a/trunk/arch/arm/mach-iop13xx/pci.c b/trunk/arch/arm/mach-iop13xx/pci.c index 861cb12ef436..b8f5a8736511 100644 --- a/trunk/arch/arm/mach-iop13xx/pci.c +++ b/trunk/arch/arm/mach-iop13xx/pci.c @@ -1084,8 +1084,8 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys) request_resource(&ioport_resource, &res[0]); request_resource(&iomem_resource, &res[1]); - pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); - pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); + pci_add_resource(&sys->resources, &res[0]); + pci_add_resource(&sys->resources, &res[1]); return 1; } diff --git a/trunk/arch/arm/mach-ixp2000/ixdp2400.c b/trunk/arch/arm/mach-ixp2000/ixdp2400.c index d519944653ad..f53e911ec94a 100644 --- a/trunk/arch/arm/mach-ixp2000/ixdp2400.c +++ b/trunk/arch/arm/mach-ixp2000/ixdp2400.c @@ -134,11 +134,11 @@ static void ixdp2400_pci_postinit(void) if (ixdp2x00_master_npu()) { dev = pci_get_bus_and_slot(1, IXDP2400_SLAVE_ENET_DEVFN); - pci_stop_and_remove_bus_device(dev); + pci_remove_bus_device(dev); pci_dev_put(dev); } else { dev = pci_get_bus_and_slot(1, IXDP2400_MASTER_ENET_DEVFN); - pci_stop_and_remove_bus_device(dev); + pci_remove_bus_device(dev); pci_dev_put(dev); ixdp2x00_slave_pci_postinit(); diff --git a/trunk/arch/arm/mach-ixp2000/ixdp2800.c b/trunk/arch/arm/mach-ixp2000/ixdp2800.c index b415febd2025..a2e7c393e74f 100644 --- a/trunk/arch/arm/mach-ixp2000/ixdp2800.c +++ b/trunk/arch/arm/mach-ixp2000/ixdp2800.c @@ -262,14 +262,14 @@ int __init ixdp2800_pci_init(void) pci_common_init(&ixdp2800_pci); if (ixdp2x00_master_npu()) { dev = pci_get_bus_and_slot(1, IXDP2800_SLAVE_ENET_DEVFN); - pci_stop_and_remove_bus_device(dev); + pci_remove_bus_device(dev); pci_dev_put(dev); ixdp2800_master_enable_slave(); ixdp2800_master_wait_for_slave_bus_scan(); } else { dev = pci_get_bus_and_slot(1, IXDP2800_MASTER_ENET_DEVFN); - pci_stop_and_remove_bus_device(dev); + pci_remove_bus_device(dev); pci_dev_put(dev); } } diff --git a/trunk/arch/arm/mach-ixp2000/ixdp2x00.c b/trunk/arch/arm/mach-ixp2000/ixdp2x00.c index dd9838299068..634b6c852f68 100644 --- a/trunk/arch/arm/mach-ixp2000/ixdp2x00.c +++ b/trunk/arch/arm/mach-ixp2000/ixdp2x00.c @@ -239,12 +239,12 @@ void ixdp2x00_slave_pci_postinit(void) * Remove PMC device is there is one */ if((dev = pci_get_bus_and_slot(1, IXDP2X00_PMC_DEVFN))) { - pci_stop_and_remove_bus_device(dev); + pci_remove_bus_device(dev); pci_dev_put(dev); } dev = pci_get_bus_and_slot(0, IXDP2X00_21555_DEVFN); - pci_stop_and_remove_bus_device(dev); + pci_remove_bus_device(dev); pci_dev_put(dev); } diff --git a/trunk/arch/arm/mach-ixp2000/pci.c b/trunk/arch/arm/mach-ixp2000/pci.c index 49c36f3cd602..626fda435aa9 100644 --- a/trunk/arch/arm/mach-ixp2000/pci.c +++ b/trunk/arch/arm/mach-ixp2000/pci.c @@ -243,10 +243,8 @@ int ixp2000_pci_setup(int nr, struct pci_sys_data *sys) if (nr >= 1) return 0; - pci_add_resource_offset(&sys->resources, - &ixp2000_pci_io_space, sys->io_offset); - pci_add_resource_offset(&sys->resources, - &ixp2000_pci_mem_space, sys->mem_offset); + pci_add_resource(&sys->resources, &ixp2000_pci_io_space); + pci_add_resource(&sys->resources, &ixp2000_pci_mem_space); return 1; } diff --git a/trunk/arch/arm/mach-ixp23xx/pci.c b/trunk/arch/arm/mach-ixp23xx/pci.c index 3cbbd3208fa8..25b5c462cea2 100644 --- a/trunk/arch/arm/mach-ixp23xx/pci.c +++ b/trunk/arch/arm/mach-ixp23xx/pci.c @@ -281,10 +281,8 @@ int ixp23xx_pci_setup(int nr, struct pci_sys_data *sys) if (nr >= 1) return 0; - pci_add_resource_offset(&sys->resources, - &ixp23xx_pci_io_space, sys->io_offset); - pci_add_resource_offset(&sys->resources, - &ixp23xx_pci_mem_space, sys->mem_offset); + pci_add_resource(&sys->resources, &ixp23xx_pci_io_space); + pci_add_resource(&sys->resources, &ixp23xx_pci_mem_space); return 1; } diff --git a/trunk/arch/arm/mach-ixp4xx/common-pci.c b/trunk/arch/arm/mach-ixp4xx/common-pci.c index 8508882b13f0..5eff15f24bc2 100644 --- a/trunk/arch/arm/mach-ixp4xx/common-pci.c +++ b/trunk/arch/arm/mach-ixp4xx/common-pci.c @@ -472,8 +472,8 @@ int ixp4xx_setup(int nr, struct pci_sys_data *sys) request_resource(&ioport_resource, &res[0]); request_resource(&iomem_resource, &res[1]); - pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); - pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); + pci_add_resource(&sys->resources, &res[0]); + pci_add_resource(&sys->resources, &res[1]); platform_notify = ixp4xx_pci_platform_notify; platform_notify_remove = ixp4xx_pci_platform_notify_remove; diff --git a/trunk/arch/arm/mach-kirkwood/openrd-setup.c b/trunk/arch/arm/mach-kirkwood/openrd-setup.c index 7e99c3f340fc..01f8c8992880 100644 --- a/trunk/arch/arm/mach-kirkwood/openrd-setup.c +++ b/trunk/arch/arm/mach-kirkwood/openrd-setup.c @@ -83,11 +83,6 @@ static struct i2c_board_info i2c_board_info[] __initdata = { }, }; -static struct platform_device openrd_client_audio_device = { - .name = "openrd-client-audio", - .id = -1, -}; - static int __initdata uart1; static int __init sd_uart_selection(char *str) @@ -177,7 +172,6 @@ static void __init openrd_init(void) kirkwood_i2c_init(); if (machine_is_openrd_client() || machine_is_openrd_ultimate()) { - platform_device_register(&openrd_client_audio_device); i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); diff --git a/trunk/arch/arm/mach-kirkwood/pcie.c b/trunk/arch/arm/mach-kirkwood/pcie.c index f56a0118c1bb..a066a6d8d9d2 100644 --- a/trunk/arch/arm/mach-kirkwood/pcie.c +++ b/trunk/arch/arm/mach-kirkwood/pcie.c @@ -198,9 +198,9 @@ static int __init kirkwood_pcie_setup(int nr, struct pci_sys_data *sys) if (request_resource(&iomem_resource, &pp->res[1])) panic("Request PCIe%d Memory resource failed\n", index); + pci_add_resource(&sys->resources, &pp->res[0]); + pci_add_resource(&sys->resources, &pp->res[1]); sys->io_offset = 0; - pci_add_resource_offset(&sys->resources, &pp->res[0], sys->io_offset); - pci_add_resource_offset(&sys->resources, &pp->res[1], sys->mem_offset); /* * Generic PCIe unit setup. diff --git a/trunk/arch/arm/mach-kirkwood/t5325-setup.c b/trunk/arch/arm/mach-kirkwood/t5325-setup.c index f9d2a11b7f96..966b2b3bb813 100644 --- a/trunk/arch/arm/mach-kirkwood/t5325-setup.c +++ b/trunk/arch/arm/mach-kirkwood/t5325-setup.c @@ -106,11 +106,6 @@ static struct platform_device hp_t5325_button_device = { } }; -static struct platform_device hp_t5325_audio_device = { - .name = "t5325-audio", - .id = -1, -}; - static unsigned int hp_t5325_mpp_config[] __initdata = { MPP0_NF_IO2, MPP1_SPI_MOSI, @@ -184,7 +179,6 @@ static void __init hp_t5325_init(void) kirkwood_sata_init(&hp_t5325_sata_data); kirkwood_ehci_init(); platform_device_register(&hp_t5325_button_device); - platform_device_register(&hp_t5325_audio_device); i2c_register_board_info(0, i2c_board_info, ARRAY_SIZE(i2c_board_info)); kirkwood_audio_init(); diff --git a/trunk/arch/arm/mach-ks8695/pci.c b/trunk/arch/arm/mach-ks8695/pci.c index acc701435817..b26f992071df 100644 --- a/trunk/arch/arm/mach-ks8695/pci.c +++ b/trunk/arch/arm/mach-ks8695/pci.c @@ -169,8 +169,8 @@ static int __init ks8695_pci_setup(int nr, struct pci_sys_data *sys) request_resource(&iomem_resource, &pci_mem); request_resource(&ioport_resource, &pci_io); - pci_add_resource_offset(&sys->resources, &pci_io, sys->io_offset); - pci_add_resource_offset(&sys->resources, &pci_mem, sys->mem_offset); + pci_add_resource(&sys->resources, &pci_io); + pci_add_resource(&sys->resources, &pci_mem); /* Assign and enable processor bridge */ ks8695_local_writeconfig(PCI_BASE_ADDRESS_0, KS8695_PCIMEM_PA); diff --git a/trunk/arch/arm/mach-mv78xx0/pcie.c b/trunk/arch/arm/mach-mv78xx0/pcie.c index df3e38055a24..8459f6d7d8ca 100644 --- a/trunk/arch/arm/mach-mv78xx0/pcie.c +++ b/trunk/arch/arm/mach-mv78xx0/pcie.c @@ -155,8 +155,8 @@ static int __init mv78xx0_pcie_setup(int nr, struct pci_sys_data *sys) orion_pcie_set_local_bus_nr(pp->base, sys->busnr); orion_pcie_setup(pp->base); - pci_add_resource_offset(&sys->resources, &pp->res[0], sys->io_offset); - pci_add_resource_offset(&sys->resources, &pp->res[1], sys->mem_offset); + pci_add_resource(&sys->resources, &pp->res[0]); + pci_add_resource(&sys->resources, &pp->res[1]); return 1; } diff --git a/trunk/arch/arm/mach-omap1/Kconfig b/trunk/arch/arm/mach-omap1/Kconfig index 922ab0dc2bcd..4f8d66f044e7 100644 --- a/trunk/arch/arm/mach-omap1/Kconfig +++ b/trunk/arch/arm/mach-omap1/Kconfig @@ -37,6 +37,7 @@ comment "OMAP Board Type" config MACH_OMAP_INNOVATOR bool "TI Innovator" depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX) + select OMAP_MCBSP help TI OMAP 1510 or 1610 Innovator board support. Say Y here if you have such a board. @@ -44,6 +45,7 @@ config MACH_OMAP_INNOVATOR config MACH_OMAP_H2 bool "TI H2 Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX + select OMAP_MCBSP help TI OMAP 1610/1611B H2 board support. Say Y here if you have such a board. @@ -70,6 +72,7 @@ config MACH_HERALD config MACH_OMAP_OSK bool "TI OSK Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX + select OMAP_MCBSP help TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here if you have such a board. diff --git a/trunk/arch/arm/mach-omap1/Makefile b/trunk/arch/arm/mach-omap1/Makefile index 9923f92b5450..11c85cd2731a 100644 --- a/trunk/arch/arm/mach-omap1/Makefile +++ b/trunk/arch/arm/mach-omap1/Makefile @@ -6,9 +6,7 @@ obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o timer.o -ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) -obj-y += mcbsp.o -endif +obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o diff --git a/trunk/arch/arm/mach-omap1/board-ams-delta.c b/trunk/arch/arm/mach-omap1/board-ams-delta.c index e0e8245f3c9f..88909cc0b254 100644 --- a/trunk/arch/arm/mach-omap1/board-ams-delta.c +++ b/trunk/arch/arm/mach-omap1/board-ams-delta.c @@ -20,7 +20,6 @@ #include #include #include -#include #include @@ -170,6 +169,10 @@ static struct omap_usb_config ams_delta_usb_config __initdata = { .pins[0] = 2, }; +static struct omap_board_config_kernel ams_delta_config[] __initdata = { + { OMAP_TAG_LCD, &ams_delta_lcd_config }, +}; + static struct resource ams_delta_nand_resources[] = { [0] = { .start = OMAP1_MPUIO_BASE, @@ -299,6 +302,8 @@ static void __init ams_delta_init(void) omap_cfg_reg(J19_1610_CAM_D6); omap_cfg_reg(J18_1610_CAM_D7); + omap_board_config = ams_delta_config; + omap_board_config_size = ARRAY_SIZE(ams_delta_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); @@ -316,8 +321,6 @@ static void __init ams_delta_init(void) ams_delta_init_fiq(); omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1); - - omapfb_set_lcd_config(&ams_delta_lcd_config); } static struct plat_serial8250_port ams_delta_modem_ports[] = { diff --git a/trunk/arch/arm/mach-omap1/board-fsample.c b/trunk/arch/arm/mach-omap1/board-fsample.c index 7afaf3c5bdc6..0b9464b41212 100644 --- a/trunk/arch/arm/mach-omap1/board-fsample.c +++ b/trunk/arch/arm/mach-omap1/board-fsample.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -274,17 +273,27 @@ static struct platform_device kp_device = { .resource = kp_resources, }; +static struct platform_device lcd_device = { + .name = "lcd_p2", + .id = -1, +}; + static struct platform_device *devices[] __initdata = { &nor_device, &nand_device, &smc91x_device, &kp_device, + &lcd_device, }; static struct omap_lcd_config fsample_lcd_config = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel fsample_config[] __initdata = { + { OMAP_TAG_LCD, &fsample_lcd_config }, +}; + static void __init omap_fsample_init(void) { /* Early, board-dependent init */ @@ -343,10 +352,10 @@ static void __init omap_fsample_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); + omap_board_config = fsample_config; + omap_board_config_size = ARRAY_SIZE(fsample_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&fsample_lcd_config); } /* Only FPGA needs to be mapped here. All others are done with ioremap */ diff --git a/trunk/arch/arm/mach-omap1/board-h2.c b/trunk/arch/arm/mach-omap1/board-h2.c index af2be8c12c07..00ad6b22d60a 100644 --- a/trunk/arch/arm/mach-omap1/board-h2.c +++ b/trunk/arch/arm/mach-omap1/board-h2.c @@ -30,7 +30,6 @@ #include #include #include -#include #include @@ -326,12 +325,18 @@ static struct platform_device h2_irda_device = { .resource = h2_irda_resources, }; +static struct platform_device h2_lcd_device = { + .name = "lcd_h2", + .id = -1, +}; + static struct platform_device *h2_devices[] __initdata = { &h2_nor_device, &h2_nand_device, &h2_smc91x_device, &h2_irda_device, &h2_kp_device, + &h2_lcd_device, }; static void __init h2_init_smc91x(void) @@ -386,6 +391,10 @@ static struct omap_lcd_config h2_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel h2_config[] __initdata = { + { OMAP_TAG_LCD, &h2_lcd_config }, +}; + static void __init h2_init(void) { h2_init_smc91x(); @@ -429,13 +438,13 @@ static void __init h2_init(void) omap_cfg_reg(N19_1610_KBR5); platform_add_devices(h2_devices, ARRAY_SIZE(h2_devices)); + omap_board_config = h2_config; + omap_board_config_size = ARRAY_SIZE(h2_config); omap_serial_init(); omap_register_i2c_bus(1, 100, h2_i2c_board_info, ARRAY_SIZE(h2_i2c_board_info)); omap1_usb_init(&h2_usb_config); h2_mmc_init(); - - omapfb_set_lcd_config(&h2_lcd_config); } MACHINE_START(OMAP_H2, "TI-H2") diff --git a/trunk/arch/arm/mach-omap1/board-h3.c b/trunk/arch/arm/mach-omap1/board-h3.c index 7cfd25b90735..4a7f25149703 100644 --- a/trunk/arch/arm/mach-omap1/board-h3.c +++ b/trunk/arch/arm/mach-omap1/board-h3.c @@ -30,7 +30,6 @@ #include #include #include -#include #include #include @@ -371,6 +370,10 @@ static struct omap_lcd_config h3_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel h3_config[] __initdata = { + { OMAP_TAG_LCD, &h3_lcd_config }, +}; + static struct i2c_board_info __initdata h3_i2c_board_info[] = { { I2C_BOARD_INFO("tps65013", 0x48), @@ -423,13 +426,13 @@ static void __init h3_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); spi_register_board_info(h3_spi_board_info, ARRAY_SIZE(h3_spi_board_info)); + omap_board_config = h3_config; + omap_board_config_size = ARRAY_SIZE(h3_config); omap_serial_init(); omap_register_i2c_bus(1, 100, h3_i2c_board_info, ARRAY_SIZE(h3_i2c_board_info)); omap1_usb_init(&h3_usb_config); h3_mmc_init(); - - omapfb_set_lcd_config(&h3_lcd_config); } MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") diff --git a/trunk/arch/arm/mach-omap1/board-htcherald.c b/trunk/arch/arm/mach-omap1/board-htcherald.c index af2afcf24f75..731cc3db7ab3 100644 --- a/trunk/arch/arm/mach-omap1/board-htcherald.c +++ b/trunk/arch/arm/mach-omap1/board-htcherald.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #include @@ -399,6 +398,10 @@ static struct omap_lcd_config htcherald_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel htcherald_config[] __initdata = { + { OMAP_TAG_LCD, &htcherald_lcd_config }, +}; + static struct platform_device lcd_device = { .name = "lcd_htcherald", .id = -1, @@ -577,6 +580,8 @@ static void __init htcherald_init(void) printk(KERN_INFO "HTC Herald init.\n"); /* Do board initialization before we register all the devices */ + omap_board_config = htcherald_config; + omap_board_config_size = ARRAY_SIZE(htcherald_config); platform_add_devices(devices, ARRAY_SIZE(devices)); htcherald_disable_watchdog(); @@ -593,8 +598,6 @@ static void __init htcherald_init(void) htc_mmc_data[0] = &htc_mmc1_data; omap1_init_mmc(htc_mmc_data, 1); #endif - - omapfb_set_lcd_config(&htcherald_lcd_config); } MACHINE_START(HERALD, "HTC Herald") diff --git a/trunk/arch/arm/mach-omap1/board-innovator.c b/trunk/arch/arm/mach-omap1/board-innovator.c index 1d5ab6606b9f..be2002f42dea 100644 --- a/trunk/arch/arm/mach-omap1/board-innovator.c +++ b/trunk/arch/arm/mach-omap1/board-innovator.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -371,6 +370,10 @@ static inline void innovator_mmc_init(void) } #endif +static struct omap_board_config_kernel innovator_config[] = { + { OMAP_TAG_LCD, NULL }, +}; + static void __init innovator_init(void) { if (cpu_is_omap1510()) @@ -413,15 +416,17 @@ static void __init innovator_init(void) #ifdef CONFIG_ARCH_OMAP15XX if (cpu_is_omap1510()) { omap1_usb_init(&innovator1510_usb_config); - omapfb_set_lcd_config(&innovator1510_lcd_config); + innovator_config[0].data = &innovator1510_lcd_config; } #endif #ifdef CONFIG_ARCH_OMAP16XX if (cpu_is_omap1610()) { omap1_usb_init(&h2_usb_config); - omapfb_set_lcd_config(&innovator1610_lcd_config); + innovator_config[0].data = &innovator1610_lcd_config; } #endif + omap_board_config = innovator_config; + omap_board_config_size = ARRAY_SIZE(innovator_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); innovator_mmc_init(); diff --git a/trunk/arch/arm/mach-omap1/board-nokia770.c b/trunk/arch/arm/mach-omap1/board-nokia770.c index 9b6332a31fb6..f9efc036ba96 100644 --- a/trunk/arch/arm/mach-omap1/board-nokia770.c +++ b/trunk/arch/arm/mach-omap1/board-nokia770.c @@ -31,6 +31,7 @@ #include #include #include "common.h" +#include #include #include #include @@ -98,16 +99,15 @@ static struct mipid_platform_data nokia770_mipid_platform_data = { .shutdown = mipid_shutdown, }; -static struct omap_lcd_config nokia770_lcd_config __initdata = { - .ctrl_name = "hwa742", -}; - static void __init mipid_dev_init(void) { - nokia770_mipid_platform_data.nreset_gpio = 13; - nokia770_mipid_platform_data.data_lines = 16; + const struct omap_lcd_config *conf; - omapfb_set_lcd_config(&nokia770_lcd_config); + conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config); + if (conf != NULL) { + nokia770_mipid_platform_data.nreset_gpio = conf->nreset_gpio; + nokia770_mipid_platform_data.data_lines = conf->data_lines; + } } static void __init ads7846_dev_init(void) @@ -150,9 +150,14 @@ static struct spi_board_info nokia770_spi_board_info[] __initdata = { }, }; +static struct hwa742_platform_data nokia770_hwa742_platform_data = { + .te_connected = 1, +}; + static void __init hwa742_dev_init(void) { clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL); + omapfb_set_ctrl_platform_data(&nokia770_hwa742_platform_data); } /* assume no Mini-AB port */ diff --git a/trunk/arch/arm/mach-omap1/board-osk.c b/trunk/arch/arm/mach-omap1/board-osk.c index ef874655fbd3..675de06557aa 100644 --- a/trunk/arch/arm/mach-omap1/board-osk.c +++ b/trunk/arch/arm/mach-omap1/board-osk.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include @@ -301,6 +300,12 @@ static struct omap_lcd_config osk_lcd_config __initdata = { }; #endif +static struct omap_board_config_kernel osk_config[] __initdata = { +#ifdef CONFIG_OMAP_OSK_MISTRAL + { OMAP_TAG_LCD, &osk_lcd_config }, +#endif +}; + #ifdef CONFIG_OMAP_OSK_MISTRAL #include @@ -544,6 +549,8 @@ static void __init osk_init(void) osk_flash_resource.end = osk_flash_resource.start = omap_cs3_phys(); osk_flash_resource.end += SZ_32M - 1; platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices)); + omap_board_config = osk_config; + omap_board_config_size = ARRAY_SIZE(osk_config); l = omap_readl(USB_TRANSCEIVER_CTRL); l |= (3 << 1); @@ -560,11 +567,6 @@ static void __init osk_init(void) omap_register_i2c_bus(1, 400, osk_i2c_board_info, ARRAY_SIZE(osk_i2c_board_info)); osk_mistral_init(); - -#ifdef CONFIG_OMAP_OSK_MISTRAL - omapfb_set_lcd_config(&osk_lcd_config); -#endif - } MACHINE_START(OMAP_OSK, "TI-OSK") diff --git a/trunk/arch/arm/mach-omap1/board-palmte.c b/trunk/arch/arm/mach-omap1/board-palmte.c index 612342cb2a2d..81fa27f88369 100644 --- a/trunk/arch/arm/mach-omap1/board-palmte.c +++ b/trunk/arch/arm/mach-omap1/board-palmte.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include @@ -210,6 +209,10 @@ static struct omap_lcd_config palmte_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel palmte_config[] __initdata = { + { OMAP_TAG_LCD, &palmte_lcd_config }, +}; + static struct spi_board_info palmte_spi_info[] __initdata = { { .modalias = "tsc2102", @@ -247,6 +250,9 @@ static void __init omap_palmte_init(void) omap_cfg_reg(UART3_TX); omap_cfg_reg(UART3_RX); + omap_board_config = palmte_config; + omap_board_config_size = ARRAY_SIZE(palmte_config); + platform_add_devices(palmte_devices, ARRAY_SIZE(palmte_devices)); spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info)); @@ -254,8 +260,6 @@ static void __init omap_palmte_init(void) omap_serial_init(); omap1_usb_init(&palmte_usb_config); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&palmte_lcd_config); } MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") diff --git a/trunk/arch/arm/mach-omap1/board-palmtt.c b/trunk/arch/arm/mach-omap1/board-palmtt.c index b63350bc88fd..81cb82178388 100644 --- a/trunk/arch/arm/mach-omap1/board-palmtt.c +++ b/trunk/arch/arm/mach-omap1/board-palmtt.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include @@ -274,6 +273,10 @@ static struct omap_lcd_config palmtt_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel palmtt_config[] __initdata = { + { OMAP_TAG_LCD, &palmtt_lcd_config }, +}; + static void __init omap_mpu_wdt_mode(int mode) { if (mode) omap_writew(0x8000, OMAP_WDT_TIMER_MODE); @@ -295,14 +298,15 @@ static void __init omap_palmtt_init(void) omap_mpu_wdt_mode(0); + omap_board_config = palmtt_config; + omap_board_config_size = ARRAY_SIZE(palmtt_config); + platform_add_devices(palmtt_devices, ARRAY_SIZE(palmtt_devices)); spi_register_board_info(palmtt_boardinfo,ARRAY_SIZE(palmtt_boardinfo)); omap_serial_init(); omap1_usb_init(&palmtt_usb_config); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&palmtt_lcd_config); } MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") diff --git a/trunk/arch/arm/mach-omap1/board-palmz71.c b/trunk/arch/arm/mach-omap1/board-palmz71.c index 9924c70af09f..e881945ce8ec 100644 --- a/trunk/arch/arm/mach-omap1/board-palmz71.c +++ b/trunk/arch/arm/mach-omap1/board-palmz71.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include @@ -240,6 +239,10 @@ static struct omap_lcd_config palmz71_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel palmz71_config[] __initdata = { + {OMAP_TAG_LCD, &palmz71_lcd_config}, +}; + static irqreturn_t palmz71_powercable(int irq, void *dev_id) { @@ -310,6 +313,9 @@ omap_palmz71_init(void) palmz71_gpio_setup(1); omap_mpu_wdt_mode(0); + omap_board_config = palmz71_config; + omap_board_config_size = ARRAY_SIZE(palmz71_config); + platform_add_devices(devices, ARRAY_SIZE(devices)); spi_register_board_info(palmz71_boardinfo, @@ -318,8 +324,6 @@ omap_palmz71_init(void) omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); palmz71_gpio_setup(0); - - omapfb_set_lcd_config(&palmz71_lcd_config); } MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") diff --git a/trunk/arch/arm/mach-omap1/board-perseus2.c b/trunk/arch/arm/mach-omap1/board-perseus2.c index 8e0153447c6d..c000bed76276 100644 --- a/trunk/arch/arm/mach-omap1/board-perseus2.c +++ b/trunk/arch/arm/mach-omap1/board-perseus2.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -233,17 +232,27 @@ static struct platform_device kp_device = { .resource = kp_resources, }; +static struct platform_device lcd_device = { + .name = "lcd_p2", + .id = -1, +}; + static struct platform_device *devices[] __initdata = { &nor_device, &nand_device, &smc91x_device, &kp_device, + &lcd_device, }; static struct omap_lcd_config perseus2_lcd_config __initdata = { .ctrl_name = "internal", }; +static struct omap_board_config_kernel perseus2_config[] __initdata = { + { OMAP_TAG_LCD, &perseus2_lcd_config }, +}; + static void __init perseus2_init_smc91x(void) { fpga_write(1, H2P2_DBG_FPGA_LAN_RESET); @@ -311,10 +320,10 @@ static void __init omap_perseus2_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); + omap_board_config = perseus2_config; + omap_board_config_size = ARRAY_SIZE(perseus2_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); - - omapfb_set_lcd_config(&perseus2_lcd_config); } /* Only FPGA needs to be mapped here. All others are done with ioremap */ diff --git a/trunk/arch/arm/mach-omap1/board-sx1.c b/trunk/arch/arm/mach-omap1/board-sx1.c index 0c76e12337d9..7bcd82ab0fd0 100644 --- a/trunk/arch/arm/mach-omap1/board-sx1.c +++ b/trunk/arch/arm/mach-omap1/board-sx1.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include @@ -356,6 +355,11 @@ static struct omap_usb_config sx1_usb_config __initdata = { /*----------- LCD -------------------------*/ +static struct platform_device sx1_lcd_device = { + .name = "lcd_sx1", + .id = -1, +}; + static struct omap_lcd_config sx1_lcd_config __initdata = { .ctrl_name = "internal", }; @@ -364,8 +368,14 @@ static struct omap_lcd_config sx1_lcd_config __initdata = { static struct platform_device *sx1_devices[] __initdata = { &sx1_flash_device, &sx1_kp_device, + &sx1_lcd_device, &sx1_irda_device, }; +/*-----------------------------------------*/ + +static struct omap_board_config_kernel sx1_config[] __initdata = { + { OMAP_TAG_LCD, &sx1_lcd_config }, +}; /*-----------------------------------------*/ @@ -381,6 +391,8 @@ static void __init omap_sx1_init(void) platform_add_devices(sx1_devices, ARRAY_SIZE(sx1_devices)); + omap_board_config = sx1_config; + omap_board_config_size = ARRAY_SIZE(sx1_config); omap_serial_init(); omap_register_i2c_bus(1, 100, NULL, 0); omap1_usb_init(&sx1_usb_config); @@ -394,8 +406,6 @@ static void __init omap_sx1_init(void) gpio_direction_output(1, 1); /*A_IRDA_OFF = 1 */ gpio_direction_output(11, 0); /*A_SWITCH = 0 */ gpio_direction_output(15, 0); /*A_USB_ON = 0 */ - - omapfb_set_lcd_config(&sx1_lcd_config); } MACHINE_START(SX1, "OMAP310 based Siemens SX1") diff --git a/trunk/arch/arm/mach-omap1/devices.c b/trunk/arch/arm/mach-omap1/devices.c index 187b2fe132e9..1d76a63c0983 100644 --- a/trunk/arch/arm/mach-omap1/devices.c +++ b/trunk/arch/arm/mach-omap1/devices.c @@ -28,6 +28,7 @@ #include #include #include +#include #include "clock.h" @@ -249,8 +250,16 @@ static struct platform_device omap_pcm = { .id = -1, }; +OMAP_MCBSP_PLATFORM_DEVICE(1); +OMAP_MCBSP_PLATFORM_DEVICE(2); +OMAP_MCBSP_PLATFORM_DEVICE(3); + static void omap_init_audio(void) { + platform_device_register(&omap_mcbsp1); + platform_device_register(&omap_mcbsp2); + if (!cpu_is_omap7xx()) + platform_device_register(&omap_mcbsp3); platform_device_register(&omap_pcm); } diff --git a/trunk/arch/arm/mach-omap1/mcbsp.c b/trunk/arch/arm/mach-omap1/mcbsp.c index 3e8410a99990..91f9abbd3250 100644 --- a/trunk/arch/arm/mach-omap1/mcbsp.c +++ b/trunk/arch/arm/mach-omap1/mcbsp.c @@ -419,6 +419,18 @@ static int __init omap1_mcbsp_init(void) if (!cpu_class_is_omap1()) return -ENODEV; + if (cpu_is_omap7xx()) + omap_mcbsp_count = OMAP7XX_MCBSP_COUNT; + else if (cpu_is_omap15xx()) + omap_mcbsp_count = OMAP15XX_MCBSP_COUNT; + else if (cpu_is_omap16xx()) + omap_mcbsp_count = OMAP16XX_MCBSP_COUNT; + + mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *), + GFP_KERNEL); + if (!mcbsp_ptr) + return -ENOMEM; + if (cpu_is_omap7xx()) omap_mcbsp_register_board_cfg(omap7xx_mcbsp_res_0, OMAP7XX_MCBSP_RES_SZ, @@ -437,7 +449,7 @@ static int __init omap1_mcbsp_init(void) omap16xx_mcbsp_pdata, OMAP16XX_MCBSP_COUNT); - return 0; + return omap_mcbsp_init(); } arch_initcall(omap1_mcbsp_init); diff --git a/trunk/arch/arm/mach-omap2/Makefile b/trunk/arch/arm/mach-omap2/Makefile index 06326a6e460d..bd76394ccaf8 100644 --- a/trunk/arch/arm/mach-omap2/Makefile +++ b/trunk/arch/arm/mach-omap2/Makefile @@ -17,9 +17,7 @@ obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) obj-$(CONFIG_ARCH_OMAP4) += prm44xx.o $(hwmod-common) $(secure-common) -ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) -obj-y += mcbsp.o -endif +obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o obj-$(CONFIG_TWL4030_CORE) += omap_twl.o diff --git a/trunk/arch/arm/mach-omap2/board-4430sdp.c b/trunk/arch/arm/mach-omap2/board-4430sdp.c index 44cf1893829a..4e9071589bfb 100644 --- a/trunk/arch/arm/mach-omap2/board-4430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-4430sdp.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -42,7 +41,6 @@ #include