From dfe868c50acc0f02c3dd2beda63a76a391921705 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Tue, 17 Jan 2012 16:06:51 -0800 Subject: [PATCH] --- yaml --- r: 286074 b: refs/heads/master c: f429ee3b808118591d1f3cdf3c0d0793911a5677 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/CREDITS | 5 + .../ABI/testing/sysfs-kernel-slab | 4 + trunk/Documentation/ABI/testing/sysfs-module | 16 + .../DocBook/media/constraints.png.b64 | 59 + .../DocBook/media/dvb/dvbproperty.xml | 19 +- .../DocBook/media/dvb/frontend.xml | 8 +- .../DocBook/media/selection.png.b64 | 206 + .../DocBook/media/v4l/biblio.xml | 8 - .../DocBook/media/v4l/common.xml | 10 +- .../DocBook/media/v4l/compat.xml | 30 +- .../DocBook/media/v4l/controls.xml | 43 +- .../DocBook/media/v4l/dev-capture.xml | 8 - .../DocBook/media/v4l/dev-codec.xml | 8 - .../DocBook/media/v4l/dev-effect.xml | 8 - .../DocBook/media/v4l/dev-event.xml | 8 - .../DocBook/media/v4l/dev-osd.xml | 8 - .../DocBook/media/v4l/dev-output.xml | 8 - .../DocBook/media/v4l/dev-overlay.xml | 8 - .../DocBook/media/v4l/dev-radio.xml | 8 - .../DocBook/media/v4l/dev-raw-vbi.xml | 8 - .../DocBook/media/v4l/dev-rds.xml | 16 +- .../DocBook/media/v4l/dev-sliced-vbi.xml | 9 - .../DocBook/media/v4l/dev-teletext.xml | 8 - .../DocBook/media/v4l/driver.xml | 8 - .../DocBook/media/v4l/func-close.xml | 8 - .../DocBook/media/v4l/func-ioctl.xml | 8 - .../DocBook/media/v4l/func-mmap.xml | 8 - .../DocBook/media/v4l/func-munmap.xml | 8 - .../DocBook/media/v4l/func-open.xml | 8 - .../DocBook/media/v4l/func-poll.xml | 8 - .../DocBook/media/v4l/func-read.xml | 8 - .../DocBook/media/v4l/func-select.xml | 8 - .../DocBook/media/v4l/func-write.xml | 8 - trunk/Documentation/DocBook/media/v4l/io.xml | 8 - .../DocBook/media/v4l/libv4l.xml | 7 - .../DocBook/media/v4l/pixfmt-grey.xml | 8 - .../DocBook/media/v4l/pixfmt-m420.xml | 8 - .../DocBook/media/v4l/pixfmt-nv12.xml | 8 - .../DocBook/media/v4l/pixfmt-nv12m.xml | 8 - .../DocBook/media/v4l/pixfmt-nv12mt.xml | 8 - .../DocBook/media/v4l/pixfmt-nv16.xml | 8 - .../DocBook/media/v4l/pixfmt-nv24.xml | 121 + .../DocBook/media/v4l/pixfmt-packed-rgb.xml | 15 +- .../DocBook/media/v4l/pixfmt-packed-yuv.xml | 8 - .../DocBook/media/v4l/pixfmt-sbggr16.xml | 8 - .../DocBook/media/v4l/pixfmt-sbggr8.xml | 8 - .../DocBook/media/v4l/pixfmt-sgbrg8.xml | 8 - .../DocBook/media/v4l/pixfmt-sgrbg8.xml | 8 - .../DocBook/media/v4l/pixfmt-uyvy.xml | 8 - .../DocBook/media/v4l/pixfmt-vyuy.xml | 8 - .../DocBook/media/v4l/pixfmt-y16.xml | 8 - .../DocBook/media/v4l/pixfmt-y41p.xml | 8 - .../DocBook/media/v4l/pixfmt-yuv410.xml | 8 - .../DocBook/media/v4l/pixfmt-yuv411p.xml | 8 - .../DocBook/media/v4l/pixfmt-yuv420.xml | 8 - .../DocBook/media/v4l/pixfmt-yuv420m.xml | 8 - .../DocBook/media/v4l/pixfmt-yuv422p.xml | 8 - .../DocBook/media/v4l/pixfmt-yuyv.xml | 8 - .../DocBook/media/v4l/pixfmt-yvyu.xml | 8 - .../DocBook/media/v4l/pixfmt.xml | 14 +- .../DocBook/media/v4l/selection-api.xml | 321 ++ .../Documentation/DocBook/media/v4l/v4l2.xml | 1 + .../media/v4l/vidioc-enum-dv-presets.xml | 8 - .../DocBook/media/v4l/vidioc-enum-fmt.xml | 8 - .../DocBook/media/v4l/vidioc-enuminput.xml | 8 - .../DocBook/media/v4l/vidioc-enumoutput.xml | 8 - .../DocBook/media/v4l/vidioc-enumstd.xml | 8 - .../DocBook/media/v4l/vidioc-g-ctrl.xml | 8 - .../DocBook/media/v4l/vidioc-g-ext-ctrls.xml | 7 - .../DocBook/media/v4l/vidioc-g-fbuf.xml | 14 +- .../DocBook/media/v4l/vidioc-g-frequency.xml | 8 - .../DocBook/media/v4l/vidioc-g-modulator.xml | 8 - .../DocBook/media/v4l/vidioc-g-priority.xml | 8 - .../DocBook/media/v4l/vidioc-g-selection.xml | 304 + .../DocBook/media/v4l/vidioc-g-std.xml | 8 - .../DocBook/media/v4l/vidioc-g-tuner.xml | 18 +- .../DocBook/media/v4l/vidioc-querybuf.xml | 8 - .../DocBook/media/v4l/vidioc-queryctrl.xml | 8 - .../media/v4l/vidioc-s-hw-freq-seek.xml | 8 - .../DocBook/writing-an-alsa-driver.tmpl | 2 +- trunk/Documentation/cgroups/memory.txt | 9 +- trunk/Documentation/coccinelle.txt | 10 +- .../devicetree/bindings/mfd/mc13xxx.txt | 78 + .../devicetree/bindings/mfd/twl-familly.txt | 47 + .../devicetree/bindings/resource-names.txt | 54 + .../bindings/sound/tegra-audio-wm8903.txt | 71 + .../devicetree/bindings/sound/tegra20-das.txt | 12 + .../devicetree/bindings/sound/tegra20-i2s.txt | 17 + .../devicetree/bindings/sound/wm8903.txt | 50 + .../devicetree/bindings/sound/wm8994.txt | 18 + .../devicetree/bindings/vendor-prefixes.txt | 1 + trunk/Documentation/dma-buf-sharing.txt | 4 + trunk/Documentation/dvb/get_dvb_firmware | 42 +- trunk/Documentation/fb/api.txt | 306 + .../feature-removal-schedule.txt | 35 - trunk/Documentation/filesystems/ceph.txt | 18 +- trunk/Documentation/filesystems/nfs/00-INDEX | 2 + .../filesystems/nfs/fault_injection.txt | 69 + trunk/Documentation/filesystems/proc.txt | 3 + trunk/Documentation/filesystems/squashfs.txt | 6 +- trunk/Documentation/hwmon/it87 | 13 +- trunk/Documentation/hwmon/lm63 | 21 +- trunk/Documentation/hwmon/sysfs-interface | 2 +- trunk/Documentation/kbuild/makefiles.txt | 50 +- trunk/Documentation/kernel-parameters.txt | 8 + trunk/Documentation/kmemleak.txt | 3 + trunk/Documentation/mmc/mmc-dev-attrs.txt | 10 + trunk/Documentation/mmc/mmc-dev-parts.txt | 13 + .../sound/alsa/HD-Audio-Models.txt | 15 +- .../sound/alsa/compress_offload.txt | 188 + trunk/Documentation/sysctl/kernel.txt | 8 + .../Documentation/video4linux/CARDLIST.au0828 | 2 +- trunk/Documentation/video4linux/CARDLIST.bttv | 3 +- .../video4linux/CARDLIST.cx23885 | 3 + trunk/Documentation/video4linux/CARDLIST.cx88 | 2 + .../Documentation/video4linux/CARDLIST.em28xx | 10 +- .../video4linux/CARDLIST.saa7134 | 1 + .../video4linux/CARDLIST.saa7164 | 2 + trunk/Documentation/video4linux/gspca.txt | 2 + .../video4linux/v4l2-framework.txt | 11 + trunk/Documentation/vm/slub.txt | 5 +- trunk/MAINTAINERS | 20 +- trunk/Makefile | 11 +- trunk/arch/Kconfig | 14 + trunk/arch/arm/boot/Makefile | 6 +- trunk/arch/arm/configs/bonito_defconfig | 72 + trunk/arch/arm/configs/kota2_defconfig | 122 + trunk/arch/arm/configs/marzen_defconfig | 87 + trunk/arch/arm/include/asm/gpio.h | 2 +- trunk/arch/arm/include/asm/hwcap.h | 4 +- trunk/arch/arm/include/asm/memblock.h | 2 + trunk/arch/arm/include/asm/swab.h | 7 +- trunk/arch/arm/include/asm/unistd.h | 4 +- trunk/arch/arm/kernel/head.S | 8 + trunk/arch/arm/mach-imx/mach-mx31_3ds.c | 5 +- trunk/arch/arm/mach-imx/mach-mx31moboard.c | 5 +- trunk/arch/arm/mach-imx/mach-pcm037.c | 5 +- trunk/arch/arm/mach-omap2/Kconfig | 4 +- trunk/arch/arm/mach-omap2/board-4430sdp.c | 23 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 25 +- trunk/arch/arm/mach-omap2/devices.c | 14 +- trunk/arch/arm/mach-omap2/display.c | 39 + trunk/arch/arm/mach-omap2/mcbsp.c | 3 + trunk/arch/arm/mach-omap2/omap-secure.c | 13 +- trunk/arch/arm/mach-omap2/omap4-common.c | 10 +- trunk/arch/arm/mach-pxa/corgi.c | 9 + trunk/arch/arm/mach-pxa/eseries.c | 18 + trunk/arch/arm/mach-pxa/poodle.c | 6 + trunk/arch/arm/mach-pxa/stargate2.c | 6 + trunk/arch/arm/mach-pxa/tosa.c | 6 + trunk/arch/arm/mach-realview/realview_eb.c | 3 - .../arch/arm/mach-realview/realview_pb1176.c | 3 - .../arch/arm/mach-realview/realview_pb11mp.c | 3 - trunk/arch/arm/mach-realview/realview_pba8.c | 3 - trunk/arch/arm/mach-realview/realview_pbx.c | 3 - trunk/arch/arm/mach-s3c64xx/mach-crag6410.c | 6 +- trunk/arch/arm/mach-sa1100/assabet.c | 14 +- trunk/arch/arm/mach-sa1100/cerf.c | 11 + trunk/arch/arm/mach-sa1100/collie.c | 18 +- trunk/arch/arm/mach-sa1100/generic.c | 7 +- .../arch/arm/mach-sa1100/include/mach/gpio.h | 3 - trunk/arch/arm/mach-sa1100/include/mach/mcp.h | 2 + trunk/arch/arm/mach-sa1100/lart.c | 10 + trunk/arch/arm/mach-sa1100/shannon.c | 11 + trunk/arch/arm/mach-sa1100/simpad.c | 18 +- trunk/arch/arm/mach-shmobile/Kconfig | 27 +- trunk/arch/arm/mach-shmobile/Makefile | 9 + trunk/arch/arm/mach-shmobile/board-ag5evm.c | 43 +- trunk/arch/arm/mach-shmobile/board-ap4evb.c | 47 +- trunk/arch/arm/mach-shmobile/board-bonito.c | 522 ++ trunk/arch/arm/mach-shmobile/board-mackerel.c | 18 +- trunk/arch/arm/mach-shmobile/board-marzen.c | 157 + trunk/arch/arm/mach-shmobile/clock-r8a7740.c | 382 ++ trunk/arch/arm/mach-shmobile/clock-r8a7779.c | 176 + trunk/arch/arm/mach-shmobile/clock-sh7372.c | 10 +- trunk/arch/arm/mach-shmobile/clock-sh73a0.c | 144 +- trunk/arch/arm/mach-shmobile/headsmp.S | 2 +- trunk/arch/arm/mach-shmobile/hotplug.c | 32 +- .../arm/mach-shmobile/include/mach/common.h | 22 + .../arm/mach-shmobile/include/mach/r8a7740.h | 584 ++ .../arm/mach-shmobile/include/mach/r8a7779.h | 363 ++ trunk/arch/arm/mach-shmobile/intc-r8a7740.c | 631 +++ trunk/arch/arm/mach-shmobile/intc-r8a7779.c | 58 + trunk/arch/arm/mach-shmobile/pfc-r8a7740.c | 2562 +++++++++ trunk/arch/arm/mach-shmobile/pfc-r8a7779.c | 2645 +++++++++ trunk/arch/arm/mach-shmobile/platsmp.c | 21 + trunk/arch/arm/mach-shmobile/pm-r8a7779.c | 249 + trunk/arch/arm/mach-shmobile/pm-sh7372.c | 2 +- trunk/arch/arm/mach-shmobile/setup-r8a7740.c | 352 ++ trunk/arch/arm/mach-shmobile/setup-r8a7779.c | 239 + trunk/arch/arm/mach-shmobile/setup-sh7372.c | 6 +- trunk/arch/arm/mach-shmobile/setup-sh73a0.c | 2 +- trunk/arch/arm/mach-shmobile/smp-r8a7779.c | 153 + trunk/arch/arm/mach-tegra/board-harmony.c | 8 +- trunk/arch/arm/mach-tegra/board-seaboard.c | 8 +- trunk/arch/arm/mach-ux500/board-mop500.c | 4 +- trunk/arch/arm/mach-ux500/board-u5500.c | 2 +- .../include/mach/irqs-board-mop500.h | 2 +- trunk/arch/arm/mach-w90x900/clksel.c | 2 +- trunk/arch/arm/mach-w90x900/cpu.c | 2 +- trunk/arch/arm/mach-w90x900/dev.c | 6 +- trunk/arch/arm/mach-w90x900/mfp.c | 2 +- trunk/arch/arm/mm/init.c | 17 + trunk/arch/arm/plat-omap/devices.c | 5 +- trunk/arch/arm/plat-s3c24xx/cpu.c | 2 - .../arm/plat-samsung/include/plat/sdhci.h | 1 + trunk/arch/arm/plat-samsung/platformdata.c | 2 + trunk/arch/avr32/include/asm/system.h | 2 +- trunk/arch/avr32/kernel/traps.c | 2 +- trunk/arch/frv/include/asm/param.h | 16 +- trunk/arch/ia64/hp/common/aml_nfw.c | 2 +- trunk/arch/ia64/include/asm/intrinsics.h | 21 +- trunk/arch/ia64/include/asm/processor.h | 1 - trunk/arch/ia64/include/asm/unistd.h | 3 +- trunk/arch/ia64/kernel/entry.S | 1 + trunk/arch/ia64/kernel/machine_kexec.c | 4 +- trunk/arch/m32r/include/asm/param.h | 18 +- trunk/arch/m68k/amiga/config.c | 3 +- trunk/arch/microblaze/boot/Makefile | 2 +- trunk/arch/microblaze/kernel/setup.c | 21 +- trunk/arch/mips/Kconfig | 84 +- trunk/arch/mips/Makefile | 1 + trunk/arch/mips/alchemy/Kconfig | 60 +- trunk/arch/mips/alchemy/Makefile | 3 + trunk/arch/mips/alchemy/Platform | 58 +- .../alchemy/{gpr/platform.c => board-gpr.c} | 81 +- .../{mtx-1/platform.c => board-mtx1.c} | 93 +- trunk/arch/mips/alchemy/board-xxs1500.c | 154 + trunk/arch/mips/alchemy/common/Makefile | 4 +- trunk/arch/mips/alchemy/common/dbdma.c | 49 +- trunk/arch/mips/alchemy/common/gpiolib.c | 42 + trunk/arch/mips/alchemy/common/irq.c | 875 ++- trunk/arch/mips/alchemy/common/platform.c | 31 +- trunk/arch/mips/alchemy/common/power.c | 3 + trunk/arch/mips/alchemy/common/sleeper.S | 73 + trunk/arch/mips/alchemy/common/time.c | 3 +- trunk/arch/mips/alchemy/common/vss.c | 84 + trunk/arch/mips/alchemy/devboards/Makefile | 19 +- trunk/arch/mips/alchemy/devboards/bcsr.c | 11 +- trunk/arch/mips/alchemy/devboards/db1000.c | 565 ++ .../devboards/{db1200/platform.c => db1200.c} | 401 +- .../mips/alchemy/devboards/db1200/Makefile | 1 - .../mips/alchemy/devboards/db1200/setup.c | 81 - trunk/arch/mips/alchemy/devboards/db1300.c | 785 +++ trunk/arch/mips/alchemy/devboards/db1550.c | 498 ++ .../mips/alchemy/devboards/db1x00/Makefile | 8 - .../alchemy/devboards/db1x00/board_setup.c | 229 - .../mips/alchemy/devboards/db1x00/platform.c | 316 -- .../mips/alchemy/devboards/pb1000/Makefile | 8 - .../alchemy/devboards/pb1000/board_setup.c | 209 - .../{pb1100/board_setup.c => pb1100.c} | 92 +- .../mips/alchemy/devboards/pb1100/Makefile | 8 - .../mips/alchemy/devboards/pb1100/platform.c | 77 - .../mips/alchemy/devboards/pb1200/Makefile | 5 - .../alchemy/devboards/pb1200/board_setup.c | 174 - .../mips/alchemy/devboards/pb1200/platform.c | 339 -- .../{pb1500/board_setup.c => pb1500.c} | 113 +- .../mips/alchemy/devboards/pb1500/Makefile | 8 - .../mips/alchemy/devboards/pb1500/platform.c | 94 - .../devboards/{pb1550/platform.c => pb1550.c} | 112 +- .../mips/alchemy/devboards/pb1550/Makefile | 8 - .../alchemy/devboards/pb1550/board_setup.c | 80 - trunk/arch/mips/alchemy/devboards/platform.c | 13 +- trunk/arch/mips/alchemy/devboards/prom.c | 11 +- trunk/arch/mips/alchemy/gpr/Makefile | 8 - trunk/arch/mips/alchemy/gpr/board_setup.c | 75 - trunk/arch/mips/alchemy/gpr/init.c | 63 - trunk/arch/mips/alchemy/mtx-1/Makefile | 9 - trunk/arch/mips/alchemy/mtx-1/board_setup.c | 94 - trunk/arch/mips/alchemy/mtx-1/init.c | 66 - trunk/arch/mips/alchemy/xxs1500/Makefile | 8 - trunk/arch/mips/alchemy/xxs1500/board_setup.c | 93 - trunk/arch/mips/alchemy/xxs1500/init.c | 63 - trunk/arch/mips/alchemy/xxs1500/platform.c | 63 - trunk/arch/mips/ar7/gpio.c | 2 +- trunk/arch/mips/ar7/platform.c | 39 +- trunk/arch/mips/ar7/prom.c | 4 +- trunk/arch/mips/ar7/setup.c | 2 +- trunk/arch/mips/ath79/Kconfig | 38 +- trunk/arch/mips/ath79/Makefile | 5 +- trunk/arch/mips/ath79/clock.c | 55 + trunk/arch/mips/ath79/common.c | 5 + trunk/arch/mips/ath79/dev-ar913x-wmac.c | 60 - trunk/arch/mips/ath79/dev-common.c | 38 +- trunk/arch/mips/ath79/dev-usb.c | 197 + .../ath79/{dev-ar913x-wmac.h => dev-usb.h} | 10 +- trunk/arch/mips/ath79/dev-wmac.c | 109 + trunk/arch/mips/ath79/dev-wmac.h | 17 + trunk/arch/mips/ath79/early_printk.c | 76 +- trunk/arch/mips/ath79/gpio.c | 2 + trunk/arch/mips/ath79/irq.c | 17 +- trunk/arch/mips/ath79/mach-ap121.c | 92 + trunk/arch/mips/ath79/mach-ap81.c | 6 +- trunk/arch/mips/ath79/mach-pb44.c | 2 + trunk/arch/mips/ath79/mach-ubnt-xm.c | 119 + trunk/arch/mips/ath79/machtypes.h | 2 + trunk/arch/mips/ath79/setup.c | 22 +- trunk/arch/mips/bcm47xx/setup.c | 4 +- trunk/arch/mips/bcm63xx/Kconfig | 4 + .../arch/mips/bcm63xx/boards/board_bcm963xx.c | 46 +- trunk/arch/mips/bcm63xx/clk.c | 70 +- trunk/arch/mips/bcm63xx/cpu.c | 261 +- trunk/arch/mips/bcm63xx/dev-uart.c | 2 +- trunk/arch/mips/bcm63xx/gpio.c | 41 +- trunk/arch/mips/bcm63xx/irq.c | 403 +- trunk/arch/mips/bcm63xx/prom.c | 7 +- trunk/arch/mips/bcm63xx/setup.c | 32 +- .../arch/mips/boot/compressed/uart-alchemy.c | 5 +- trunk/arch/mips/cavium-octeon/Kconfig | 4 - trunk/arch/mips/cavium-octeon/dma-octeon.c | 23 +- .../mips/cavium-octeon/executive/Makefile | 7 +- .../cavium-octeon/executive}/cvmx-cmd-queue.c | 8 +- .../mips/cavium-octeon/executive}/cvmx-fpa.c | 0 .../executive}/cvmx-helper-board.c | 38 +- .../executive}/cvmx-helper-fpa.c | 0 .../executive}/cvmx-helper-loop.c | 6 +- .../executive}/cvmx-helper-npi.c | 6 +- .../executive}/cvmx-helper-rgmii.c | 17 +- .../executive}/cvmx-helper-sgmii.c | 18 +- .../executive}/cvmx-helper-spi.c | 20 +- .../executive}/cvmx-helper-util.c | 16 +- .../executive}/cvmx-helper-xaui.c | 32 +- .../cavium-octeon/executive}/cvmx-helper.c | 120 +- .../executive}/cvmx-interrupt-decodes.c | 10 +- .../executive}/cvmx-interrupt-rsl.c | 4 +- .../mips/cavium-octeon/executive}/cvmx-pko.c | 8 +- .../mips/cavium-octeon/executive}/cvmx-spi.c | 12 +- .../cavium-octeon/executive/octeon-model.c | 119 +- trunk/arch/mips/cavium-octeon/setup.c | 14 +- trunk/arch/mips/cavium-octeon/smp.c | 2 +- trunk/arch/mips/configs/db1000_defconfig | 369 +- trunk/arch/mips/configs/db1100_defconfig | 122 - trunk/arch/mips/configs/db1300_defconfig | 391 ++ trunk/arch/mips/configs/db1500_defconfig | 128 - trunk/arch/mips/configs/db1550_defconfig | 288 +- trunk/arch/mips/configs/nlm_xlp_defconfig | 570 ++ trunk/arch/mips/configs/nlm_xlr_defconfig | 16 +- trunk/arch/mips/configs/pb1200_defconfig | 170 - trunk/arch/mips/dec/setup.c | 1 - trunk/arch/mips/include/asm/Kbuild | 4 +- trunk/arch/mips/include/asm/bmips.h | 110 + trunk/arch/mips/include/asm/bootinfo.h | 1 + trunk/arch/mips/include/asm/branch.h | 5 + trunk/arch/mips/include/asm/cpu.h | 6 +- trunk/arch/mips/include/asm/gio_device.h | 56 + trunk/arch/mips/include/asm/hazards.h | 7 +- trunk/arch/mips/include/asm/hugetlb.h | 2 +- trunk/arch/mips/include/asm/kprobes.h | 5 + .../mips/include/asm/mach-ath79/ar71xx_regs.h | 81 +- .../mips/include/asm/mach-ath79/ar933x_uart.h | 67 + .../asm/mach-ath79/ar933x_uart_platform.h | 18 + .../arch/mips/include/asm/mach-ath79/ath79.h | 11 +- trunk/arch/mips/include/asm/mach-ath79/irq.h | 8 +- .../mips/include/asm/mach-ath79/pci-ath724x.h | 21 + .../mips/include/asm/mach-au1x00/au1000.h | 273 +- .../mips/include/asm/mach-au1x00/au1100_mmc.h | 2 + .../mips/include/asm/mach-au1x00/au1200fb.h | 14 + .../mips/include/asm/mach-au1x00/au1550nd.h | 16 + .../include/asm/mach-au1x00/au1xxx_dbdma.h | 31 + .../asm/mach-au1x00/cpu-feature-overrides.h | 3 + .../include/asm/mach-au1x00/gpio-au1300.h | 241 + .../arch/mips/include/asm/mach-au1x00/gpio.h | 3 + .../include/asm/mach-bcm63xx/bcm63xx_cpu.h | 597 +- .../include/asm/mach-bcm63xx/bcm63xx_gpio.h | 2 + .../include/asm/mach-bcm63xx/bcm63xx_io.h | 2 + .../include/asm/mach-bcm63xx/bcm63xx_irq.h | 12 +- .../include/asm/mach-bcm63xx/bcm63xx_regs.h | 231 +- .../mips/include/asm/mach-bcm63xx/ioremap.h | 42 + .../arch/mips/include/asm/mach-bcm63xx/irq.h | 7 + .../arch/mips/include/asm/mach-db1x00/bcsr.h | 36 +- .../mips/include/asm/mach-db1x00/db1200.h | 11 +- .../mips/include/asm/mach-db1x00/db1300.h | 40 + .../mips/include/asm/mach-db1x00/db1x00.h | 79 - trunk/arch/mips/include/asm/mach-db1x00/irq.h | 23 + .../mips/include/asm/mach-generic/floppy.h | 2 +- .../arch/mips/include/asm/mach-jazz/floppy.h | 2 +- .../asm/mach-netlogic/cpu-feature-overrides.h | 23 +- .../include/asm/mach-pb1x00/mc146818rtc.h | 34 - .../mips/include/asm/mach-pb1x00/pb1000.h | 87 - .../mips/include/asm/mach-pb1x00/pb1200.h | 139 - .../mips/include/asm/mach-pb1x00/pb1550.h | 73 - trunk/arch/mips/include/asm/mipsregs.h | 9 +- trunk/arch/mips/include/asm/module.h | 6 +- trunk/arch/mips/include/asm/netlogic/common.h | 76 + .../arch/mips/include/asm/netlogic/haldefs.h | 163 + .../include/asm/netlogic/xlp-hal/bridge.h | 187 + .../include/asm/netlogic/xlp-hal/cpucontrol.h | 83 + .../mips/include/asm/netlogic/xlp-hal/iomap.h | 153 + .../mips/include/asm/netlogic/xlp-hal/pic.h | 411 ++ .../mips/include/asm/netlogic/xlp-hal/sys.h | 129 + .../mips/include/asm/netlogic/xlp-hal/uart.h | 191 + .../asm/netlogic/xlp-hal/xlp.h} | 25 +- .../mips/include/asm/netlogic/xlr/iomap.h | 22 - .../mips/include/asm/netlogic/xlr/msidef.h | 84 + .../arch/mips/include/asm/netlogic/xlr/pic.h | 69 +- .../arch/mips/include/asm/netlogic/xlr/xlr.h | 13 +- .../mips/include/asm}/octeon/cvmx-address.h | 0 .../mips/include/asm}/octeon/cvmx-asxx-defs.h | 0 .../mips/include/asm/octeon/cvmx-bootinfo.h | 82 +- .../mips/include/asm}/octeon/cvmx-cmd-queue.h | 0 .../mips/include/asm}/octeon/cvmx-config.h | 1 - .../mips/include/asm}/octeon/cvmx-dbg-defs.h | 0 .../mips/include/asm/octeon/cvmx-dpi-defs.h | 643 +++ .../mips/include/asm}/octeon/cvmx-fau.h | 0 .../mips/include/asm}/octeon/cvmx-fpa-defs.h | 0 .../mips/include/asm}/octeon/cvmx-fpa.h | 0 .../mips/include/asm}/octeon/cvmx-gmxx-defs.h | 0 .../include/asm}/octeon/cvmx-helper-board.h | 6 + .../include/asm}/octeon/cvmx-helper-fpa.h | 0 .../include/asm}/octeon/cvmx-helper-loop.h | 1 + .../include/asm}/octeon/cvmx-helper-npi.h | 1 + .../include/asm}/octeon/cvmx-helper-rgmii.h | 1 + .../include/asm}/octeon/cvmx-helper-sgmii.h | 1 + .../include/asm}/octeon/cvmx-helper-spi.h | 1 + .../include/asm}/octeon/cvmx-helper-util.h | 0 .../include/asm}/octeon/cvmx-helper-xaui.h | 1 + .../mips/include/asm}/octeon/cvmx-helper.h | 1 + .../mips/include/asm}/octeon/cvmx-ipd.h | 0 .../mips/include/asm}/octeon/cvmx-mdio.h | 0 .../mips/include/asm/octeon/cvmx-mio-defs.h | 1033 +++- .../mips/include/asm/octeon/cvmx-npei-defs.h | 4 +- .../include/asm/octeon/cvmx-pciercx-defs.h | 609 +- .../mips/include/asm}/octeon/cvmx-pcsx-defs.h | 0 .../include/asm}/octeon/cvmx-pcsxx-defs.h | 0 .../mips/include/asm/octeon/cvmx-pemx-defs.h | 509 ++ .../mips/include/asm/octeon/cvmx-pexp-defs.h | 19 +- .../mips/include/asm}/octeon/cvmx-pip-defs.h | 0 .../mips/include/asm}/octeon/cvmx-pip.h | 0 .../mips/include/asm}/octeon/cvmx-pko-defs.h | 0 .../mips/include/asm}/octeon/cvmx-pko.h | 0 .../mips/include/asm}/octeon/cvmx-pow.h | 0 .../mips/include/asm}/octeon/cvmx-scratch.h | 0 .../mips/include/asm/octeon/cvmx-sli-defs.h | 2172 +++++++ .../mips/include/asm}/octeon/cvmx-spi.h | 0 .../mips/include/asm}/octeon/cvmx-spxx-defs.h | 0 .../mips/include/asm/octeon/cvmx-sriox-defs.h | 1036 ++++ .../mips/include/asm}/octeon/cvmx-srxx-defs.h | 0 .../mips/include/asm}/octeon/cvmx-stxx-defs.h | 0 .../mips/include/asm}/octeon/cvmx-wqe.h | 0 trunk/arch/mips/include/asm/octeon/cvmx.h | 42 +- .../mips/include/asm/octeon/octeon-feature.h | 114 +- .../mips/include/asm/octeon/octeon-model.h | 215 +- .../arch/mips/include/asm/octeon/pci-octeon.h | 3 +- trunk/arch/mips/include/asm/page.h | 8 + trunk/arch/mips/include/asm/pgtable-32.h | 18 +- trunk/arch/mips/include/asm/ptrace.h | 2 +- trunk/arch/mips/include/asm/tlbmisc.h | 10 + trunk/arch/mips/include/asm/traps.h | 13 + trunk/arch/mips/include/asm/types.h | 10 +- trunk/arch/mips/jazz/irq.c | 3 +- trunk/arch/mips/jazz/setup.c | 1 + trunk/arch/mips/jz4740/board-qi_lb60.c | 2 +- trunk/arch/mips/kernel/Makefile | 2 + trunk/arch/mips/kernel/bmips_vec.S | 255 + trunk/arch/mips/kernel/branch.c | 128 +- trunk/arch/mips/kernel/cevt-bcm1480.c | 2 +- trunk/arch/mips/kernel/cevt-ds1287.c | 2 +- trunk/arch/mips/kernel/cevt-gt641xx.c | 2 +- trunk/arch/mips/kernel/cevt-r4k.c | 2 +- trunk/arch/mips/kernel/cevt-sb1250.c | 2 +- trunk/arch/mips/kernel/cevt-txx9.c | 2 +- trunk/arch/mips/kernel/cpu-probe.c | 28 +- trunk/arch/mips/kernel/i8253.c | 2 +- trunk/arch/mips/kernel/kprobes.c | 177 +- trunk/arch/mips/kernel/perf_event_mipsxx.c | 72 +- trunk/arch/mips/kernel/rtlx.c | 1 - trunk/arch/mips/kernel/setup.c | 43 +- trunk/arch/mips/kernel/smp-bmips.c | 458 ++ trunk/arch/mips/kernel/smtc.c | 6 +- trunk/arch/mips/kernel/traps.c | 18 +- trunk/arch/mips/lantiq/clk.c | 4 +- trunk/arch/mips/lantiq/irq.c | 13 +- trunk/arch/mips/lantiq/xway/dma.c | 6 +- trunk/arch/mips/lantiq/xway/ebu.c | 6 +- trunk/arch/mips/lantiq/xway/pmu.c | 8 +- trunk/arch/mips/lantiq/xway/reset.c | 6 +- trunk/arch/mips/lib/Makefile | 1 + .../loongson/common/cs5536/cs5536_mfgpt.c | 2 +- trunk/arch/mips/math-emu/cp1emu.c | 2 +- trunk/arch/mips/mm/Makefile | 5 +- trunk/arch/mips/mm/c-octeon.c | 2 +- trunk/arch/mips/mm/c-r4k.c | 3 + trunk/arch/mips/mm/gup.c | 315 ++ trunk/arch/mips/mm/init.c | 9 +- trunk/arch/mips/mm/tlb-r3k.c | 1 + trunk/arch/mips/mm/tlb-r4k.c | 68 +- trunk/arch/mips/mti-malta/malta-int.c | 4 +- trunk/arch/mips/netlogic/Kconfig | 3 - trunk/arch/mips/netlogic/Makefile | 3 + trunk/arch/mips/netlogic/Platform | 13 +- trunk/arch/mips/netlogic/common/Makefile | 3 + trunk/arch/mips/netlogic/common/earlycons.c | 60 + trunk/arch/mips/netlogic/common/irq.c | 238 + .../arch/mips/netlogic/{xlr => common}/smp.c | 152 +- trunk/arch/mips/netlogic/common/smpboot.S | 272 + .../arch/mips/netlogic/{xlr => common}/time.c | 6 +- trunk/arch/mips/netlogic/xlp/Makefile | 2 + trunk/arch/mips/netlogic/xlp/nlm_hal.c | 111 + trunk/arch/mips/netlogic/xlp/platform.c | 108 + trunk/arch/mips/netlogic/xlp/setup.c | 105 + trunk/arch/mips/netlogic/xlp/wakeup.c | 102 + trunk/arch/mips/netlogic/xlr/Makefile | 7 +- trunk/arch/mips/netlogic/xlr/irq.c | 300 - trunk/arch/mips/netlogic/xlr/platform.c | 31 +- trunk/arch/mips/netlogic/xlr/setup.c | 31 +- .../mips/netlogic/xlr/{smpboot.S => wakeup.c} | 80 +- trunk/arch/mips/pci/Makefile | 3 +- trunk/arch/mips/pci/msi-octeon.c | 2 +- trunk/arch/mips/pci/ops-pmcmsp.c | 2 +- trunk/arch/mips/pci/ops-tx3927.c | 2 +- trunk/arch/mips/pci/pci-alchemy.c | 138 +- trunk/arch/mips/pci/pci-ath724x.c | 174 + trunk/arch/mips/pci/pci-bcm63xx.c | 4 +- trunk/arch/mips/pci/pci-octeon.c | 16 +- trunk/arch/mips/pci/pci-tx4927.c | 2 +- trunk/arch/mips/pci/pci-tx4938.c | 2 +- trunk/arch/mips/pci/pci-tx4939.c | 2 +- trunk/arch/mips/pci/pci-xlr.c | 128 +- trunk/arch/mips/pci/pci.c | 29 +- trunk/arch/mips/pci/pcie-octeon.c | 1349 +++-- .../mips/pmc-sierra/msp71xx/msp_hwbutton.c | 2 +- .../arch/mips/pmc-sierra/msp71xx/msp_setup.c | 2 +- trunk/arch/mips/pmc-sierra/msp71xx/msp_smp.c | 4 +- trunk/arch/mips/pnx8550/common/int.c | 4 +- trunk/arch/mips/pnx8550/common/time.c | 4 +- trunk/arch/mips/sgi-ip22/Makefile | 2 +- trunk/arch/mips/sgi-ip22/ip22-gio.c | 428 ++ trunk/arch/mips/sgi-ip22/ip22-int.c | 10 +- trunk/arch/mips/sgi-ip22/ip22-mc.c | 10 +- trunk/arch/mips/sgi-ip22/ip22-setup.c | 21 - trunk/arch/mips/sgi-ip27/ip27-irq.c | 6 +- trunk/arch/mips/sgi-ip27/ip27-timer.c | 2 +- trunk/arch/mips/sgi-ip32/ip32-irq.c | 2 - trunk/arch/mips/sni/irq.c | 2 +- trunk/arch/mips/sni/time.c | 2 +- trunk/arch/mips/txx9/generic/pci.c | 2 +- trunk/arch/mn10300/include/asm/exceptions.h | 2 +- trunk/arch/mn10300/include/asm/param.h | 18 +- trunk/arch/openrisc/boot/Makefile | 4 +- trunk/arch/parisc/include/asm/processor.h | 2 - trunk/arch/parisc/kernel/process.c | 1 - trunk/arch/powerpc/boot/Makefile | 4 +- trunk/arch/powerpc/kernel/idle.c | 12 +- trunk/arch/powerpc/kernel/machine_kexec_32.c | 4 +- trunk/arch/powerpc/kernel/machine_kexec_64.c | 6 +- trunk/arch/powerpc/mm/numa.c | 2 +- trunk/arch/powerpc/platforms/pseries/hvCall.S | 3 +- trunk/arch/powerpc/platforms/pseries/lpar.c | 14 +- trunk/arch/powerpc/platforms/pseries/nvram.c | 1 - trunk/arch/s390/include/asm/chpid.h | 2 +- trunk/arch/s390/include/asm/itcw.h | 2 +- trunk/arch/s390/include/asm/mman.h | 4 +- trunk/arch/s390/include/asm/processor.h | 2 +- trunk/arch/s390/kernel/nmi.c | 2 +- trunk/arch/sh/boards/board-magicpanelr2.c | 34 +- trunk/arch/sh/boards/board-sh7757lcr.c | 39 + trunk/arch/sh/boards/mach-ap325rxa/setup.c | 14 +- trunk/arch/sh/boards/mach-ecovec24/setup.c | 38 +- trunk/arch/sh/boards/mach-kfr2r09/setup.c | 14 +- trunk/arch/sh/boards/mach-migor/setup.c | 16 +- trunk/arch/sh/boards/mach-rsk/setup.c | 43 +- trunk/arch/sh/boards/mach-se/7722/setup.c | 3 - trunk/arch/sh/boards/mach-se/7724/setup.c | 46 +- trunk/arch/sh/include/asm/device.h | 10 - trunk/arch/sh/include/asm/hwblk.h | 70 - trunk/arch/sh/include/cpu-sh4/cpu/sh7722.h | 13 +- trunk/arch/sh/include/cpu-sh4/cpu/sh7723.h | 3 +- trunk/arch/sh/include/cpu-sh4/cpu/sh7724.h | 4 +- trunk/arch/sh/kernel/cpu/Makefile | 2 +- trunk/arch/sh/kernel/cpu/hwblk.c | 159 - trunk/arch/sh/kernel/cpu/sh4/sq.c | 8 +- trunk/arch/sh/kernel/cpu/sh4a/Makefile | 6 +- trunk/arch/sh/kernel/cpu/sh4a/clock-sh7722.c | 77 +- trunk/arch/sh/kernel/cpu/sh4a/clock-sh7723.c | 209 +- trunk/arch/sh/kernel/cpu/sh4a/clock-sh7724.c | 201 +- trunk/arch/sh/kernel/cpu/sh4a/clock-sh7757.c | 2 +- trunk/arch/sh/kernel/cpu/sh4a/hwblk-sh7722.c | 106 - trunk/arch/sh/kernel/cpu/sh4a/hwblk-sh7723.c | 117 - trunk/arch/sh/kernel/cpu/sh4a/hwblk-sh7724.c | 121 - trunk/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 38 +- trunk/arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 39 - trunk/arch/sh/kernel/cpu/sh4a/setup-sh7724.c | 64 +- trunk/arch/sh/kernel/cpu/sh4a/setup-sh7757.c | 7 +- trunk/arch/sh/kernel/cpu/sh4a/setup-sh7780.c | 2 + trunk/arch/sh/kernel/cpu/sh4a/setup-sh7785.c | 2 + trunk/arch/sh/kernel/cpu/sh4a/setup-sh7786.c | 2 +- trunk/arch/sh/kernel/cpu/shmobile/Makefile | 1 - trunk/arch/sh/kernel/cpu/shmobile/cpuidle.c | 3 +- .../arch/sh/kernel/cpu/shmobile/pm_runtime.c | 319 -- trunk/arch/sh/kernel/entry-common.S | 1 + trunk/arch/sh/kernel/process_32.c | 2 +- trunk/arch/sh/kernel/process_64.c | 2 +- trunk/arch/sh/kernel/signal_32.c | 4 - trunk/arch/sh/kernel/signal_64.c | 4 - trunk/arch/sh/kernel/time.c | 2 - trunk/arch/sh/mm/cache-sh2a.c | 123 +- trunk/arch/sparc/include/asm/siginfo.h | 2 - trunk/arch/tile/include/asm/signal.h | 4 +- trunk/arch/tile/kernel/machine_kexec.c | 6 +- trunk/arch/um/Makefile | 9 +- trunk/arch/x86/Kconfig | 3 + trunk/arch/x86/Kconfig.cpu | 6 - trunk/arch/x86/Makefile | 6 + trunk/arch/x86/ia32/Makefile | 1 + trunk/arch/x86/ia32/ia32entry.S | 359 -- trunk/arch/x86/ia32/nosyscall.c | 7 + trunk/arch/x86/ia32/syscall_ia32.c | 25 + trunk/arch/x86/include/asm/Kbuild | 5 +- trunk/arch/x86/include/asm/atomic64_32.h | 2 +- trunk/arch/x86/include/asm/debugreg.h | 22 + trunk/arch/x86/include/asm/desc.h | 12 + trunk/arch/x86/include/asm/ia32_unistd.h | 13 +- trunk/arch/x86/include/asm/mce.h | 2 +- trunk/arch/x86/include/asm/syscall.h | 1 + trunk/arch/x86/include/asm/thread_info.h | 4 +- trunk/arch/x86/include/asm/unistd.h | 54 +- trunk/arch/x86/include/asm/unistd_32.h | 401 -- trunk/arch/x86/include/asm/unistd_64.h | 732 --- trunk/arch/x86/kernel/Makefile | 3 +- trunk/arch/x86/kernel/apic/x2apic_uv_x.c | 7 +- trunk/arch/x86/kernel/apm_32.c | 16 +- trunk/arch/x86/kernel/asm-offsets_32.c | 8 + trunk/arch/x86/kernel/asm-offsets_64.c | 19 +- trunk/arch/x86/kernel/cpu/common.c | 24 + trunk/arch/x86/kernel/cpu/mcheck/mce.c | 18 +- trunk/arch/x86/kernel/cpu/mcheck/mce_amd.c | 18 +- trunk/arch/x86/kernel/entry_32.S | 37 +- trunk/arch/x86/kernel/entry_64.S | 218 +- trunk/arch/x86/kernel/head_64.S | 4 + trunk/arch/x86/kernel/nmi.c | 102 + trunk/arch/x86/kernel/syscall_32.c | 25 + trunk/arch/x86/kernel/syscall_64.c | 20 +- trunk/arch/x86/kernel/syscall_table_32.S | 350 -- trunk/arch/x86/kernel/traps.c | 20 + trunk/arch/x86/kvm/mmu.c | 2 +- trunk/arch/x86/kvm/vmx.c | 18 +- trunk/arch/x86/kvm/x86.c | 4 +- trunk/arch/x86/lguest/boot.c | 21 +- trunk/arch/x86/mm/mmio-mod.c | 4 +- trunk/arch/x86/mm/numa.c | 2 +- trunk/arch/x86/pci/Makefile | 3 +- trunk/arch/x86/platform/geode/alix.c | 2 +- trunk/arch/x86/platform/iris/iris.c | 2 +- trunk/arch/x86/syscalls/Makefile | 43 + trunk/arch/x86/syscalls/syscall_32.tbl | 357 ++ trunk/arch/x86/syscalls/syscall_64.tbl | 320 ++ trunk/arch/x86/syscalls/syscallhdr.sh | 27 + trunk/arch/x86/syscalls/syscalltbl.sh | 15 + trunk/arch/x86/um/Kconfig | 8 - trunk/arch/x86/um/Makefile | 3 +- trunk/arch/x86/um/sys_call_table_32.S | 26 - trunk/arch/x86/um/sys_call_table_32.c | 55 + trunk/arch/x86/um/sys_call_table_64.c | 33 +- trunk/arch/x86/um/user-offsets.c | 15 + trunk/block/blk-cgroup.c | 11 +- trunk/block/blk-core.c | 203 +- trunk/block/blk-exec.c | 8 +- trunk/block/blk-ioc.c | 485 +- trunk/block/blk-settings.c | 32 +- trunk/block/blk-sysfs.c | 12 +- trunk/block/blk-throttle.c | 4 +- trunk/block/blk.h | 58 +- trunk/block/bsg.c | 4 +- trunk/block/cfq-iosched.c | 626 +- trunk/block/compat_ioctl.c | 3 + trunk/block/deadline-iosched.c | 4 +- trunk/block/elevator.c | 217 +- trunk/block/genhd.c | 2 +- trunk/block/ioctl.c | 2 + trunk/block/noop-iosched.c | 4 +- trunk/block/scsi_ioctl.c | 52 + trunk/crypto/crypto_user.c | 2 +- trunk/drivers/Makefile | 2 +- .../accessibility/braille/braille_console.c | 2 +- trunk/drivers/acpi/acpica/acglobal.h | 2 +- trunk/drivers/acpi/apei/ghes.c | 2 +- trunk/drivers/acpi/apei/hest.c | 2 +- trunk/drivers/acpi/dock.c | 2 +- trunk/drivers/acpi/pci_slot.c | 2 +- trunk/drivers/acpi/video.c | 6 +- trunk/drivers/ata/sata_nv.c | 6 +- trunk/drivers/ata/sata_sil24.c | 2 +- trunk/drivers/atm/he.c | 6 +- trunk/drivers/base/Kconfig | 2 +- trunk/drivers/base/memory.c | 17 +- trunk/drivers/base/power/domain.c | 15 + trunk/drivers/base/power/domain_governor.c | 24 +- trunk/drivers/block/Kconfig | 2 + trunk/drivers/block/Makefile | 1 + trunk/drivers/block/cciss.c | 6 +- trunk/drivers/block/drbd/drbd_int.h | 4 +- trunk/drivers/block/drbd/drbd_main.c | 4 +- trunk/drivers/block/mtip32xx/Kconfig | 9 + trunk/drivers/block/mtip32xx/Makefile | 5 + trunk/drivers/block/mtip32xx/mtip32xx.c | 3651 ++++++++++++ trunk/drivers/block/mtip32xx/mtip32xx.h | 423 ++ trunk/drivers/block/paride/bpck6.c | 5 +- trunk/drivers/block/paride/pcd.c | 2 +- trunk/drivers/block/paride/pd.c | 3 +- trunk/drivers/block/paride/pf.c | 4 +- trunk/drivers/block/paride/pg.c | 3 +- trunk/drivers/block/paride/pt.c | 4 +- trunk/drivers/block/rbd.c | 2 + trunk/drivers/block/sx8.c | 12 +- trunk/drivers/block/ub.c | 3 +- trunk/drivers/block/virtio_blk.c | 91 +- trunk/drivers/block/xd.c | 2 +- trunk/drivers/block/xen-blkback/blkback.c | 84 +- trunk/drivers/block/xen-blkback/common.h | 67 +- trunk/drivers/block/xen-blkback/xenbus.c | 12 + trunk/drivers/block/xen-blkfront.c | 79 +- trunk/drivers/bluetooth/btusb.c | 12 +- trunk/drivers/bluetooth/hci_bcsp.c | 4 +- trunk/drivers/bluetooth/hci_ldisc.c | 2 +- trunk/drivers/cdrom/cdrom.c | 15 +- trunk/drivers/char/agp/amd64-agp.c | 2 +- trunk/drivers/char/agp/sis-agp.c | 2 +- trunk/drivers/char/hw_random/virtio-rng.c | 2 +- trunk/drivers/char/i8k.c | 8 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 2 +- trunk/drivers/char/lp.c | 2 +- trunk/drivers/char/nwflash.c | 2 +- trunk/drivers/char/pcmcia/synclink_cs.c | 2 +- trunk/drivers/char/ramoops.c | 24 +- trunk/drivers/char/random.c | 8 +- trunk/drivers/char/tpm/tpm_tis.c | 6 +- trunk/drivers/char/virtio_console.c | 140 +- trunk/drivers/edac/r82600_edac.c | 2 +- trunk/drivers/firewire/sbp2.c | 2 +- trunk/drivers/firmware/Kconfig | 12 - trunk/drivers/firmware/Makefile | 1 - trunk/drivers/gpio/Kconfig | 1 + trunk/drivers/gpio/Makefile | 2 +- trunk/drivers/gpio/devres.c | 90 + trunk/drivers/gpio/gpio-pl061.c | 200 +- trunk/drivers/gpio/gpio-sa1100.c | 6 + trunk/drivers/gpio/gpio-stmpe.c | 25 +- trunk/drivers/gpio/gpio-tegra.c | 9 +- trunk/drivers/gpu/drm/gma500/cdv_intel_crt.c | 6 + trunk/drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 14 +- trunk/drivers/gpu/drm/gma500/oaktrail_hdmi.c | 6 + trunk/drivers/gpu/drm/gma500/psb_intel_sdvo.c | 6 + trunk/drivers/gpu/drm/nouveau/nouveau_acpi.c | 79 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.h | 2 + trunk/drivers/gpu/drm/nouveau/nouveau_state.c | 1 + trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 3 +- trunk/drivers/gpu/drm/radeon/r100.c | 4 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 2 +- trunk/drivers/gpu/drm/radeon/rs600.c | 13 +- .../drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 5 +- trunk/drivers/hid/hid-prodikeys.c | 2 +- trunk/drivers/hwmon/Kconfig | 8 +- trunk/drivers/hwmon/abituguru.c | 2 +- trunk/drivers/hwmon/abituguru3.c | 4 +- trunk/drivers/hwmon/acpi_power_meter.c | 2 +- trunk/drivers/hwmon/adm1021.c | 2 +- trunk/drivers/hwmon/adm1031.c | 153 +- trunk/drivers/hwmon/ads7828.c | 4 +- trunk/drivers/hwmon/coretemp.c | 26 +- trunk/drivers/hwmon/dme1737.c | 4 +- trunk/drivers/hwmon/emc2103.c | 2 +- trunk/drivers/hwmon/it87.c | 65 +- trunk/drivers/hwmon/lm63.c | 592 +- trunk/drivers/hwmon/lm90.c | 2 +- trunk/drivers/hwmon/lm93.c | 4 +- trunk/drivers/hwmon/max1111.c | 15 +- trunk/drivers/hwmon/max1668.c | 2 +- trunk/drivers/hwmon/w83627hf.c | 2 +- trunk/drivers/hwmon/w83781d.c | 4 +- trunk/drivers/hwmon/w83791d.c | 4 +- trunk/drivers/hwmon/w83792d.c | 2 +- trunk/drivers/hwmon/w83793.c | 2 +- trunk/drivers/hwmon/w83795.c | 2 +- trunk/drivers/hwmon/w83l786ng.c | 2 +- trunk/drivers/i2c/busses/Kconfig | 4 +- trunk/drivers/i2c/busses/i2c-ali1535.c | 38 +- trunk/drivers/i2c/busses/i2c-ali1563.c | 2 +- trunk/drivers/i2c/busses/i2c-ali15x3.c | 2 +- trunk/drivers/i2c/busses/i2c-amd756.c | 2 +- trunk/drivers/i2c/busses/i2c-amd8111.c | 2 +- trunk/drivers/i2c/busses/i2c-at91.c | 17 +- trunk/drivers/i2c/busses/i2c-au1550.c | 13 +- trunk/drivers/i2c/busses/i2c-cpm.c | 13 +- .../i2c/busses/i2c-designware-pcidrv.c | 2 +- trunk/drivers/i2c/busses/i2c-eg20t.c | 2 +- trunk/drivers/i2c/busses/i2c-highlander.c | 15 +- trunk/drivers/i2c/busses/i2c-hydra.c | 2 +- trunk/drivers/i2c/busses/i2c-i801.c | 2 +- trunk/drivers/i2c/busses/i2c-ibm_iic.c | 17 +- trunk/drivers/i2c/busses/i2c-intel-mid.c | 2 +- trunk/drivers/i2c/busses/i2c-iop3xx.c | 16 +- trunk/drivers/i2c/busses/i2c-isch.c | 13 +- trunk/drivers/i2c/busses/i2c-ixp2000.c | 13 +- trunk/drivers/i2c/busses/i2c-mpc.c | 13 +- trunk/drivers/i2c/busses/i2c-mv64xxx.c | 15 +- trunk/drivers/i2c/busses/i2c-nforce2.c | 4 +- trunk/drivers/i2c/busses/i2c-ocores.c | 17 +- trunk/drivers/i2c/busses/i2c-octeon.c | 16 +- trunk/drivers/i2c/busses/i2c-pasemi.c | 2 +- trunk/drivers/i2c/busses/i2c-pca-platform.c | 14 +- trunk/drivers/i2c/busses/i2c-piix4.c | 2 +- trunk/drivers/i2c/busses/i2c-pmcmsp.c | 17 +- trunk/drivers/i2c/busses/i2c-powermac.c | 19 +- trunk/drivers/i2c/busses/i2c-pxa-pci.c | 2 +- trunk/drivers/i2c/busses/i2c-sh7760.c | 13 +- trunk/drivers/i2c/busses/i2c-simtec.c | 18 +- trunk/drivers/i2c/busses/i2c-sis5595.c | 6 +- trunk/drivers/i2c/busses/i2c-sis630.c | 12 +- trunk/drivers/i2c/busses/i2c-sis96x.c | 2 +- trunk/drivers/i2c/busses/i2c-via.c | 2 +- trunk/drivers/i2c/busses/i2c-viapro.c | 11 +- trunk/drivers/i2c/busses/i2c-xiic.c | 18 +- trunk/drivers/i2c/busses/scx200_acb.c | 2 +- trunk/drivers/i2c/i2c-dev.c | 13 +- trunk/drivers/i2c/muxes/gpio-i2cmux.c | 13 +- trunk/drivers/ide/ali14xx.c | 2 +- trunk/drivers/ide/cmd640.c | 2 +- trunk/drivers/ide/dtc2278.c | 2 +- trunk/drivers/ide/gayle.c | 2 +- trunk/drivers/ide/ht6560b.c | 2 +- trunk/drivers/ide/ide-4drives.c | 2 +- trunk/drivers/ide/ide-acpi.c | 6 +- trunk/drivers/ide/ide-floppy_ioctl.c | 3 +- trunk/drivers/ide/ide-pci-generic.c | 2 +- trunk/drivers/ide/qd65xx.c | 2 +- trunk/drivers/ide/umc8672.c | 2 +- .../drivers/infiniband/hw/ehca/ehca_classes.h | 4 +- trunk/drivers/infiniband/hw/ehca/ehca_main.c | 10 +- trunk/drivers/infiniband/hw/nes/nes.c | 2 +- trunk/drivers/input/joystick/xpad.c | 6 +- trunk/drivers/input/keyboard/amikbd.c | 15 +- .../drivers/input/keyboard/davinci_keyscan.c | 13 +- .../input/keyboard/nomadik-ske-keypad.c | 13 +- trunk/drivers/input/misc/ab8500-ponkey.c | 2 +- trunk/drivers/input/misc/twl4030-pwrbutton.c | 15 +- trunk/drivers/input/misc/wistron_btns.c | 2 +- trunk/drivers/input/mouse/amimouse.c | 16 +- trunk/drivers/input/mouse/bcm5974.c | 3 + trunk/drivers/input/mouse/psmouse-base.c | 2 +- trunk/drivers/input/mouse/synaptics_i2c.c | 6 +- trunk/drivers/input/serio/at32psif.c | 14 +- trunk/drivers/input/serio/hp_sdc.c | 2 +- trunk/drivers/input/serio/serio_raw.c | 8 +- .../drivers/input/touchscreen/atmel-wm97xx.c | 13 +- trunk/drivers/input/touchscreen/eeti_ts.c | 4 +- trunk/drivers/input/touchscreen/htcpen.c | 4 +- trunk/drivers/input/touchscreen/mc13783_ts.c | 13 +- trunk/drivers/input/touchscreen/ucb1400_ts.c | 2 +- .../input/touchscreen/usbtouchscreen.c | 4 +- trunk/drivers/isdn/hardware/avm/b1dma.c | 2 +- trunk/drivers/isdn/hardware/avm/c4.c | 2 +- trunk/drivers/isdn/i4l/Kconfig | 2 +- trunk/drivers/isdn/sc/init.c | 2 +- trunk/drivers/leds/Kconfig | 7 + trunk/drivers/leds/Makefile | 1 + trunk/drivers/leds/leds-clevo-mail.c | 2 +- trunk/drivers/leds/leds-max8997.c | 372 ++ trunk/drivers/leds/leds-ss4200.c | 2 +- trunk/drivers/lguest/Makefile | 2 +- trunk/drivers/lguest/lguest_device.c | 18 +- trunk/drivers/lguest/segments.c | 28 +- trunk/drivers/macintosh/ams/ams-core.c | 2 +- trunk/drivers/macintosh/ams/ams-input.c | 4 +- trunk/drivers/macintosh/therm_adt746x.c | 2 +- trunk/drivers/md/dm-flakey.c | 11 +- trunk/drivers/md/dm-linear.c | 12 +- trunk/drivers/md/dm-mpath.c | 6 + trunk/drivers/md/dm-table.c | 6 +- trunk/drivers/md/md.c | 1 + trunk/drivers/media/common/tuners/Kconfig | 9 +- trunk/drivers/media/common/tuners/Makefile | 1 + trunk/drivers/media/common/tuners/max2165.c | 39 +- trunk/drivers/media/common/tuners/mc44s803.c | 10 +- trunk/drivers/media/common/tuners/mt2060.c | 13 +- .../drivers/media/common/tuners/mt2060_priv.h | 1 - trunk/drivers/media/common/tuners/mt2063.c | 2307 ++++++++ trunk/drivers/media/common/tuners/mt2063.h | 36 + trunk/drivers/media/common/tuners/mt2131.c | 20 +- .../drivers/media/common/tuners/mt2131_priv.h | 1 - trunk/drivers/media/common/tuners/mt2266.c | 25 +- trunk/drivers/media/common/tuners/mxl5005s.c | 69 +- trunk/drivers/media/common/tuners/mxl5007t.c | 98 +- trunk/drivers/media/common/tuners/qt1010.c | 21 +- .../drivers/media/common/tuners/qt1010_priv.h | 1 - trunk/drivers/media/common/tuners/tda18212.c | 72 +- trunk/drivers/media/common/tuners/tda18212.h | 4 + trunk/drivers/media/common/tuners/tda18218.c | 34 +- .../media/common/tuners/tda18218_priv.h | 2 + .../drivers/media/common/tuners/tda18271-fe.c | 83 +- .../media/common/tuners/tda18271-maps.c | 4 + .../media/common/tuners/tda18271-priv.h | 2 + trunk/drivers/media/common/tuners/tda18271.h | 1 + trunk/drivers/media/common/tuners/tda827x.c | 52 +- .../media/common/tuners/tuner-simple.c | 68 +- .../media/common/tuners/tuner-xc2028.c | 116 +- trunk/drivers/media/common/tuners/xc4000.c | 105 +- trunk/drivers/media/common/tuners/xc5000.c | 147 +- trunk/drivers/media/dvb/b2c2/flexcop.c | 29 +- trunk/drivers/media/dvb/bt8xx/dst.c | 72 +- trunk/drivers/media/dvb/bt8xx/dst_common.h | 2 +- trunk/drivers/media/dvb/bt8xx/dvb-bt8xx.c | 205 +- .../media/dvb/ddbridge/ddbridge-core.c | 2 +- trunk/drivers/media/dvb/dm1105/dm1105.c | 7 +- .../media/dvb/dvb-core/dvb_ca_en50221.c | 4 + .../drivers/media/dvb/dvb-core/dvb_frontend.c | 885 +-- .../drivers/media/dvb/dvb-core/dvb_frontend.h | 27 +- trunk/drivers/media/dvb/dvb-core/dvb_net.c | 4 +- trunk/drivers/media/dvb/dvb-usb/Kconfig | 5 +- trunk/drivers/media/dvb/dvb-usb/af9005-fe.c | 105 +- trunk/drivers/media/dvb/dvb-usb/af9005.c | 25 +- trunk/drivers/media/dvb/dvb-usb/af9005.h | 2 +- trunk/drivers/media/dvb/dvb-usb/af9015.c | 492 +- trunk/drivers/media/dvb/dvb-usb/af9015.h | 6 + trunk/drivers/media/dvb/dvb-usb/anysee.c | 411 +- trunk/drivers/media/dvb/dvb-usb/anysee.h | 6 + .../drivers/media/dvb/dvb-usb/cinergyT2-fe.c | 33 +- trunk/drivers/media/dvb/dvb-usb/cxusb.c | 11 +- .../media/dvb/dvb-usb/dib0700_devices.c | 717 ++- trunk/drivers/media/dvb/dvb-usb/digitv.c | 4 +- trunk/drivers/media/dvb/dvb-usb/dtt200u-fe.c | 33 +- trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c | 8 +- trunk/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 6 + trunk/drivers/media/dvb/dvb-usb/dw2102.c | 93 +- trunk/drivers/media/dvb/dvb-usb/friio-fe.c | 29 +- trunk/drivers/media/dvb/dvb-usb/gp8psk-fe.c | 24 +- trunk/drivers/media/dvb/dvb-usb/it913x.c | 336 +- trunk/drivers/media/dvb/dvb-usb/lmedm04.c | 8 +- .../media/dvb/dvb-usb/mxl111sf-demod.c | 42 +- .../media/dvb/dvb-usb/mxl111sf-tuner.c | 102 +- trunk/drivers/media/dvb/dvb-usb/mxl111sf.c | 16 +- trunk/drivers/media/dvb/dvb-usb/ttusb2.c | 19 +- trunk/drivers/media/dvb/dvb-usb/vp702x-fe.c | 20 +- trunk/drivers/media/dvb/dvb-usb/vp7045-fe.c | 32 +- .../drivers/media/dvb/firewire/firedtv-avc.c | 98 +- .../drivers/media/dvb/firewire/firedtv-dvb.c | 5 +- trunk/drivers/media/dvb/firewire/firedtv-fe.c | 35 +- trunk/drivers/media/dvb/firewire/firedtv.h | 4 +- trunk/drivers/media/dvb/frontends/Kconfig | 7 + trunk/drivers/media/dvb/frontends/Makefile | 1 + trunk/drivers/media/dvb/frontends/af9013.c | 1783 +++--- trunk/drivers/media/dvb/frontends/af9013.h | 113 +- .../drivers/media/dvb/frontends/af9013_priv.h | 93 +- trunk/drivers/media/dvb/frontends/atbm8830.c | 27 +- .../drivers/media/dvb/frontends/au8522_dig.c | 58 +- trunk/drivers/media/dvb/frontends/bcm3510.c | 18 +- trunk/drivers/media/dvb/frontends/bsbe1.h | 7 +- trunk/drivers/media/dvb/frontends/bsru6.h | 9 +- trunk/drivers/media/dvb/frontends/cx22700.c | 51 +- trunk/drivers/media/dvb/frontends/cx22702.c | 69 +- trunk/drivers/media/dvb/frontends/cx24110.c | 20 +- trunk/drivers/media/dvb/frontends/cx24113.c | 10 +- trunk/drivers/media/dvb/frontends/cx24116.c | 36 +- trunk/drivers/media/dvb/frontends/cx24123.c | 56 +- trunk/drivers/media/dvb/frontends/cxd2820r.h | 13 - .../drivers/media/dvb/frontends/cxd2820r_c.c | 25 +- .../media/dvb/frontends/cxd2820r_core.c | 641 +-- .../media/dvb/frontends/cxd2820r_priv.h | 23 +- .../drivers/media/dvb/frontends/cxd2820r_t.c | 63 +- .../drivers/media/dvb/frontends/cxd2820r_t2.c | 70 +- trunk/drivers/media/dvb/frontends/dib0070.c | 10 +- trunk/drivers/media/dvb/frontends/dib0090.c | 165 +- trunk/drivers/media/dvb/frontends/dib0090.h | 54 +- trunk/drivers/media/dvb/frontends/dib3000mb.c | 113 +- .../media/dvb/frontends/dib3000mb_priv.h | 2 +- trunk/drivers/media/dvb/frontends/dib3000mc.c | 132 +- trunk/drivers/media/dvb/frontends/dib7000m.c | 136 +- trunk/drivers/media/dvb/frontends/dib7000p.c | 456 +- trunk/drivers/media/dvb/frontends/dib7000p.h | 16 +- trunk/drivers/media/dvb/frontends/dib8000.c | 1073 +++- trunk/drivers/media/dvb/frontends/dib8000.h | 42 +- trunk/drivers/media/dvb/frontends/dib9000.c | 36 +- .../media/dvb/frontends/dibx000_common.h | 17 +- trunk/drivers/media/dvb/frontends/drxd.h | 2 - trunk/drivers/media/dvb/frontends/drxd_hard.c | 62 +- trunk/drivers/media/dvb/frontends/drxk.h | 11 +- trunk/drivers/media/dvb/frontends/drxk_hard.c | 314 +- trunk/drivers/media/dvb/frontends/drxk_hard.h | 8 +- trunk/drivers/media/dvb/frontends/ds3000.c | 36 +- trunk/drivers/media/dvb/frontends/dvb-pll.c | 65 +- .../media/dvb/frontends/dvb_dummy_fe.c | 18 +- trunk/drivers/media/dvb/frontends/ec100.c | 20 +- trunk/drivers/media/dvb/frontends/hd29l2.c | 861 +++ trunk/drivers/media/dvb/frontends/hd29l2.h | 66 + .../drivers/media/dvb/frontends/hd29l2_priv.h | 314 ++ .../media/dvb/frontends/it913x-fe-priv.h | 806 ++- trunk/drivers/media/dvb/frontends/it913x-fe.c | 289 +- trunk/drivers/media/dvb/frontends/it913x-fe.h | 43 +- trunk/drivers/media/dvb/frontends/itd1000.c | 7 +- trunk/drivers/media/dvb/frontends/ix2505v.c | 8 +- trunk/drivers/media/dvb/frontends/l64781.c | 117 +- trunk/drivers/media/dvb/frontends/lgdt3305.c | 98 +- trunk/drivers/media/dvb/frontends/lgdt330x.c | 37 +- trunk/drivers/media/dvb/frontends/lgs8gl5.c | 29 +- trunk/drivers/media/dvb/frontends/lgs8gxx.c | 26 +- trunk/drivers/media/dvb/frontends/mb86a16.c | 8 +- trunk/drivers/media/dvb/frontends/mb86a20s.c | 546 +- trunk/drivers/media/dvb/frontends/mt312.c | 37 +- trunk/drivers/media/dvb/frontends/mt352.c | 65 +- trunk/drivers/media/dvb/frontends/nxt200x.c | 17 +- trunk/drivers/media/dvb/frontends/nxt6000.c | 32 +- trunk/drivers/media/dvb/frontends/or51132.c | 52 +- trunk/drivers/media/dvb/frontends/or51211.c | 13 +- trunk/drivers/media/dvb/frontends/s5h1409.c | 48 +- trunk/drivers/media/dvb/frontends/s5h1411.c | 48 +- trunk/drivers/media/dvb/frontends/s5h1420.c | 71 +- trunk/drivers/media/dvb/frontends/s5h1432.c | 36 +- trunk/drivers/media/dvb/frontends/s921.c | 23 +- trunk/drivers/media/dvb/frontends/si21xx.c | 20 +- trunk/drivers/media/dvb/frontends/sp8870.c | 29 +- trunk/drivers/media/dvb/frontends/sp887x.c | 50 +- .../drivers/media/dvb/frontends/stb0899_drv.c | 37 +- trunk/drivers/media/dvb/frontends/stb6000.c | 8 +- trunk/drivers/media/dvb/frontends/stb6100.c | 6 +- trunk/drivers/media/dvb/frontends/stv0288.c | 17 +- trunk/drivers/media/dvb/frontends/stv0297.c | 37 +- trunk/drivers/media/dvb/frontends/stv0299.c | 32 +- trunk/drivers/media/dvb/frontends/stv0367.c | 156 +- .../media/dvb/frontends/stv0900_core.c | 37 +- trunk/drivers/media/dvb/frontends/stv090x.c | 13 +- trunk/drivers/media/dvb/frontends/stv6110.c | 3 +- trunk/drivers/media/dvb/frontends/tda10021.c | 111 +- trunk/drivers/media/dvb/frontends/tda10023.c | 103 +- trunk/drivers/media/dvb/frontends/tda10048.c | 83 +- trunk/drivers/media/dvb/frontends/tda1004x.c | 111 +- trunk/drivers/media/dvb/frontends/tda10071.c | 8 +- trunk/drivers/media/dvb/frontends/tda10086.c | 62 +- .../media/dvb/frontends/tda18271c2dd.c | 52 +- trunk/drivers/media/dvb/frontends/tda8083.c | 19 +- trunk/drivers/media/dvb/frontends/tda826x.c | 7 +- trunk/drivers/media/dvb/frontends/tdhd1.h | 11 +- trunk/drivers/media/dvb/frontends/tua6100.c | 31 +- trunk/drivers/media/dvb/frontends/ves1820.c | 23 +- trunk/drivers/media/dvb/frontends/ves1x93.c | 23 +- trunk/drivers/media/dvb/frontends/zl10036.c | 10 +- trunk/drivers/media/dvb/frontends/zl10039.c | 10 +- trunk/drivers/media/dvb/frontends/zl10353.c | 116 +- .../drivers/media/dvb/mantis/mantis_vp1033.c | 8 +- .../drivers/media/dvb/mantis/mantis_vp2033.c | 9 +- .../drivers/media/dvb/mantis/mantis_vp2040.c | 9 +- trunk/drivers/media/dvb/ngene/ngene-cards.c | 2 +- trunk/drivers/media/dvb/pluto2/pluto2.c | 6 +- trunk/drivers/media/dvb/pt1/va1j5jf8007s.c | 6 +- trunk/drivers/media/dvb/pt1/va1j5jf8007t.c | 6 +- trunk/drivers/media/dvb/siano/smsdvb.c | 33 +- trunk/drivers/media/dvb/ttpci/av7110.c | 102 +- trunk/drivers/media/dvb/ttpci/av7110.h | 3 +- trunk/drivers/media/dvb/ttpci/budget-av.c | 50 +- trunk/drivers/media/dvb/ttpci/budget-ci.c | 51 +- trunk/drivers/media/dvb/ttpci/budget-patch.c | 27 +- trunk/drivers/media/dvb/ttpci/budget.c | 68 +- .../media/dvb/ttusb-budget/dvb-ttusb-budget.c | 102 +- .../drivers/media/dvb/ttusb-dec/ttusbdecfe.c | 14 +- trunk/drivers/media/media-device.c | 3 +- trunk/drivers/media/radio/Kconfig | 297 +- trunk/drivers/media/radio/radio-gemtek.c | 10 +- trunk/drivers/media/radio/radio-miropcm20.c | 2 +- trunk/drivers/media/radio/radio-si4713.c | 15 +- trunk/drivers/media/radio/radio-timb.c | 15 +- trunk/drivers/media/radio/radio-wl1273.c | 17 +- trunk/drivers/media/radio/tef6862.c | 8 +- trunk/drivers/media/radio/wl128x/Kconfig | 2 +- .../drivers/media/radio/wl128x/fmdrv_common.c | 58 +- .../drivers/media/radio/wl128x/fmdrv_common.h | 28 +- trunk/drivers/media/radio/wl128x/fmdrv_rx.c | 84 +- trunk/drivers/media/radio/wl128x/fmdrv_rx.h | 50 +- trunk/drivers/media/radio/wl128x/fmdrv_tx.c | 61 +- trunk/drivers/media/radio/wl128x/fmdrv_tx.h | 20 +- trunk/drivers/media/radio/wl128x/fmdrv_v4l2.c | 1 + trunk/drivers/media/rc/Kconfig | 10 + trunk/drivers/media/rc/Makefile | 1 + trunk/drivers/media/rc/ir-nec-decoder.c | 4 +- trunk/drivers/media/rc/ir-raw.c | 1 + trunk/drivers/media/rc/ir-rc6-decoder.c | 67 +- trunk/drivers/media/rc/ir-sanyo-decoder.c | 205 + trunk/drivers/media/rc/keymaps/rc-hauppauge.c | 51 + .../media/rc/keymaps/rc-videomate-m1f.c | 24 +- trunk/drivers/media/rc/lirc_dev.c | 2 +- trunk/drivers/media/rc/mceusb.c | 4 +- trunk/drivers/media/rc/rc-core-priv.h | 12 + trunk/drivers/media/rc/rc-main.c | 1 + trunk/drivers/media/rc/redrat3.c | 52 +- trunk/drivers/media/rc/streamzap.c | 4 +- trunk/drivers/media/rc/winbond-cir.c | 4 +- trunk/drivers/media/video/Kconfig | 427 +- trunk/drivers/media/video/Makefile | 4 + trunk/drivers/media/video/adv7170.c | 62 + trunk/drivers/media/video/as3645a.c | 904 +++ trunk/drivers/media/video/atmel-isi.c | 35 +- trunk/drivers/media/video/au0828/Kconfig | 1 + trunk/drivers/media/video/au0828/au0828-i2c.c | 2 +- trunk/drivers/media/video/bt8xx/bt848.h | 5 +- trunk/drivers/media/video/bt8xx/bttv-cards.c | 58 +- trunk/drivers/media/video/bt8xx/bttv-driver.c | 1 + trunk/drivers/media/video/bt8xx/bttv-i2c.c | 2 +- trunk/drivers/media/video/bt8xx/bttv.h | 3 +- trunk/drivers/media/video/c-qcam.c | 2 +- trunk/drivers/media/video/cs5345.c | 2 +- trunk/drivers/media/video/cs53l32a.c | 2 +- trunk/drivers/media/video/cx18/cx18-driver.c | 2 +- trunk/drivers/media/video/cx18/cx18-i2c.c | 2 +- trunk/drivers/media/video/cx18/cx18-i2c.h | 2 +- trunk/drivers/media/video/cx231xx/Kconfig | 6 +- .../media/video/cx231xx/cx231xx-audio.c | 24 +- .../media/video/cx231xx/cx231xx-cards.c | 86 +- .../media/video/cx231xx/cx231xx-core.c | 7 +- .../drivers/media/video/cx231xx/cx231xx-dvb.c | 4 +- .../media/video/cx231xx/cx231xx-input.c | 11 +- .../drivers/media/video/cx231xx/cx231xx-vbi.c | 4 +- .../media/video/cx231xx/cx231xx-video.c | 14 +- trunk/drivers/media/video/cx231xx/cx231xx.h | 2 +- .../drivers/media/video/cx23885/cx23885-417.c | 141 +- .../media/video/cx23885/cx23885-cards.c | 75 +- .../media/video/cx23885/cx23885-core.c | 24 +- .../drivers/media/video/cx23885/cx23885-dvb.c | 108 +- .../drivers/media/video/cx23885/cx23885-i2c.c | 2 +- .../media/video/cx23885/cx23885-video.c | 175 +- trunk/drivers/media/video/cx23885/cx23885.h | 14 + .../media/video/cx25821/cx25821-alsa.c | 75 +- .../video/cx25821/cx25821-audio-upstream.c | 113 +- .../media/video/cx25821/cx25821-audio.h | 39 +- .../media/video/cx25821/cx25821-cards.c | 2 +- .../media/video/cx25821/cx25821-core.c | 57 +- .../drivers/media/video/cx25821/cx25821-i2c.c | 12 +- .../video/cx25821/cx25821-medusa-defines.h | 6 +- .../media/video/cx25821/cx25821-medusa-reg.h | 518 +- .../video/cx25821/cx25821-medusa-video.c | 410 +- .../cx25821/cx25821-video-upstream-ch2.c | 138 +- .../video/cx25821/cx25821-video-upstream.c | 156 +- .../media/video/cx25821/cx25821-video.c | 145 +- trunk/drivers/media/video/cx25821/cx25821.h | 4 +- .../media/video/cx25840/cx25840-audio.c | 10 +- .../media/video/cx25840/cx25840-core.c | 3241 ++++++++++- trunk/drivers/media/video/cx88/Kconfig | 10 +- trunk/drivers/media/video/cx88/cx88-alsa.c | 2 +- trunk/drivers/media/video/cx88/cx88-cards.c | 94 +- trunk/drivers/media/video/cx88/cx88-dvb.c | 30 +- trunk/drivers/media/video/cx88/cx88-i2c.c | 2 +- trunk/drivers/media/video/cx88/cx88-input.c | 4 + trunk/drivers/media/video/cx88/cx88.h | 2 + .../drivers/media/video/davinci/dm355_ccdc.c | 13 +- .../drivers/media/video/davinci/dm644x_ccdc.c | 13 +- trunk/drivers/media/video/davinci/isif.c | 13 +- trunk/drivers/media/video/davinci/vpbe.c | 76 +- .../media/video/davinci/vpbe_display.c | 43 +- trunk/drivers/media/video/davinci/vpbe_osd.c | 491 +- trunk/drivers/media/video/davinci/vpbe_venc.c | 223 +- .../media/video/davinci/vpfe_capture.c | 18 +- .../media/video/davinci/vpif_capture.c | 14 +- .../drivers/media/video/em28xx/em28xx-audio.c | 2 +- .../drivers/media/video/em28xx/em28xx-cards.c | 256 +- .../drivers/media/video/em28xx/em28xx-core.c | 61 +- trunk/drivers/media/video/em28xx/em28xx-dvb.c | 190 +- .../drivers/media/video/em28xx/em28xx-input.c | 7 +- trunk/drivers/media/video/em28xx/em28xx-reg.h | 5 + .../drivers/media/video/em28xx/em28xx-video.c | 14 +- trunk/drivers/media/video/em28xx/em28xx.h | 8 +- .../media/video/et61x251/et61x251_core.c | 4 +- trunk/drivers/media/video/fsl-viu.c | 13 +- trunk/drivers/media/video/gspca/Kconfig | 10 + trunk/drivers/media/video/gspca/Makefile | 2 + trunk/drivers/media/video/gspca/benq.c | 7 +- trunk/drivers/media/video/gspca/gl860/gl860.c | 1 - trunk/drivers/media/video/gspca/gspca.c | 73 +- trunk/drivers/media/video/gspca/gspca.h | 5 +- trunk/drivers/media/video/gspca/jl2005bcd.c | 554 ++ trunk/drivers/media/video/gspca/konica.c | 3 - .../media/video/gspca/m5602/m5602_core.c | 4 +- .../media/video/gspca/m5602/m5602_mt9m111.h | 2 +- .../media/video/gspca/m5602/m5602_ov7660.h | 2 +- .../media/video/gspca/m5602/m5602_ov9650.h | 2 +- .../media/video/gspca/m5602/m5602_po1030.h | 2 +- .../media/video/gspca/m5602/m5602_s5k4aa.h | 2 +- .../media/video/gspca/m5602/m5602_s5k83a.h | 2 +- trunk/drivers/media/video/gspca/mars.c | 1 - trunk/drivers/media/video/gspca/nw80x.c | 2 +- trunk/drivers/media/video/gspca/ov519.c | 5 +- trunk/drivers/media/video/gspca/ov534_9.c | 141 +- trunk/drivers/media/video/gspca/pac207.c | 10 +- trunk/drivers/media/video/gspca/pac7302.c | 1 + trunk/drivers/media/video/gspca/se401.c | 10 +- trunk/drivers/media/video/gspca/sn9c20x.c | 38 + trunk/drivers/media/video/gspca/sonixb.c | 15 +- trunk/drivers/media/video/gspca/sonixj.c | 18 +- trunk/drivers/media/video/gspca/spca561.c | 2 +- .../media/video/gspca/stv06xx/stv06xx.c | 8 +- trunk/drivers/media/video/gspca/t613.c | 25 + trunk/drivers/media/video/gspca/topro.c | 2 +- trunk/drivers/media/video/gspca/vicam.c | 3 +- trunk/drivers/media/video/gspca/xirlink_cit.c | 6 +- trunk/drivers/media/video/gspca/zc3xx.c | 117 +- trunk/drivers/media/video/hdpvr/hdpvr-core.c | 2 +- trunk/drivers/media/video/ir-kbd-i2c.c | 25 +- trunk/drivers/media/video/ivtv/ivtv-driver.c | 2 +- trunk/drivers/media/video/ivtv/ivtv-i2c.h | 2 +- trunk/drivers/media/video/ivtv/ivtvfb.c | 2 +- trunk/drivers/media/video/m5mols/m5mols.h | 46 +- .../media/video/m5mols/m5mols_capture.c | 83 +- .../drivers/media/video/m5mols/m5mols_core.c | 288 +- trunk/drivers/media/video/m5mols/m5mols_reg.h | 247 +- .../media/video/marvell-ccic/mcam-core.c | 42 +- .../media/video/marvell-ccic/mmp-driver.c | 35 + trunk/drivers/media/video/msp3400-driver.c | 6 +- trunk/drivers/media/video/msp3400-driver.h | 6 +- trunk/drivers/media/video/mt9m001.c | 5 +- trunk/drivers/media/video/mt9m111.c | 380 +- trunk/drivers/media/video/mt9p031.c | 5 +- trunk/drivers/media/video/mt9t001.c | 5 +- trunk/drivers/media/video/mt9t031.c | 5 +- trunk/drivers/media/video/mt9v022.c | 5 +- trunk/drivers/media/video/mt9v032.c | 8 +- trunk/drivers/media/video/mx1_camera.c | 2 +- trunk/drivers/media/video/mx2_camera.c | 299 +- trunk/drivers/media/video/mx3_camera.c | 17 +- trunk/drivers/media/video/omap/omap_vout.c | 226 +- .../drivers/media/video/omap/omap_vout_vrfb.c | 2 +- trunk/drivers/media/video/omap/omap_voutdef.h | 2 +- trunk/drivers/media/video/omap1_camera.c | 16 +- trunk/drivers/media/video/omap24xxcam.c | 19 +- trunk/drivers/media/video/omap3isp/isp.c | 72 +- trunk/drivers/media/video/omap3isp/ispccdc.c | 14 +- trunk/drivers/media/video/omap3isp/ispccdc.h | 2 - trunk/drivers/media/video/omap3isp/ispccp2.c | 22 +- trunk/drivers/media/video/omap3isp/ispccp2.h | 3 +- trunk/drivers/media/video/omap3isp/ispcsi2.c | 18 +- trunk/drivers/media/video/omap3isp/ispcsi2.h | 2 +- .../drivers/media/video/omap3isp/isppreview.c | 25 +- .../drivers/media/video/omap3isp/isppreview.h | 2 - .../drivers/media/video/omap3isp/ispresizer.c | 7 +- .../drivers/media/video/omap3isp/ispresizer.h | 1 - trunk/drivers/media/video/omap3isp/ispvideo.c | 27 +- trunk/drivers/media/video/omap3isp/ispvideo.h | 8 +- trunk/drivers/media/video/ov7670.c | 2 +- .../drivers/media/video/pvrusb2/pvrusb2-hdw.c | 5 +- trunk/drivers/media/video/pwc/pwc-ctrl.c | 726 +-- trunk/drivers/media/video/pwc/pwc-dec23.c | 288 +- trunk/drivers/media/video/pwc/pwc-dec23.h | 5 +- trunk/drivers/media/video/pwc/pwc-if.c | 297 +- trunk/drivers/media/video/pwc/pwc-kiara.h | 2 +- trunk/drivers/media/video/pwc/pwc-misc.c | 87 +- trunk/drivers/media/video/pwc/pwc-timon.h | 2 +- .../drivers/media/video/pwc/pwc-uncompress.c | 46 +- trunk/drivers/media/video/pwc/pwc-v4l.c | 258 +- trunk/drivers/media/video/pwc/pwc.h | 66 +- trunk/drivers/media/video/pxa_camera.c | 17 +- .../media/video/s5p-fimc/fimc-capture.c | 11 + .../drivers/media/video/s5p-fimc/fimc-core.c | 134 +- .../drivers/media/video/s5p-fimc/fimc-core.h | 30 +- trunk/drivers/media/video/s5p-fimc/fimc-reg.c | 53 +- .../drivers/media/video/s5p-fimc/mipi-csis.c | 22 + .../drivers/media/video/s5p-fimc/mipi-csis.h | 3 + .../drivers/media/video/s5p-fimc/regs-fimc.h | 5 + trunk/drivers/media/video/s5p-g2d/Makefile | 3 + trunk/drivers/media/video/s5p-g2d/g2d-hw.c | 104 + trunk/drivers/media/video/s5p-g2d/g2d-regs.h | 115 + trunk/drivers/media/video/s5p-g2d/g2d.c | 810 +++ trunk/drivers/media/video/s5p-g2d/g2d.h | 83 + trunk/drivers/media/video/s5p-jpeg/Makefile | 2 + .../drivers/media/video/s5p-jpeg/jpeg-core.c | 1481 +++++ .../drivers/media/video/s5p-jpeg/jpeg-core.h | 143 + trunk/drivers/media/video/s5p-jpeg/jpeg-hw.h | 353 ++ .../drivers/media/video/s5p-jpeg/jpeg-regs.h | 170 + trunk/drivers/media/video/s5p-mfc/s5p_mfc.c | 22 +- trunk/drivers/media/video/s5p-tv/hdmi_drv.c | 30 +- trunk/drivers/media/video/s5p-tv/mixer.h | 14 +- .../media/video/s5p-tv/mixer_grp_layer.c | 157 +- .../drivers/media/video/s5p-tv/mixer_video.c | 342 +- .../media/video/s5p-tv/mixer_vp_layer.c | 108 +- trunk/drivers/media/video/s5p-tv/sdo_drv.c | 22 +- trunk/drivers/media/video/saa7115.c | 2 +- .../media/video/saa7134/saa7134-cards.c | 33 + .../media/video/saa7134/saa7134-core.c | 1 - .../drivers/media/video/saa7134/saa7134-dvb.c | 33 +- .../media/video/saa7134/saa7134-input.c | 23 +- .../media/video/saa7134/saa7134-tvaudio.c | 65 +- .../media/video/saa7134/saa7134-video.c | 2 + trunk/drivers/media/video/saa7134/saa7134.h | 2 + .../drivers/media/video/saa7164/saa7164-bus.c | 4 +- .../media/video/sh_mobile_ceu_camera.c | 11 +- trunk/drivers/media/video/sh_mobile_csi2.c | 13 +- .../media/video/sn9c102/sn9c102_core.c | 4 +- trunk/drivers/media/video/soc_camera.c | 4 +- .../drivers/media/video/soc_camera_platform.c | 13 +- trunk/drivers/media/video/stk-webcam.c | 8 +- trunk/drivers/media/video/timblogiw.c | 15 +- trunk/drivers/media/video/tlg2300/pd-common.h | 2 +- trunk/drivers/media/video/tlg2300/pd-dvb.c | 22 +- trunk/drivers/media/video/tm6000/Kconfig | 6 +- .../drivers/media/video/tm6000/tm6000-alsa.c | 23 +- .../drivers/media/video/tm6000/tm6000-cards.c | 35 + .../drivers/media/video/tm6000/tm6000-core.c | 86 +- trunk/drivers/media/video/tm6000/tm6000-dvb.c | 21 +- trunk/drivers/media/video/tm6000/tm6000-i2c.c | 8 +- .../drivers/media/video/tm6000/tm6000-input.c | 407 +- .../drivers/media/video/tm6000/tm6000-regs.h | 14 +- .../drivers/media/video/tm6000/tm6000-stds.c | 89 +- .../drivers/media/video/tm6000/tm6000-video.c | 21 +- trunk/drivers/media/video/tm6000/tm6000.h | 3 + trunk/drivers/media/video/tuner-core.c | 1 + trunk/drivers/media/video/tvp514x.c | 2 +- trunk/drivers/media/video/tvp5150.c | 81 +- trunk/drivers/media/video/tvp7002.c | 2 +- trunk/drivers/media/video/upd64083.c | 2 +- .../media/video/usbvision/usbvision-i2c.c | 46 +- trunk/drivers/media/video/uvc/Kconfig | 1 + trunk/drivers/media/video/uvc/Makefile | 2 +- trunk/drivers/media/video/uvc/uvc_ctrl.c | 19 +- trunk/drivers/media/video/uvc/uvc_debugfs.c | 136 + trunk/drivers/media/video/uvc/uvc_driver.c | 30 +- trunk/drivers/media/video/uvc/uvc_isight.c | 10 +- trunk/drivers/media/video/uvc/uvc_queue.c | 564 +- trunk/drivers/media/video/uvc/uvc_v4l2.c | 29 +- trunk/drivers/media/video/uvc/uvc_video.c | 625 +- trunk/drivers/media/video/uvc/uvcvideo.h | 128 +- .../drivers/media/video/v4l2-compat-ioctl32.c | 2 + trunk/drivers/media/video/v4l2-ctrls.c | 5 +- trunk/drivers/media/video/v4l2-dev.c | 14 +- trunk/drivers/media/video/v4l2-device.c | 4 +- trunk/drivers/media/video/v4l2-ioctl.c | 120 +- trunk/drivers/media/video/v4l2-subdev.c | 4 + trunk/drivers/media/video/via-camera.c | 26 +- trunk/drivers/media/video/videobuf-dvb.c | 7 +- trunk/drivers/media/video/videobuf2-core.c | 118 +- trunk/drivers/media/video/videobuf2-dma-sg.c | 3 +- trunk/drivers/media/video/videobuf2-memops.c | 28 +- trunk/drivers/media/video/videobuf2-vmalloc.c | 90 +- trunk/drivers/media/video/vino.c | 2 +- .../drivers/media/video/zoran/zoran_device.c | 2 +- trunk/drivers/media/video/zoran/zr36060.c | 2 +- trunk/drivers/memstick/host/jmb38x_ms.c | 2 +- trunk/drivers/memstick/host/r592.c | 2 +- trunk/drivers/memstick/host/tifm_ms.c | 2 +- trunk/drivers/mfd/88pm860x-i2c.c | 241 +- trunk/drivers/mfd/Kconfig | 36 +- trunk/drivers/mfd/Makefile | 5 +- trunk/drivers/mfd/aat2870-core.c | 25 +- trunk/drivers/mfd/ab5500-core.c | 2 +- trunk/drivers/mfd/ab5500-debugfs.c | 2 +- trunk/drivers/mfd/ab8500-core.c | 2 +- trunk/drivers/mfd/ab8500-debugfs.c | 2 +- trunk/drivers/mfd/ab8500-gpadc.c | 4 +- trunk/drivers/mfd/ab8500-i2c.c | 2 +- trunk/drivers/mfd/ab8500-sysctrl.c | 4 +- trunk/drivers/mfd/cs5535-mfd.c | 8 +- trunk/drivers/mfd/dm355evm_msp.c | 3 +- trunk/drivers/mfd/intel_msic.c | 12 +- trunk/drivers/mfd/janz-cmodio.c | 2 +- trunk/drivers/mfd/jz4740-adc.c | 14 +- trunk/drivers/mfd/lpc_sch.c | 2 +- trunk/drivers/mfd/max8925-i2c.c | 27 + trunk/drivers/mfd/max8997.c | 3 +- trunk/drivers/mfd/max8998.c | 6 +- trunk/drivers/mfd/mc13xxx-core.c | 111 +- trunk/drivers/mfd/mcp-core.c | 44 +- trunk/drivers/mfd/mcp-sa11x0.c | 182 +- trunk/drivers/mfd/omap-usb-host.c | 18 +- trunk/drivers/mfd/pcf50633-adc.c | 12 +- trunk/drivers/mfd/s5m-core.c | 176 + trunk/drivers/mfd/s5m-irq.c | 487 ++ trunk/drivers/mfd/sm501.c | 2 +- trunk/drivers/mfd/stmpe-i2c.c | 109 + trunk/drivers/mfd/stmpe-spi.c | 150 + trunk/drivers/mfd/stmpe.c | 277 +- trunk/drivers/mfd/stmpe.h | 53 + trunk/drivers/mfd/t7l66xb.c | 16 +- trunk/drivers/mfd/tc6387xb.c | 14 +- trunk/drivers/mfd/ti-ssp.c | 12 +- trunk/drivers/mfd/timberdale.c | 2 +- trunk/drivers/mfd/tps65910-irq.c | 3 +- trunk/drivers/mfd/tps65910.c | 7 +- trunk/drivers/mfd/tps65912-spi.c | 1 - trunk/drivers/mfd/twl-core.c | 51 +- trunk/drivers/mfd/twl4030-audio.c | 12 +- trunk/drivers/mfd/twl4030-irq.c | 3 +- trunk/drivers/mfd/twl4030-madc.c | 14 +- trunk/drivers/mfd/twl4030-power.c | 42 +- trunk/drivers/mfd/twl6040-core.c | 20 +- trunk/drivers/mfd/ucb1x00-core.c | 48 +- trunk/drivers/mfd/ucb1x00-ts.c | 2 +- trunk/drivers/mfd/vx855.c | 2 +- trunk/drivers/mfd/wm831x-core.c | 4 +- trunk/drivers/mfd/wm831x-i2c.c | 3 +- trunk/drivers/mfd/wm831x-irq.c | 8 +- trunk/drivers/mfd/wm831x-spi.c | 4 +- trunk/drivers/mfd/wm8350-core.c | 2 + trunk/drivers/mfd/wm8350-i2c.c | 4 +- trunk/drivers/mfd/wm8400-core.c | 7 +- trunk/drivers/mfd/wm8994-core.c | 158 +- trunk/drivers/mfd/wm8994-irq.c | 206 +- trunk/drivers/mfd/wm8994-regmap.c | 1238 ++++ trunk/drivers/mfd/wm8994.h | 25 + trunk/drivers/misc/Kconfig | 8 + trunk/drivers/misc/Makefile | 1 + trunk/drivers/misc/ab8500-pwm.c | 2 +- trunk/drivers/misc/iwmc3200top/main.c | 12 +- trunk/drivers/misc/lis3lv02d/lis3lv02d.c | 2 + trunk/drivers/misc/max8997-muic.c | 505 ++ trunk/drivers/mmc/Makefile | 3 +- trunk/drivers/mmc/card/block.c | 247 +- trunk/drivers/mmc/card/mmc_test.c | 1 + trunk/drivers/mmc/card/queue.c | 5 + trunk/drivers/mmc/core/Makefile | 2 +- trunk/drivers/mmc/core/bus.c | 5 +- trunk/drivers/mmc/core/cd-gpio.c | 74 + trunk/drivers/mmc/core/core.c | 101 +- trunk/drivers/mmc/core/core.h | 5 +- trunk/drivers/mmc/core/debugfs.c | 5 + trunk/drivers/mmc/core/host.c | 53 +- trunk/drivers/mmc/core/mmc.c | 203 +- trunk/drivers/mmc/core/sd.c | 21 +- trunk/drivers/mmc/core/sdio.c | 342 +- trunk/drivers/mmc/core/sdio_io.c | 8 +- trunk/drivers/mmc/core/sdio_ops.c | 14 +- trunk/drivers/mmc/host/Makefile | 1 + trunk/drivers/mmc/host/at91_mci.c | 8 +- trunk/drivers/mmc/host/au1xmmc.c | 45 +- trunk/drivers/mmc/host/bfin_sdh.c | 12 +- trunk/drivers/mmc/host/cb710-mmc.c | 13 +- trunk/drivers/mmc/host/dw_mmc.c | 71 +- trunk/drivers/mmc/host/dw_mmc.h | 2 +- trunk/drivers/mmc/host/jz4740_mmc.c | 12 +- trunk/drivers/mmc/host/mmc_spi.c | 1 - trunk/drivers/mmc/host/mmci.c | 1 + trunk/drivers/mmc/host/msm_sdcc.c | 19 +- trunk/drivers/mmc/host/mxcmmc.c | 13 +- trunk/drivers/mmc/host/mxs-mmc.c | 13 +- trunk/drivers/mmc/host/omap_hsmmc.c | 43 +- trunk/drivers/mmc/host/pxamci.c | 13 +- trunk/drivers/mmc/host/s3cmci.c | 13 +- trunk/drivers/mmc/host/sdhci-cns3xxx.c | 12 +- trunk/drivers/mmc/host/sdhci-dove.c | 12 +- trunk/drivers/mmc/host/sdhci-esdhc-imx.c | 12 +- trunk/drivers/mmc/host/sdhci-esdhc.h | 2 +- trunk/drivers/mmc/host/sdhci-of-esdhc.c | 12 +- trunk/drivers/mmc/host/sdhci-of-hlwd.c | 12 +- trunk/drivers/mmc/host/sdhci-pci-data.c | 5 + trunk/drivers/mmc/host/sdhci-pci.c | 181 +- trunk/drivers/mmc/host/sdhci-pxav2.c | 12 +- trunk/drivers/mmc/host/sdhci-pxav3.c | 12 +- trunk/drivers/mmc/host/sdhci-s3c.c | 18 +- trunk/drivers/mmc/host/sdhci-spear.c | 51 +- trunk/drivers/mmc/host/sdhci-tegra.c | 12 +- trunk/drivers/mmc/host/sdhci.c | 150 +- trunk/drivers/mmc/host/sdhci.h | 1 + trunk/drivers/mmc/host/sh_mmcif.c | 726 ++- trunk/drivers/mmc/host/sh_mobile_sdhi.c | 13 +- trunk/drivers/mmc/host/tifm_sd.c | 20 +- trunk/drivers/mmc/host/tmio_mmc.c | 14 +- trunk/drivers/mmc/host/tmio_mmc.h | 4 +- trunk/drivers/mmc/host/tmio_mmc_pio.c | 30 +- trunk/drivers/mmc/host/vub300.c | 10 +- trunk/drivers/mtd/mtdoops.c | 3 +- trunk/drivers/mtd/nand/au1550nd.c | 298 +- trunk/drivers/mtd/nand/pxa3xx_nand.c | 2 +- trunk/drivers/mtd/nand/r852.c | 2 +- trunk/drivers/mtd/ubi/cdev.c | 3 + trunk/drivers/mtd/ubi/debug.h | 5 +- trunk/drivers/mtd/ubi/vtbl.c | 6 +- trunk/drivers/net/bonding/bond_alb.c | 112 +- trunk/drivers/net/ethernet/8390/ax88796.c | 3 +- trunk/drivers/net/ethernet/adi/bfin_mac.c | 3 +- trunk/drivers/net/ethernet/amd/au1000_eth.c | 3 +- .../net/ethernet/broadcom/bcm63xx_enet.c | 2 +- .../net/ethernet/broadcom/sb1250-mac.c | 3 +- trunk/drivers/net/ethernet/cadence/macb.c | 3 +- trunk/drivers/net/ethernet/dnet.c | 3 +- trunk/drivers/net/ethernet/freescale/fec.c | 12 +- trunk/drivers/net/ethernet/freescale/fec.h | 4 + .../drivers/net/ethernet/freescale/gianfar.c | 34 +- .../drivers/net/ethernet/freescale/gianfar.h | 3 + trunk/drivers/net/ethernet/lantiq_etop.c | 5 +- .../net/ethernet/marvell/mv643xx_eth.c | 3 +- .../drivers/net/ethernet/marvell/pxa168_eth.c | 3 +- trunk/drivers/net/ethernet/micrel/ksz884x.c | 2 +- trunk/drivers/net/ethernet/renesas/sh_eth.c | 3 +- trunk/drivers/net/ethernet/s6gmac.c | 2 +- trunk/drivers/net/ethernet/smsc/smsc911x.c | 3 +- .../net/ethernet/stmicro/stmmac/mmc_core.c | 1 + .../net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +- .../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 3 +- .../ethernet/stmicro/stmmac/stmmac_platform.c | 2 +- trunk/drivers/net/ethernet/ti/cpmac.c | 2 +- trunk/drivers/net/ethernet/ti/davinci_mdio.c | 3 +- .../drivers/net/ethernet/tundra/tsi108_eth.c | 6 +- trunk/drivers/net/ethernet/via/via-rhine.c | 668 ++- .../drivers/net/ethernet/xscale/ixp4xx_eth.c | 2 +- trunk/drivers/net/irda/Kconfig | 6 +- trunk/drivers/net/irda/au1000_ircc.h | 125 - trunk/drivers/net/irda/au1k_ir.c | 1229 ++-- trunk/drivers/net/phy/dp83640.c | 2 +- trunk/drivers/net/phy/fixed.c | 2 +- trunk/drivers/net/phy/mdio-gpio.c | 2 +- trunk/drivers/net/phy/mdio-octeon.c | 3 +- trunk/drivers/net/phy/mdio_bus.c | 24 +- trunk/drivers/net/ppp/pptp.c | 4 +- trunk/drivers/net/usb/asix.c | 15 + trunk/drivers/net/virtio_net.c | 125 +- .../net/wireless/ath/ath9k/ar9003_phy.c | 2 +- trunk/drivers/net/wireless/ath/ath9k/ath9k.h | 1 - trunk/drivers/net/wireless/ath/ath9k/calib.c | 1 + trunk/drivers/net/wireless/ath/ath9k/calib.h | 1 - trunk/drivers/net/wireless/ath/ath9k/main.c | 8 +- .../wireless/brcm80211/brcmfmac/dhd_sdio.c | 4 +- .../net/wireless/brcm80211/brcmsmac/srom.c | 31 +- .../net/wireless/rtlwifi/rtl8192se/fw.c | 4 + trunk/drivers/of/address.c | 16 +- trunk/drivers/of/irq.c | 11 +- trunk/drivers/parport/parport_ip32.c | 2 +- trunk/drivers/parport/parport_pc.c | 4 +- trunk/drivers/pci/hotplug/acpi_pcihp.c | 2 +- trunk/drivers/pci/hotplug/acpiphp_core.c | 2 +- trunk/drivers/pci/hotplug/acpiphp_ibm.c | 2 +- trunk/drivers/pci/hotplug/cpcihp_zt5550.c | 4 +- trunk/drivers/pci/hotplug/cpqphp_core.c | 4 +- trunk/drivers/pci/hotplug/ibmphp_core.c | 2 +- trunk/drivers/pci/hotplug/pci_hotplug_core.c | 2 +- trunk/drivers/pci/hotplug/pciehp.h | 6 +- trunk/drivers/pci/hotplug/pciehp_core.c | 6 +- trunk/drivers/pci/hotplug/pcihp_skeleton.c | 2 +- trunk/drivers/pci/hotplug/rpaphp.h | 2 +- trunk/drivers/pci/hotplug/rpaphp_core.c | 2 +- trunk/drivers/pci/hotplug/shpchp.h | 4 +- trunk/drivers/pci/hotplug/shpchp_core.c | 4 +- trunk/drivers/pci/pci-sysfs.c | 2 +- trunk/drivers/pci/pcie/aer/aer_inject.c | 2 +- trunk/drivers/pci/pcie/aer/aerdrv_core.c | 4 +- trunk/drivers/pcmcia/Kconfig | 8 +- trunk/drivers/pcmcia/Makefile | 4 - trunk/drivers/pcmcia/au1000_generic.c | 545 -- trunk/drivers/pcmcia/au1000_generic.h | 135 - trunk/drivers/pcmcia/au1000_pb1x00.c | 294 - trunk/drivers/pcmcia/db1xxx_ss.c | 26 +- trunk/drivers/pcmcia/yenta_socket.c | 6 +- trunk/drivers/platform/x86/compal-laptop.c | 2 +- trunk/drivers/platform/x86/intel_oaktrail.c | 2 +- trunk/drivers/platform/x86/msi-laptop.c | 2 +- trunk/drivers/platform/x86/samsung-laptop.c | 4 +- trunk/drivers/platform/x86/thinkpad_acpi.c | 16 +- trunk/drivers/platform/x86/wmi.c | 4 +- trunk/drivers/power/ds2760_battery.c | 2 +- trunk/drivers/regulator/ab8500.c | 2 +- trunk/drivers/rtc/rtc-ab8500.c | 2 +- trunk/drivers/rtc/rtc-max8925.c | 26 + trunk/drivers/s390/char/raw3270.c | 2 +- trunk/drivers/s390/char/vmwatchdog.c | 4 +- trunk/drivers/s390/cio/cmf.c | 2 +- trunk/drivers/s390/kvm/kvm_virtio.c | 2 +- trunk/drivers/scsi/aha1542.c | 2 +- trunk/drivers/scsi/dc395x.c | 2 +- trunk/drivers/scsi/nsp32.c | 4 +- trunk/drivers/scsi/pcmcia/nsp_cs.c | 2 +- trunk/drivers/scsi/scsi_netlink.c | 2 +- trunk/drivers/scsi/scsi_scan.c | 2 +- trunk/drivers/scsi/sd.c | 13 +- trunk/drivers/sh/Makefile | 9 +- trunk/drivers/sh/clk/core.c | 9 +- trunk/drivers/sh/clk/cpg.c | 79 +- trunk/drivers/sh/pfc.c | 273 +- trunk/drivers/spi/Kconfig | 7 +- trunk/drivers/staging/comedi/comedi_fops.c | 2 +- trunk/drivers/staging/comedi/comedi_fops.h | 3 +- trunk/drivers/staging/media/as102/Kconfig | 1 + trunk/drivers/staging/media/as102/Makefile | 2 +- trunk/drivers/staging/media/as102/as102_drv.c | 126 +- trunk/drivers/staging/media/as102/as102_drv.h | 59 +- trunk/drivers/staging/media/as102/as102_fe.c | 81 +- trunk/drivers/staging/media/as102/as102_fw.c | 44 +- trunk/drivers/staging/media/as102/as102_fw.h | 10 +- .../staging/media/as102/as102_usb_drv.c | 48 +- .../staging/media/as102/as102_usb_drv.h | 6 +- trunk/drivers/staging/media/as102/as10x_cmd.c | 143 +- trunk/drivers/staging/media/as102/as10x_cmd.h | 895 ++- .../staging/media/as102/as10x_cmd_cfg.c | 66 +- .../staging/media/as102/as10x_cmd_stream.c | 56 +- .../staging/media/as102/as10x_handle.h | 26 +- .../drivers/staging/media/as102/as10x_types.h | 250 +- .../staging/media/dt3155v4l/dt3155v4l.c | 17 +- trunk/drivers/staging/media/easycap/easycap.h | 93 +- .../staging/media/easycap/easycap_ioctl.c | 60 +- .../staging/media/easycap/easycap_low.c | 273 +- .../staging/media/easycap/easycap_main.c | 379 +- .../staging/media/easycap/easycap_settings.c | 2 +- .../staging/media/easycap/easycap_sound.c | 340 +- .../drivers/staging/media/go7007/go7007-usb.c | 8 +- .../drivers/staging/media/go7007/snd-go7007.c | 2 +- trunk/drivers/staging/media/lirc/lirc_bt829.c | 2 +- .../staging/media/lirc/lirc_igorplugusb.c | 4 +- trunk/drivers/staging/media/lirc/lirc_imon.c | 4 +- .../staging/media/lirc/lirc_parallel.c | 6 +- .../drivers/staging/media/lirc/lirc_serial.c | 123 +- trunk/drivers/staging/media/lirc/lirc_sir.c | 2 +- trunk/drivers/staging/media/lirc/lirc_zilog.c | 4 +- trunk/drivers/staging/media/solo6x10/Makefile | 2 +- .../solo6x10/{jpeg.h => solo6x10-jpeg.h} | 0 .../drivers/staging/media/solo6x10/v4l2-enc.c | 2 +- trunk/drivers/staging/octeon/Makefile | 5 - trunk/drivers/staging/octeon/cvmx-packet.h | 65 - trunk/drivers/staging/octeon/cvmx-smix-defs.h | 178 - .../drivers/staging/octeon/ethernet-defines.h | 2 +- trunk/drivers/staging/octeon/ethernet-mdio.c | 4 +- trunk/drivers/staging/octeon/ethernet-mem.c | 2 +- trunk/drivers/staging/octeon/ethernet-rgmii.c | 4 +- trunk/drivers/staging/octeon/ethernet-rx.c | 16 +- trunk/drivers/staging/octeon/ethernet-rx.h | 2 +- trunk/drivers/staging/octeon/ethernet-sgmii.c | 4 +- trunk/drivers/staging/octeon/ethernet-spi.c | 6 +- trunk/drivers/staging/octeon/ethernet-tx.c | 12 +- trunk/drivers/staging/octeon/ethernet-xaui.c | 4 +- trunk/drivers/staging/octeon/ethernet.c | 16 +- .../staging/quatech_usb2/quatech_usb2.c | 2 +- trunk/drivers/staging/serqt_usb2/serqt_usb2.c | 2 +- trunk/drivers/staging/speakup/speakup.h | 2 +- trunk/drivers/staging/speakup/synth.c | 2 +- .../drivers/staging/vme/bridges/vme_tsi148.c | 2 +- trunk/drivers/tty/rocket.c | 2 +- trunk/drivers/tty/serial/Kconfig | 23 + trunk/drivers/tty/serial/Makefile | 1 + trunk/drivers/tty/serial/ar933x_uart.c | 688 +++ trunk/drivers/tty/serial/sh-sci.c | 183 +- trunk/drivers/tty/serial/sh-sci.h | 4 +- trunk/drivers/tty/synclink.c | 2 +- trunk/drivers/tty/synclinkmp.c | 2 +- trunk/drivers/usb/atm/speedtch.c | 6 +- trunk/drivers/usb/atm/ueagle-atm.c | 2 +- trunk/drivers/usb/core/devio.c | 2 +- trunk/drivers/usb/core/hub.c | 8 +- trunk/drivers/usb/core/usb.c | 2 +- trunk/drivers/usb/gadget/amd5536udc.c | 8 +- trunk/drivers/usb/gadget/ether.c | 4 +- trunk/drivers/usb/gadget/file_storage.c | 10 +- trunk/drivers/usb/gadget/net2272.c | 2 +- trunk/drivers/usb/gadget/net2280.c | 6 +- trunk/drivers/usb/gadget/omap_udc.c | 2 +- trunk/drivers/usb/gadget/pch_udc.c | 2 +- trunk/drivers/usb/gadget/serial.c | 4 +- trunk/drivers/usb/gadget/zero.c | 2 +- trunk/drivers/usb/host/Kconfig | 2 +- trunk/drivers/usb/host/alchemy-common.c | 277 + trunk/drivers/usb/host/ehci-ath79.c | 4 + trunk/drivers/usb/host/ehci-hcd.c | 2 +- trunk/drivers/usb/host/ehci-xilinx-of.c | 2 +- trunk/drivers/usb/host/ohci-au1xxx.c | 13 +- trunk/drivers/usb/host/ohci-hcd.c | 4 +- trunk/drivers/usb/host/oxu210hp-hcd.c | 2 +- trunk/drivers/usb/host/u132-hcd.c | 2 +- trunk/drivers/usb/host/uhci-hcd.c | 2 +- trunk/drivers/usb/misc/ftdi-elan.c | 2 +- trunk/drivers/usb/misc/iowarrior.c | 2 +- trunk/drivers/usb/musb/cppi_dma.c | 2 +- trunk/drivers/usb/musb/musb_core.c | 2 +- trunk/drivers/usb/otg/ab8500-usb.c | 2 +- trunk/drivers/usb/serial/aircable.c | 2 +- trunk/drivers/usb/serial/ark3116.c | 2 +- trunk/drivers/usb/serial/belkin_sa.c | 2 +- trunk/drivers/usb/serial/ch341.c | 2 +- trunk/drivers/usb/serial/cp210x.c | 2 +- trunk/drivers/usb/serial/cyberjack.c | 2 +- trunk/drivers/usb/serial/cypress_m8.c | 6 +- trunk/drivers/usb/serial/digi_acceleport.c | 2 +- trunk/drivers/usb/serial/empeg.c | 2 +- trunk/drivers/usb/serial/ftdi_sio.c | 2 +- trunk/drivers/usb/serial/funsoft.c | 2 +- trunk/drivers/usb/serial/garmin_gps.c | 2 +- trunk/drivers/usb/serial/io_edgeport.c | 2 +- trunk/drivers/usb/serial/io_ti.c | 4 +- trunk/drivers/usb/serial/ipaq.c | 2 +- trunk/drivers/usb/serial/ipw.c | 2 +- trunk/drivers/usb/serial/ir-usb.c | 2 +- trunk/drivers/usb/serial/iuu_phoenix.c | 6 +- trunk/drivers/usb/serial/keyspan.c | 2 +- trunk/drivers/usb/serial/keyspan_pda.c | 2 +- trunk/drivers/usb/serial/kl5kusb105.c | 2 +- trunk/drivers/usb/serial/mct_u232.c | 2 +- trunk/drivers/usb/serial/mos7720.c | 2 +- trunk/drivers/usb/serial/mos7840.c | 2 +- trunk/drivers/usb/serial/navman.c | 2 +- trunk/drivers/usb/serial/omninet.c | 2 +- trunk/drivers/usb/serial/opticon.c | 2 +- trunk/drivers/usb/serial/option.c | 2 +- trunk/drivers/usb/serial/oti6858.c | 2 +- trunk/drivers/usb/serial/pl2303.c | 2 +- trunk/drivers/usb/serial/qcserial.c | 2 +- trunk/drivers/usb/serial/safe_serial.c | 6 +- trunk/drivers/usb/serial/sierra.c | 4 +- trunk/drivers/usb/serial/spcp8x5.c | 2 +- trunk/drivers/usb/serial/ssu100.c | 2 +- trunk/drivers/usb/serial/symbolserial.c | 2 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 2 +- trunk/drivers/usb/serial/usb-serial.c | 2 +- trunk/drivers/usb/serial/usb_wwan.c | 2 +- trunk/drivers/usb/serial/visor.c | 2 +- trunk/drivers/usb/serial/whiteheat.c | 2 +- trunk/drivers/video/Kconfig | 9 +- trunk/drivers/video/Makefile | 2 +- trunk/drivers/video/amifb.c | 5012 ++++++++--------- trunk/drivers/video/atmel_lcdfb.c | 37 +- trunk/drivers/video/aty/atyfb_base.c | 4 +- trunk/drivers/video/aty/radeon_base.c | 18 +- trunk/drivers/video/au1100fb.c | 12 - trunk/drivers/video/au1200fb.c | 273 +- trunk/drivers/video/cirrusfb.c | 270 +- trunk/drivers/video/console/newport_con.c | 63 +- trunk/drivers/video/controlfb.c | 2 +- trunk/drivers/video/display/Kconfig | 24 - trunk/drivers/video/display/Makefile | 6 - trunk/drivers/video/display/display-sysfs.c | 219 - trunk/drivers/video/fbmem.c | 14 + trunk/drivers/video/fsl-diu-fb.c | 587 +- trunk/drivers/video/grvga.c | 4 +- trunk/drivers/video/hgafb.c | 2 +- trunk/drivers/video/i810/i810_main.c | 16 +- trunk/drivers/video/intelfb/intelfbdrv.c | 18 +- trunk/drivers/video/logo/logo.c | 2 +- trunk/drivers/video/matrox/matroxfb_base.c | 1 - trunk/drivers/video/matrox/matroxfb_crtc2.c | 1 - trunk/drivers/video/mbx/mbxfb.c | 13 +- trunk/drivers/video/mxsfb.c | 13 +- trunk/drivers/video/neofb.c | 10 +- trunk/drivers/video/nuc900fb.c | 13 +- trunk/drivers/video/nvidia/nvidia.c | 6 +- trunk/drivers/video/omap/lcd_ams_delta.c | 15 +- trunk/drivers/video/omap/lcd_h3.c | 16 +- trunk/drivers/video/omap/lcd_htcherald.c | 16 +- trunk/drivers/video/omap/lcd_inn1510.c | 16 +- trunk/drivers/video/omap/lcd_inn1610.c | 16 +- trunk/drivers/video/omap/lcd_mipid.c | 1 - trunk/drivers/video/omap/lcd_osk.c | 16 +- trunk/drivers/video/omap/lcd_palmte.c | 16 +- trunk/drivers/video/omap/lcd_palmtt.c | 15 +- trunk/drivers/video/omap/lcd_palmz71.c | 15 +- trunk/drivers/video/omap/omapfb_main.c | 4 +- trunk/drivers/video/omap2/displays/Kconfig | 2 +- .../video/omap2/displays/panel-acx565akm.c | 1 - .../video/omap2/displays/panel-generic-dpi.c | 66 + .../drivers/video/omap2/displays/panel-n8x0.c | 1 - .../omap2/displays/panel-nec-nl8048hl11-01b.c | 62 +- .../drivers/video/omap2/displays/panel-taal.c | 38 +- .../omap2/displays/panel-tpo-td043mtea1.c | 1 - trunk/drivers/video/omap2/dss/Makefile | 3 +- trunk/drivers/video/omap2/dss/apply.c | 1324 +++++ trunk/drivers/video/omap2/dss/core.c | 4 +- trunk/drivers/video/omap2/dss/dispc.c | 407 +- trunk/drivers/video/omap2/dss/dispc.h | 11 + trunk/drivers/video/omap2/dss/dispc_coefs.c | 326 ++ trunk/drivers/video/omap2/dss/dpi.c | 7 +- trunk/drivers/video/omap2/dss/dsi.c | 616 +- trunk/drivers/video/omap2/dss/dss.h | 76 +- trunk/drivers/video/omap2/dss/dss_features.c | 11 + trunk/drivers/video/omap2/dss/dss_features.h | 1 + trunk/drivers/video/omap2/dss/hdmi.c | 59 +- trunk/drivers/video/omap2/dss/manager.c | 1221 +--- trunk/drivers/video/omap2/dss/overlay.c | 435 +- trunk/drivers/video/omap2/dss/rfbi.c | 1 - trunk/drivers/video/omap2/dss/sdi.c | 8 +- trunk/drivers/video/omap2/dss/ti_hdmi.h | 10 +- .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 37 +- .../drivers/video/omap2/dss/ti_hdmi_4xxx_ip.h | 3 - trunk/drivers/video/omap2/dss/venc.c | 28 +- .../drivers/video/omap2/omapfb/omapfb-ioctl.c | 42 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 22 +- .../drivers/video/omap2/omapfb/omapfb-sysfs.c | 4 +- trunk/drivers/video/omap2/omapfb/omapfb.h | 13 +- trunk/drivers/video/pm2fb.c | 8 +- trunk/drivers/video/pm3fb.c | 4 +- trunk/drivers/video/pnx4008/pnxrgbfb.c | 13 +- trunk/drivers/video/pnx4008/sdum.c | 13 +- trunk/drivers/video/pxa168fb.c | 12 +- trunk/drivers/video/pxa3xx-gcu.c | 15 +- trunk/drivers/video/riva/fbdev.c | 6 +- trunk/drivers/video/s3c-fb.c | 202 +- trunk/drivers/video/s3c2410fb.c | 29 +- trunk/drivers/video/s3fb.c | 30 +- trunk/drivers/video/sbuslib.c | 2 +- trunk/drivers/video/sh7760fb.c | 13 +- trunk/drivers/video/sh_mipi_dsi.c | 218 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 375 +- trunk/drivers/video/sh_mobile_meram.c | 13 +- trunk/drivers/video/sm501fb.c | 13 +- trunk/drivers/video/smscufx.c | 4 +- trunk/drivers/video/sstfb.c | 6 +- trunk/drivers/video/tdfxfb.c | 2 +- trunk/drivers/video/udlfb.c | 6 +- trunk/drivers/video/uvesafb.c | 6 +- trunk/drivers/video/vfb.c | 2 +- trunk/drivers/video/vt8500lcdfb.c | 13 +- trunk/drivers/video/w100fb.c | 13 +- trunk/drivers/video/wm8505fb.c | 13 +- trunk/drivers/video/wmt_ge_rops.c | 13 +- trunk/drivers/video/xilinxfb.c | 20 +- trunk/drivers/virtio/virtio_balloon.c | 108 +- trunk/drivers/virtio/virtio_mmio.c | 4 +- trunk/drivers/virtio/virtio_pci.c | 110 +- trunk/drivers/virtio/virtio_ring.c | 245 +- trunk/drivers/watchdog/f71808e_wdt.c | 2 +- trunk/drivers/watchdog/mpc8xxx_wdt.c | 2 +- trunk/drivers/xen/xen-balloon.c | 2 +- trunk/drivers/xen/xen-pciback/conf_space.c | 2 +- trunk/drivers/xen/xen-pciback/xenbus.c | 2 +- trunk/fs/aio.c | 11 +- trunk/fs/autofs4/waitq.c | 2 +- trunk/fs/block_dev.c | 3 + trunk/fs/btrfs/Kconfig | 19 + trunk/fs/btrfs/Makefile | 3 +- trunk/fs/btrfs/backref.c | 1131 +++- trunk/fs/btrfs/backref.h | 5 + trunk/fs/btrfs/btrfs_inode.h | 3 + trunk/fs/btrfs/check-integrity.c | 3068 ++++++++++ trunk/fs/btrfs/check-integrity.h | 36 + trunk/fs/btrfs/ctree.c | 42 +- trunk/fs/btrfs/ctree.h | 239 +- trunk/fs/btrfs/delayed-inode.c | 45 +- trunk/fs/btrfs/delayed-ref.c | 153 +- trunk/fs/btrfs/delayed-ref.h | 104 +- trunk/fs/btrfs/disk-io.c | 124 +- trunk/fs/btrfs/disk-io.h | 6 +- trunk/fs/btrfs/export.c | 2 +- trunk/fs/btrfs/extent-tree.c | 465 +- trunk/fs/btrfs/extent_io.c | 6 +- trunk/fs/btrfs/extent_io.h | 2 + trunk/fs/btrfs/file.c | 11 +- trunk/fs/btrfs/free-space-cache.c | 417 +- trunk/fs/btrfs/inode-map.c | 4 + trunk/fs/btrfs/inode.c | 66 +- trunk/fs/btrfs/ioctl.c | 268 +- trunk/fs/btrfs/ioctl.h | 54 + trunk/fs/btrfs/locking.c | 53 +- trunk/fs/btrfs/relocation.c | 20 +- trunk/fs/btrfs/scrub.c | 12 +- trunk/fs/btrfs/super.c | 190 +- trunk/fs/btrfs/transaction.c | 20 +- trunk/fs/btrfs/tree-log.c | 2 +- trunk/fs/btrfs/ulist.c | 220 + trunk/fs/btrfs/ulist.h | 68 + trunk/fs/btrfs/volumes.c | 993 +++- trunk/fs/btrfs/volumes.h | 54 +- trunk/fs/btrfs/xattr.c | 2 +- trunk/fs/ceph/dir.c | 76 +- trunk/fs/ceph/export.c | 6 +- trunk/fs/ceph/inode.c | 3 +- trunk/fs/ceph/mds_client.c | 4 +- trunk/fs/ceph/super.c | 16 +- trunk/fs/ceph/super.h | 1 + trunk/fs/ceph/xattr.c | 22 + trunk/fs/compat_ioctl.c | 1 + trunk/fs/dcache.c | 11 +- trunk/fs/direct-io.c | 57 +- trunk/fs/eventpoll.c | 234 +- trunk/fs/fuse/dev.c | 57 +- trunk/fs/fuse/dir.c | 58 +- trunk/fs/fuse/file.c | 58 +- trunk/fs/fuse/fuse_i.h | 10 +- trunk/fs/gfs2/glock.c | 2 +- trunk/fs/gfs2/glock.h | 7 +- trunk/fs/gfs2/incore.h | 60 +- trunk/fs/gfs2/inode.c | 4 +- trunk/fs/gfs2/lock_dlm.c | 993 +++- trunk/fs/gfs2/main.c | 10 + trunk/fs/gfs2/ops_fstype.c | 31 +- trunk/fs/gfs2/recovery.c | 11 +- trunk/fs/gfs2/rgrp.c | 2 +- trunk/fs/gfs2/sys.c | 33 +- trunk/fs/gfs2/sys.h | 2 + trunk/fs/hugetlbfs/inode.c | 3 +- trunk/fs/ioprio.c | 24 +- trunk/fs/lockd/mon.c | 2 +- trunk/fs/mpage.c | 4 - trunk/fs/nfs/blocklayout/blocklayout.c | 202 +- trunk/fs/nfs/blocklayout/blocklayout.h | 12 +- trunk/fs/nfs/blocklayout/extents.c | 176 +- trunk/fs/nfs/callback.h | 2 +- trunk/fs/nfs/callback_xdr.c | 4 + trunk/fs/nfs/client.c | 2 +- trunk/fs/nfs/inode.c | 2 +- trunk/fs/nfs/internal.h | 2 +- trunk/fs/nfs/nfs4filelayoutdev.c | 2 +- trunk/fs/nfs/nfs4proc.c | 2 +- trunk/fs/nfs/write.c | 4 +- trunk/fs/nfsd/Kconfig | 10 + trunk/fs/nfsd/Makefile | 1 + trunk/fs/nfsd/export.c | 12 +- trunk/fs/nfsd/fault_inject.c | 91 + trunk/fs/nfsd/fault_inject.h | 28 + trunk/fs/nfsd/nfs4idmap.c | 11 +- trunk/fs/nfsd/nfs4proc.c | 7 +- trunk/fs/nfsd/nfs4recover.c | 22 +- trunk/fs/nfsd/nfs4state.c | 328 +- trunk/fs/nfsd/nfs4xdr.c | 3 +- trunk/fs/nfsd/nfsctl.c | 10 +- trunk/fs/nfsd/nfsd.h | 20 +- trunk/fs/nfsd/state.h | 3 +- trunk/fs/nfsd/vfs.c | 17 +- trunk/fs/notify/mark.c | 8 +- trunk/fs/ntfs/super.c | 2 +- trunk/fs/pipe.c | 2 +- trunk/fs/proc/array.c | 9 +- trunk/fs/proc/base.c | 147 +- trunk/fs/squashfs/cache.c | 30 +- trunk/fs/squashfs/inode.c | 4 +- trunk/fs/squashfs/squashfs_fs_sb.h | 1 + trunk/fs/squashfs/super.c | 2 +- trunk/fs/ubifs/debug.c | 90 +- trunk/fs/ubifs/debug.h | 75 +- trunk/fs/ubifs/journal.c | 7 +- trunk/fs/ubifs/replay.c | 8 +- trunk/fs/ubifs/tnc.c | 55 +- trunk/fs/ubifs/tnc_misc.c | 10 +- trunk/fs/xfs/xfs_aops.c | 29 +- trunk/fs/xfs/xfs_attr.c | 4 - trunk/fs/xfs/xfs_attr_leaf.c | 9 - trunk/fs/xfs/xfs_bmap.c | 116 +- trunk/fs/xfs/xfs_dfrag.c | 43 +- trunk/fs/xfs/xfs_file.c | 184 +- trunk/fs/xfs/xfs_fs_subr.c | 2 +- trunk/fs/xfs/xfs_iget.c | 24 +- trunk/fs/xfs/xfs_inode.c | 193 +- trunk/fs/xfs/xfs_inode.h | 114 +- trunk/fs/xfs/xfs_inode_item.c | 8 +- trunk/fs/xfs/xfs_iomap.c | 46 +- trunk/fs/xfs/xfs_iops.c | 46 +- trunk/fs/xfs/xfs_qm_syscalls.c | 8 +- trunk/fs/xfs/xfs_super.c | 8 - trunk/fs/xfs/xfs_sync.c | 9 +- trunk/fs/xfs/xfs_trace.h | 29 +- trunk/fs/xfs/xfs_vnodeops.c | 44 +- trunk/include/acpi/acpixf.h | 2 +- trunk/include/acpi/apei.h | 4 +- trunk/include/asm-generic/gpio.h | 4 + trunk/include/asm-generic/param.h | 13 +- trunk/include/asm-generic/tlb.h | 14 + trunk/include/drm/drm_crtc.h | 2 +- trunk/include/linux/acct.h | 3 + trunk/include/linux/amba/mmci.h | 2 + trunk/include/linux/amba/pl061.h | 2 +- trunk/include/linux/bio.h | 66 +- trunk/include/linux/blkdev.h | 104 +- trunk/include/linux/capability.h | 4 +- trunk/include/linux/compiler-gcc.h | 5 + trunk/include/linux/console.h | 2 +- trunk/include/linux/crash_dump.h | 1 + trunk/include/linux/cred.h | 6 +- trunk/include/linux/cuda.h | 5 + trunk/include/linux/dcache.h | 1 + trunk/include/linux/display.h | 61 - trunk/include/linux/dvb/frontend.h | 19 +- trunk/include/linux/dvb/version.h | 2 +- trunk/include/linux/elevator.h | 41 +- trunk/include/linux/elf.h | 18 +- trunk/include/linux/eventpoll.h | 1 + trunk/include/linux/fb.h | 14 +- trunk/include/linux/fs.h | 15 +- trunk/include/linux/ftrace.h | 77 +- trunk/include/linux/fuse.h | 16 +- trunk/include/linux/gfs2_ondisk.h | 2 + trunk/include/linux/huge_mm.h | 2 +- trunk/include/linux/i2c/twl.h | 2 + trunk/include/linux/inet_diag.h | 14 +- trunk/include/linux/init.h | 3 +- trunk/include/linux/iocontext.h | 136 +- trunk/include/linux/isdn_divertif.h | 4 + trunk/include/linux/kernel.h | 13 +- trunk/include/linux/kmemleak.h | 8 + trunk/include/linux/kmsg_dump.h | 1 - trunk/include/linux/kref.h | 1 + trunk/include/linux/linkage.h | 4 - trunk/include/linux/lockd/lockd.h | 2 +- trunk/include/linux/memcontrol.h | 105 +- trunk/include/linux/mfd/88pm860x.h | 3 +- .../linux/mfd/{ab5500 => abx500}/ab5500.h | 0 .../{ab8500/gpadc.h => abx500/ab8500-gpadc.h} | 0 .../{ab8500/gpio.h => abx500/ab8500-gpio.h} | 0 .../sysctrl.h => abx500/ab8500-sysctrl.h} | 0 trunk/include/linux/mfd/{ => abx500}/ab8500.h | 0 trunk/include/linux/mfd/max8925.h | 2 + trunk/include/linux/mfd/max8997.h | 83 +- trunk/include/linux/mfd/mc13xxx.h | 8 + trunk/include/linux/mfd/mcp.h | 7 +- trunk/include/linux/mfd/s5m87xx/s5m-core.h | 373 ++ trunk/include/linux/mfd/s5m87xx/s5m-pmic.h | 100 + trunk/include/linux/mfd/s5m87xx/s5m-rtc.h | 84 + trunk/include/linux/mfd/stmpe.h | 16 +- trunk/include/linux/mfd/ucb1x00.h | 5 +- trunk/include/linux/mfd/wm8994/core.h | 7 +- trunk/include/linux/mfd/wm8994/pdata.h | 31 +- trunk/include/linux/mfd/wm8994/registers.h | 112 + trunk/include/linux/migrate.h | 23 +- trunk/include/linux/mm_inline.h | 44 +- trunk/include/linux/mm_types.h | 9 +- trunk/include/linux/mmc/card.h | 23 +- trunk/include/linux/mmc/cd-gpio.h | 19 + trunk/include/linux/mmc/core.h | 2 + trunk/include/linux/mmc/dw_mmc.h | 1 + trunk/include/linux/mmc/host.h | 27 +- trunk/include/linux/mmc/mmc.h | 72 +- trunk/include/linux/mmc/sdhci-pci-data.h | 18 + trunk/include/linux/mmc/sdhci.h | 3 +- trunk/include/linux/mmc/sdio.h | 29 +- trunk/include/linux/mmzone.h | 28 +- trunk/include/linux/mod_devicetable.h | 11 + trunk/include/linux/module.h | 21 +- trunk/include/linux/moduleparam.h | 17 +- trunk/include/linux/mroute6.h | 4 +- trunk/include/linux/oom.h | 2 +- trunk/include/linux/page_cgroup.h | 46 +- trunk/include/linux/pagevec.h | 12 +- trunk/include/linux/patchkey.h | 4 +- trunk/include/linux/phy.h | 7 +- trunk/include/linux/pkt_sched.h | 20 + trunk/include/linux/pmu.h | 4 + trunk/include/linux/prctl.h | 12 + trunk/include/linux/ptrace.h | 5 +- trunk/include/linux/radix-tree.h | 3 - trunk/include/linux/rmap.h | 4 +- trunk/include/linux/sched.h | 2 +- trunk/include/linux/security.h | 60 +- trunk/include/linux/serial_core.h | 4 + trunk/include/linux/serial_sci.h | 22 + trunk/include/linux/sh_clk.h | 10 +- trunk/include/linux/sh_pfc.h | 22 +- trunk/include/linux/sigma.h | 55 - trunk/include/linux/sound.h | 4 + trunk/include/linux/soundcard.h | 4 +- trunk/include/linux/sunrpc/svc_xprt.h | 3 +- trunk/include/linux/sunrpc/svcsock.h | 2 +- trunk/include/linux/tty_driver.h | 1 - trunk/include/linux/videodev2.h | 58 +- trunk/include/linux/virtio.h | 75 +- trunk/include/linux/virtio_ring.h | 1 + trunk/include/linux/zorro_ids.h | 4 +- trunk/include/media/as3645a.h | 71 + trunk/include/media/atmel-isi.h | 4 +- trunk/include/media/cx25840.h | 1 + trunk/include/media/davinci/vpbe.h | 16 + trunk/include/media/davinci/vpbe_venc.h | 4 + trunk/include/media/media-entity.h | 2 +- trunk/include/media/omap3isp.h | 2 +- trunk/include/media/pwc-ioctl.h | 323 -- trunk/include/media/rc-map.h | 10 +- trunk/include/media/soc_camera.h | 2 +- trunk/include/media/v4l2-ioctl.h | 4 + trunk/include/net/bluetooth/hci_core.h | 4 +- trunk/include/net/red.h | 3 +- trunk/include/sound/Kbuild | 2 + trunk/include/sound/compress_driver.h | 167 + trunk/include/sound/compress_offload.h | 161 + trunk/include/sound/compress_params.h | 397 ++ trunk/include/sound/control.h | 8 + trunk/include/sound/core.h | 1 + trunk/include/sound/minors.h | 4 +- trunk/include/sound/sh_fsi.h | 12 + trunk/include/sound/soc-dapm.h | 5 + trunk/include/sound/soc.h | 27 +- trunk/include/sound/sta32x.h | 35 + trunk/include/sound/wm8903.h | 7 +- trunk/include/trace/events/btrfs.h | 203 + trunk/include/trace/events/vmscan.h | 22 +- trunk/include/video/edid.h | 6 +- trunk/include/video/omapdss.h | 58 +- trunk/include/video/sh_mipi_dsi.h | 21 +- trunk/include/video/sh_mobile_lcdc.h | 4 +- trunk/include/xen/interface/io/blkif.h | 40 +- trunk/init/Kconfig | 14 +- trunk/init/main.c | 2 +- trunk/kernel/Makefile | 3 +- trunk/kernel/async.c | 2 - trunk/kernel/audit.c | 4 +- trunk/kernel/capability.c | 80 +- trunk/kernel/debug/kdb/kdb_main.c | 2 +- trunk/kernel/exit.c | 6 +- trunk/kernel/fork.c | 8 +- trunk/kernel/irq/internals.h | 2 +- trunk/kernel/irq/spurious.c | 2 +- trunk/kernel/kexec.c | 25 +- trunk/kernel/kprobes.c | 2 +- trunk/kernel/module.c | 205 +- trunk/kernel/panic.c | 26 +- trunk/kernel/params.c | 38 +- trunk/kernel/pid.c | 4 +- trunk/kernel/pid_namespace.c | 31 + trunk/kernel/power/swap.c | 13 +- trunk/kernel/printk.c | 10 +- trunk/kernel/ptrace.c | 14 +- trunk/kernel/sched/core.c | 9 +- trunk/kernel/sched/fair.c | 10 +- trunk/kernel/sys.c | 121 + trunk/kernel/trace/ftrace.c | 715 ++- trunk/kernel/trace/trace_events_filter.c | 283 +- trunk/kernel/trace/trace_stack.c | 30 +- trunk/lib/Kconfig.debug | 2 +- trunk/lib/decompress_unlzo.c | 2 +- trunk/lib/radix-tree.c | 154 +- trunk/mm/compaction.c | 5 +- trunk/mm/filemap.c | 18 +- trunk/mm/huge_memory.c | 93 +- trunk/mm/kmemleak.c | 158 +- trunk/mm/ksm.c | 11 + trunk/mm/memcontrol.c | 1102 ++-- trunk/mm/memory-failure.c | 2 +- trunk/mm/memory.c | 4 +- trunk/mm/memory_hotplug.c | 2 +- trunk/mm/mempolicy.c | 2 +- trunk/mm/migrate.c | 173 +- trunk/mm/oom_kill.c | 42 +- trunk/mm/page_alloc.c | 55 +- trunk/mm/page_cgroup.c | 164 +- trunk/mm/percpu.c | 12 +- trunk/mm/rmap.c | 20 +- trunk/mm/slub.c | 9 +- trunk/mm/swap.c | 79 +- trunk/mm/swap_state.c | 10 + trunk/mm/swapfile.c | 9 +- trunk/mm/vmalloc.c | 9 +- trunk/mm/vmscan.c | 680 ++- trunk/mm/vmstat.c | 2 +- trunk/net/9p/trans_virtio.c | 6 +- trunk/net/bluetooth/af_bluetooth.c | 8 +- trunk/net/bluetooth/hci_event.c | 22 +- trunk/net/bluetooth/hci_sock.c | 2 - trunk/net/bluetooth/l2cap_core.c | 26 +- trunk/net/bluetooth/l2cap_sock.c | 2 + trunk/net/bluetooth/mgmt.c | 4 +- trunk/net/bluetooth/rfcomm/sock.c | 12 +- trunk/net/bluetooth/rfcomm/tty.c | 22 +- trunk/net/bluetooth/sco.c | 8 +- trunk/net/ceph/crush/mapper.c | 11 +- trunk/net/ceph/crypto.c | 3 +- trunk/net/ceph/osd_client.c | 21 +- trunk/net/core/net-sysfs.c | 6 +- trunk/net/core/netpoll.c | 2 +- trunk/net/core/rtnetlink.c | 2 +- trunk/net/dccp/diag.c | 4 +- trunk/net/decnet/dn_dev.c | 4 +- trunk/net/decnet/netfilter/dn_rtmsg.c | 2 +- trunk/net/ipv4/devinet.c | 2 +- trunk/net/ipv4/fib_trie.c | 10 +- trunk/net/ipv4/igmp.c | 8 +- trunk/net/ipv4/inet_diag.c | 42 +- trunk/net/ipv4/ipip.c | 8 +- trunk/net/ipv4/ipmr.c | 2 +- trunk/net/ipv4/netfilter/ip_queue.c | 2 +- trunk/net/ipv4/tcp_diag.c | 4 +- trunk/net/ipv4/tcp_memcontrol.c | 2 +- trunk/net/ipv4/udp_diag.c | 14 +- trunk/net/ipv6/addrconf.c | 2 +- trunk/net/ipv6/ip6_tunnel.c | 8 +- trunk/net/ipv6/netfilter/ip6_queue.c | 2 +- trunk/net/ipv6/raw.c | 2 +- trunk/net/ipv6/sit.c | 10 +- trunk/net/mac80211/agg-rx.c | 2 +- trunk/net/mac80211/cfg.c | 4 +- trunk/net/mac80211/ibss.c | 2 +- trunk/net/mac80211/sta_info.c | 6 +- trunk/net/mac80211/wpa.c | 2 +- trunk/net/netfilter/nf_conntrack_core.c | 2 +- trunk/net/netfilter/nf_conntrack_ecache.c | 4 +- trunk/net/netfilter/nf_conntrack_extend.c | 2 +- trunk/net/netfilter/nf_conntrack_helper.c | 2 +- trunk/net/netfilter/nf_conntrack_netlink.c | 2 +- trunk/net/netfilter/nf_log.c | 6 +- trunk/net/netfilter/nf_queue.c | 2 +- trunk/net/netfilter/nfnetlink.c | 6 +- trunk/net/netlabel/netlabel_domainhash.c | 4 +- trunk/net/netlabel/netlabel_unlabeled.c | 6 +- trunk/net/netlink/genetlink.c | 2 +- trunk/net/phonet/af_phonet.c | 2 +- trunk/net/phonet/pn_dev.c | 2 +- trunk/net/phonet/socket.c | 2 +- trunk/net/rds/iw_rdma.c | 15 +- trunk/net/sched/sch_sfq.c | 146 +- trunk/net/socket.c | 2 +- trunk/net/sunrpc/auth_gss/auth_gss.c | 2 +- trunk/net/sunrpc/cache.c | 2 + trunk/net/sunrpc/svc.c | 25 +- trunk/net/sunrpc/svc_xprt.c | 62 +- trunk/net/sunrpc/svcsock.c | 8 +- .../net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- trunk/net/wireless/nl80211.c | 34 +- trunk/net/xfrm/xfrm_user.c | 4 +- trunk/scripts/Makefile.headersinst | 10 +- trunk/scripts/Makefile.lib | 8 +- trunk/scripts/checksyscalls.sh | 15 +- trunk/scripts/coccicheck | 19 +- .../api/devm_request_and_ioremap.cocci | 105 + trunk/scripts/coccinelle/api/kstrdup.cocci | 75 +- trunk/scripts/coccinelle/api/memdup.cocci | 34 +- .../scripts/coccinelle/api/memdup_user.cocci | 39 +- trunk/scripts/coccinelle/free/devm_free.cocci | 71 + trunk/scripts/coccinelle/free/kfree.cocci | 14 +- trunk/scripts/coccinelle/iterators/fen.cocci | 73 +- .../scripts/coccinelle/iterators/itnull.cocci | 54 +- .../scripts/coccinelle/locks/call_kern.cocci | 67 +- trunk/scripts/coccinelle/locks/flags.cocci | 12 +- .../scripts/coccinelle/locks/mini_lock.cocci | 15 +- .../scripts/coccinelle/misc/doubleinit.cocci | 8 +- trunk/scripts/coccinelle/null/eno.cocci | 36 +- trunk/scripts/dtc/dtc.c | 21 +- trunk/scripts/dtc/srcpos.c | 4 + trunk/scripts/dtc/srcpos.h | 1 + trunk/scripts/genksyms/Makefile | 1 + trunk/scripts/kconfig/Makefile | 6 +- trunk/scripts/kconfig/confdata.c | 4 +- trunk/scripts/kconfig/expr.h | 1 + trunk/scripts/kconfig/gconf.c | 11 +- trunk/scripts/kconfig/lkc.h | 6 +- trunk/scripts/kconfig/mconf.c | 2 + trunk/scripts/kconfig/merge_config.sh | 117 + trunk/scripts/kconfig/streamline_config.pl | 52 +- trunk/scripts/mod/file2alias.c | 222 +- trunk/scripts/recordmcount.h | 2 +- trunk/scripts/tags.sh | 48 +- trunk/security/apparmor/include/apparmor.h | 10 +- trunk/security/apparmor/lsm.c | 20 +- trunk/security/capability.c | 1 - trunk/security/commoncap.c | 24 +- trunk/security/security.c | 35 +- trunk/security/selinux/hooks.c | 44 +- trunk/sound/arm/pxa2xx-ac97.c | 13 +- trunk/sound/core/Kconfig | 6 + trunk/sound/core/Makefile | 5 + trunk/sound/core/compress_offload.c | 765 +++ trunk/sound/core/ctljack.c | 56 + trunk/sound/core/oss/pcm_oss.c | 2 +- trunk/sound/core/seq/seq_dummy.c | 2 +- trunk/sound/core/sound.c | 1 + trunk/sound/drivers/aloop.c | 2 +- trunk/sound/drivers/dummy.c | 6 +- trunk/sound/drivers/ml403-ac97cr.c | 15 +- trunk/sound/drivers/mpu401/mpu401.c | 6 +- trunk/sound/drivers/mts64.c | 2 +- trunk/sound/drivers/opl3/opl3_midi.c | 2 +- trunk/sound/drivers/opl3/opl3_seq.c | 2 +- trunk/sound/drivers/pcsp/pcsp.c | 4 +- trunk/sound/drivers/pcsp/pcsp_lib.c | 2 +- trunk/sound/drivers/portman2x4.c | 2 +- trunk/sound/drivers/serial-u16550.c | 4 +- trunk/sound/drivers/virmidi.c | 2 +- trunk/sound/isa/ad1816a/ad1816a.c | 2 +- trunk/sound/isa/ad1848/ad1848.c | 4 +- trunk/sound/isa/adlib.c | 2 +- trunk/sound/isa/als100.c | 2 +- trunk/sound/isa/azt2320.c | 2 +- trunk/sound/isa/cmi8330.c | 4 +- trunk/sound/isa/cs423x/cs4231.c | 2 +- trunk/sound/isa/cs423x/cs4236.c | 4 +- trunk/sound/isa/es1688/es1688.c | 4 +- trunk/sound/isa/es18xx.c | 4 +- trunk/sound/isa/galaxy/galaxy.c | 2 +- trunk/sound/isa/gus/gusclassic.c | 2 +- trunk/sound/isa/gus/gusextreme.c | 2 +- trunk/sound/isa/gus/gusmax.c | 2 +- trunk/sound/isa/gus/interwave.c | 4 +- trunk/sound/isa/msnd/msnd_pinnacle.c | 2 +- trunk/sound/isa/opl3sa2.c | 4 +- trunk/sound/isa/opti9xx/miro.c | 2 +- trunk/sound/isa/opti9xx/opti92x-ad1848.c | 2 +- trunk/sound/isa/sb/jazz16.c | 2 +- trunk/sound/isa/sb/sb16.c | 4 +- trunk/sound/isa/sb/sb8.c | 2 +- trunk/sound/isa/sc6000.c | 2 +- trunk/sound/isa/wavefront/wavefront.c | 6 +- trunk/sound/mips/hal2.c | 13 +- trunk/sound/mips/sgio2audio.c | 13 +- trunk/sound/oss/ad1848.c | 8 +- trunk/sound/oss/msnd_pinnacle.c | 2 +- trunk/sound/oss/pas2_card.c | 12 +- trunk/sound/oss/pss.c | 10 +- trunk/sound/oss/trix.c | 2 +- trunk/sound/pci/ac97/ac97_codec.c | 2 +- trunk/sound/pci/ad1889.c | 2 +- trunk/sound/pci/ali5451/ali5451.c | 4 +- trunk/sound/pci/als300.c | 9 +- trunk/sound/pci/als4000.c | 2 +- trunk/sound/pci/asihpi/asihpi.c | 294 +- trunk/sound/pci/asihpi/hpi.h | 74 +- trunk/sound/pci/asihpi/hpi6000.c | 61 +- trunk/sound/pci/asihpi/hpi6000.h | 2 +- trunk/sound/pci/asihpi/hpi6205.c | 57 +- trunk/sound/pci/asihpi/hpi_internal.h | 115 +- trunk/sound/pci/asihpi/hpi_version.h | 32 + trunk/sound/pci/asihpi/hpicmn.c | 32 +- trunk/sound/pci/asihpi/hpicmn.h | 13 +- trunk/sound/pci/asihpi/hpidebug.c | 2 +- trunk/sound/pci/asihpi/hpidebug.h | 2 +- trunk/sound/pci/asihpi/hpidspcd.c | 30 +- trunk/sound/pci/asihpi/hpidspcd.h | 4 - trunk/sound/pci/asihpi/hpifunc.c | 10 + trunk/sound/pci/asihpi/hpimsginit.c | 2 +- trunk/sound/pci/asihpi/hpimsginit.h | 2 +- trunk/sound/pci/asihpi/hpimsgx.c | 3 +- trunk/sound/pci/asihpi/hpimsgx.h | 2 +- trunk/sound/pci/asihpi/hpioctl.c | 63 +- trunk/sound/pci/asihpi/hpioctl.h | 2 +- trunk/sound/pci/asihpi/hpios.c | 2 +- trunk/sound/pci/asihpi/hpios.h | 16 +- trunk/sound/pci/asihpi/hpipcida.h | 2 +- trunk/sound/pci/atiixp.c | 4 +- trunk/sound/pci/atiixp_modem.c | 2 +- trunk/sound/pci/au88x0/au88x0.c | 15 +- trunk/sound/pci/au88x0/au88x0.h | 1 + trunk/sound/pci/au88x0/au88x0_core.c | 10 +- trunk/sound/pci/au88x0/au88x0_pcm.c | 8 +- trunk/sound/pci/au88x0/au88x0_xtalk.c | 151 +- trunk/sound/pci/aw2/aw2-alsa.c | 2 +- trunk/sound/pci/azt3328.c | 2 +- trunk/sound/pci/bt87x.c | 4 +- trunk/sound/pci/ca0106/ca0106_main.c | 2 +- trunk/sound/pci/cmipci.c | 4 +- trunk/sound/pci/cs4281.c | 4 +- trunk/sound/pci/cs46xx/cs46xx.c | 8 +- trunk/sound/pci/cs5530.c | 9 +- trunk/sound/pci/cs5535audio/cs5535audio.c | 2 +- trunk/sound/pci/ctxfi/ctsrc.c | 2 +- trunk/sound/pci/ctxfi/cttimer.c | 4 +- trunk/sound/pci/ctxfi/xfi.c | 2 +- trunk/sound/pci/echoaudio/echoaudio.c | 2 +- trunk/sound/pci/emu10k1/emu10k1.c | 4 +- trunk/sound/pci/emu10k1/emu10k1_main.c | 12 + trunk/sound/pci/emu10k1/emu10k1x.c | 2 +- trunk/sound/pci/ens1370.c | 4 +- trunk/sound/pci/es1938.c | 2 +- trunk/sound/pci/es1968.c | 4 +- trunk/sound/pci/fm801.c | 2 +- trunk/sound/pci/hda/Kconfig | 1 + trunk/sound/pci/hda/Makefile | 2 +- trunk/sound/pci/hda/alc262_quirks.c | 875 --- trunk/sound/pci/hda/alc880_quirks.c | 193 - trunk/sound/pci/hda/alc882_quirks.c | 2933 +--------- trunk/sound/pci/hda/hda_codec.c | 302 +- trunk/sound/pci/hda/hda_codec.h | 6 +- trunk/sound/pci/hda/hda_intel.c | 113 +- trunk/sound/pci/hda/hda_jack.c | 353 ++ trunk/sound/pci/hda/hda_jack.h | 86 + trunk/sound/pci/hda/hda_local.h | 51 +- trunk/sound/pci/hda/hda_proc.c | 2 + trunk/sound/pci/hda/patch_analog.c | 1 + trunk/sound/pci/hda/patch_ca0110.c | 6 +- trunk/sound/pci/hda/patch_cirrus.c | 187 +- trunk/sound/pci/hda/patch_conexant.c | 79 +- trunk/sound/pci/hda/patch_hdmi.c | 59 +- trunk/sound/pci/hda/patch_realtek.c | 693 ++- trunk/sound/pci/hda/patch_sigmatel.c | 250 +- trunk/sound/pci/hda/patch_via.c | 30 +- trunk/sound/pci/ice1712/amp.c | 7 +- trunk/sound/pci/ice1712/envy24ht.h | 1 + trunk/sound/pci/ice1712/ice1712.c | 4 +- trunk/sound/pci/ice1712/ice1724.c | 65 +- trunk/sound/pci/intel8x0.c | 10 +- trunk/sound/pci/intel8x0m.c | 2 +- trunk/sound/pci/korg1212/korg1212.c | 2 +- trunk/sound/pci/lola/lola.c | 2 +- trunk/sound/pci/lx6464es/lx6464es.c | 2 +- trunk/sound/pci/maestro3.c | 4 +- trunk/sound/pci/mixart/mixart.c | 2 +- trunk/sound/pci/nm256/nm256.c | 12 +- trunk/sound/pci/oxygen/oxygen.c | 2 +- trunk/sound/pci/oxygen/virtuoso.c | 2 +- trunk/sound/pci/oxygen/xonar_cs43xx.c | 1 + trunk/sound/pci/oxygen/xonar_dg.c | 3 +- trunk/sound/pci/oxygen/xonar_wm87x6.c | 7 +- trunk/sound/pci/pcxhr/pcxhr.c | 4 +- trunk/sound/pci/riptide/riptide.c | 2 +- trunk/sound/pci/rme32.c | 4 +- trunk/sound/pci/rme96.c | 2 +- trunk/sound/pci/rme9652/hdsp.c | 5 +- trunk/sound/pci/rme9652/hdspm.c | 32 +- trunk/sound/pci/rme9652/rme9652.c | 4 +- trunk/sound/pci/sis7019.c | 31 +- trunk/sound/pci/sonicvibes.c | 6 +- trunk/sound/pci/trident/trident.c | 2 +- trunk/sound/pci/via82xx.c | 4 +- trunk/sound/pci/via82xx_modem.c | 2 +- trunk/sound/pci/vx222/vx222.c | 4 +- trunk/sound/pci/ymfpci/ymfpci.c | 4 +- trunk/sound/pcmcia/pdaudiocf/pdaudiocf.c | 2 +- trunk/sound/pcmcia/vx/vxpocket.c | 2 +- trunk/sound/ppc/powermac.c | 2 +- trunk/sound/sh/aica.c | 2 +- trunk/sound/sh/sh_dac_audio.c | 13 +- trunk/sound/soc/Kconfig | 15 - trunk/sound/soc/atmel/Kconfig | 2 +- trunk/sound/soc/atmel/atmel-pcm.c | 17 +- trunk/sound/soc/atmel/atmel_ssc_dai.c | 14 +- trunk/sound/soc/atmel/sam9g20_wm8731.c | 1 + trunk/sound/soc/atmel/snd-soc-afeb9260.c | 1 + trunk/sound/soc/au1x/Kconfig | 14 +- trunk/sound/soc/au1x/ac97c.c | 42 +- trunk/sound/soc/au1x/db1000.c | 14 +- trunk/sound/soc/au1x/db1200.c | 88 +- trunk/sound/soc/au1x/dbdma2.c | 29 +- trunk/sound/soc/au1x/dma.c | 27 +- trunk/sound/soc/au1x/i2sc.c | 58 +- trunk/sound/soc/au1x/psc-ac97.c | 43 +- trunk/sound/soc/au1x/psc-i2s.c | 57 +- trunk/sound/soc/blackfin/bf5xx-ac97-pcm.c | 17 +- trunk/sound/soc/blackfin/bf5xx-ac97.c | 13 +- trunk/sound/soc/blackfin/bf5xx-ad1836.c | 1 + trunk/sound/soc/blackfin/bf5xx-ad193x.c | 1 + trunk/sound/soc/blackfin/bf5xx-ad1980.c | 1 + trunk/sound/soc/blackfin/bf5xx-ad73311.c | 1 + trunk/sound/soc/blackfin/bf5xx-i2s-pcm.c | 17 +- trunk/sound/soc/blackfin/bf5xx-i2s.c | 15 +- trunk/sound/soc/blackfin/bf5xx-ssm2602.c | 1 + trunk/sound/soc/blackfin/bf5xx-tdm-pcm.c | 17 +- trunk/sound/soc/blackfin/bf5xx-tdm.c | 14 +- trunk/sound/soc/blackfin/bfin-eval-adau1373.c | 13 +- trunk/sound/soc/blackfin/bfin-eval-adau1701.c | 13 +- trunk/sound/soc/blackfin/bfin-eval-adav80x.c | 13 +- trunk/sound/soc/codecs/88pm860x-codec.c | 38 +- trunk/sound/soc/codecs/Kconfig | 25 +- trunk/sound/soc/codecs/Makefile | 22 +- trunk/sound/soc/codecs/ac97.c | 16 +- trunk/sound/soc/codecs/ad1836.c | 11 +- trunk/sound/soc/codecs/ad193x.c | 209 +- trunk/sound/soc/codecs/ad193x.h | 17 +- trunk/sound/soc/codecs/ad1980.c | 12 +- trunk/sound/soc/codecs/ad73311.c | 12 +- trunk/sound/soc/codecs/adau1373.c | 8 +- trunk/sound/soc/codecs/adau1701.c | 8 +- trunk/sound/soc/codecs/adav80x.c | 2 +- trunk/sound/soc/codecs/ads117x.c | 12 +- trunk/sound/soc/codecs/ak4104.c | 8 +- trunk/sound/soc/codecs/ak4535.c | 11 +- trunk/sound/soc/codecs/ak4641.c | 21 +- trunk/sound/soc/codecs/ak4642.c | 148 +- trunk/sound/soc/codecs/ak4671.c | 8 +- trunk/sound/soc/codecs/alc5623.c | 28 +- trunk/sound/soc/codecs/alc5632.c | 1159 ++++ trunk/sound/soc/codecs/alc5632.h | 251 + trunk/sound/soc/codecs/cq93vc.c | 14 +- trunk/sound/soc/codecs/cs4270.c | 11 +- trunk/sound/soc/codecs/cs4271.c | 4 +- trunk/sound/soc/codecs/cs42l51.c | 41 +- trunk/sound/soc/codecs/cs42l73.c | 1453 +++++ trunk/sound/soc/codecs/cs42l73.h | 227 + trunk/sound/soc/codecs/cx20442.c | 60 +- trunk/sound/soc/codecs/da7210.c | 91 +- trunk/sound/soc/codecs/dfbmcs320.c | 12 +- trunk/sound/soc/codecs/dmic.c | 12 +- trunk/sound/soc/codecs/jz4740.c | 28 +- trunk/sound/soc/codecs/lm4857.c | 13 +- trunk/sound/soc/codecs/max98088.c | 13 +- trunk/sound/soc/codecs/max98095.c | 16 +- trunk/sound/soc/codecs/max9850.c | 27 +- trunk/sound/soc/codecs/pcm3008.c | 14 +- trunk/sound/soc/codecs/rt5631.c | 12 +- trunk/sound/soc/codecs/sgtl5000.c | 21 +- .../sigma.c => sound/soc/codecs/sigmadsp.c} | 121 +- trunk/sound/soc/codecs/sigmadsp.h | 21 + trunk/sound/soc/codecs/sn95031.c | 22 +- trunk/sound/soc/codecs/spdif_transciever.c | 13 +- trunk/sound/soc/codecs/ssm2602.c | 17 +- trunk/sound/soc/codecs/sta32x.c | 103 +- trunk/sound/soc/codecs/stac9766.c | 21 +- trunk/sound/soc/codecs/tlv320aic23.c | 11 +- trunk/sound/soc/codecs/tlv320aic26.c | 10 +- trunk/sound/soc/codecs/tlv320aic32x4.c | 11 +- trunk/sound/soc/codecs/tlv320aic3x.c | 57 +- trunk/sound/soc/codecs/tlv320dac33.c | 11 +- trunk/sound/soc/codecs/tpa6130a2.c | 5 +- trunk/sound/soc/codecs/twl4030.c | 18 +- trunk/sound/soc/codecs/twl6040.c | 39 +- trunk/sound/soc/codecs/twl6040.h | 1 + trunk/sound/soc/codecs/uda134x.c | 17 +- trunk/sound/soc/codecs/uda1380.c | 66 +- trunk/sound/soc/codecs/wl1273.c | 14 +- trunk/sound/soc/codecs/wm1250-ev1.c | 10 +- trunk/sound/soc/codecs/wm2000.c | 227 +- trunk/sound/soc/codecs/wm2000.h | 7 - trunk/sound/soc/codecs/wm5100-tables.c | 1489 +++-- trunk/sound/soc/codecs/wm5100.c | 415 +- trunk/sound/soc/codecs/wm5100.h | 7 +- trunk/sound/soc/codecs/wm8350.c | 63 +- trunk/sound/soc/codecs/wm8400.c | 60 +- trunk/sound/soc/codecs/wm8510.c | 30 +- trunk/sound/soc/codecs/wm8523.c | 5 +- trunk/sound/soc/codecs/wm8580.c | 37 +- trunk/sound/soc/codecs/wm8711.c | 10 +- trunk/sound/soc/codecs/wm8727.c | 14 +- trunk/sound/soc/codecs/wm8728.c | 9 +- trunk/sound/soc/codecs/wm8731.c | 10 +- trunk/sound/soc/codecs/wm8737.c | 5 +- trunk/sound/soc/codecs/wm8741.c | 43 +- trunk/sound/soc/codecs/wm8750.c | 40 +- trunk/sound/soc/codecs/wm8753.c | 31 +- trunk/sound/soc/codecs/wm8770.c | 18 +- trunk/sound/soc/codecs/wm8776.c | 35 +- trunk/sound/soc/codecs/wm8782.c | 12 +- trunk/sound/soc/codecs/wm8804.c | 11 +- trunk/sound/soc/codecs/wm8900.c | 35 +- trunk/sound/soc/codecs/wm8903.c | 664 ++- trunk/sound/soc/codecs/wm8904.c | 9 +- trunk/sound/soc/codecs/wm8940.c | 11 +- trunk/sound/soc/codecs/wm8955.c | 7 +- trunk/sound/soc/codecs/wm8958-dsp2.c | 3 +- trunk/sound/soc/codecs/wm8960.c | 91 +- trunk/sound/soc/codecs/wm8961.c | 40 +- trunk/sound/soc/codecs/wm8962.c | 1646 +++--- trunk/sound/soc/codecs/wm8971.c | 9 +- trunk/sound/soc/codecs/wm8974.c | 9 +- trunk/sound/soc/codecs/wm8978.c | 5 +- trunk/sound/soc/codecs/wm8983.c | 7 +- trunk/sound/soc/codecs/wm8985.c | 7 +- trunk/sound/soc/codecs/wm8988.c | 9 +- trunk/sound/soc/codecs/wm8990.c | 11 +- trunk/sound/soc/codecs/wm8991.c | 9 +- trunk/sound/soc/codecs/wm8993.c | 35 +- trunk/sound/soc/codecs/wm8994-tables.c | 3147 ----------- trunk/sound/soc/codecs/wm8994.c | 659 ++- trunk/sound/soc/codecs/wm8994.h | 21 +- trunk/sound/soc/codecs/wm8995.c | 732 ++- trunk/sound/soc/codecs/wm8996.c | 945 ++-- trunk/sound/soc/codecs/wm9081.c | 368 +- trunk/sound/soc/codecs/wm9090.c | 22 +- trunk/sound/soc/codecs/wm9705.c | 16 +- trunk/sound/soc/codecs/wm9712.c | 19 +- trunk/sound/soc/codecs/wm9713.c | 21 +- trunk/sound/soc/codecs/wm_hubs.c | 8 +- trunk/sound/soc/davinci/davinci-evm.c | 6 + trunk/sound/soc/davinci/davinci-i2s.c | 53 +- trunk/sound/soc/davinci/davinci-mcasp.c | 54 +- trunk/sound/soc/davinci/davinci-pcm.c | 17 +- trunk/sound/soc/davinci/davinci-sffsdr.c | 1 + trunk/sound/soc/davinci/davinci-vcif.c | 28 +- trunk/sound/soc/ep93xx/edb93xx.c | 27 +- trunk/sound/soc/ep93xx/ep93xx-ac97.c | 14 +- trunk/sound/soc/ep93xx/ep93xx-i2s.c | 15 +- trunk/sound/soc/ep93xx/ep93xx-pcm.c | 18 +- trunk/sound/soc/ep93xx/simone.c | 13 +- trunk/sound/soc/ep93xx/snappercl15.c | 26 +- trunk/sound/soc/fsl/efika-audio-fabric.c | 14 +- trunk/sound/soc/fsl/fsl_dma.c | 15 +- trunk/sound/soc/fsl/fsl_ssi.c | 17 +- trunk/sound/soc/fsl/mpc5200_dma.c | 12 +- trunk/sound/soc/fsl/mpc5200_psc_ac97.c | 20 +- trunk/sound/soc/fsl/mpc5200_psc_i2s.c | 18 +- trunk/sound/soc/fsl/mpc8610_hpcd.c | 13 +- trunk/sound/soc/fsl/p1022_ds.c | 49 +- trunk/sound/soc/fsl/pcm030-audio-fabric.c | 14 +- trunk/sound/soc/imx/eukrea-tlv320.c | 1 + trunk/sound/soc/imx/imx-pcm-dma-mx2.c | 12 +- trunk/sound/soc/imx/imx-pcm-fiq.c | 12 +- trunk/sound/soc/imx/imx-ssi.c | 15 +- trunk/sound/soc/imx/mx27vis-aic32x4.c | 1 + trunk/sound/soc/imx/phycore-ac97.c | 1 + trunk/sound/soc/imx/wm1133-ev1.c | 1 + trunk/sound/soc/jz4740/jz4740-i2s.c | 14 +- trunk/sound/soc/jz4740/jz4740-pcm.c | 17 +- trunk/sound/soc/jz4740/qi_lb60.c | 1 + trunk/sound/soc/kirkwood/kirkwood-dma.c | 17 +- trunk/sound/soc/kirkwood/kirkwood-i2s.c | 17 +- trunk/sound/soc/kirkwood/kirkwood-openrd.c | 15 +- trunk/sound/soc/kirkwood/kirkwood-t5325.c | 25 +- trunk/sound/soc/kirkwood/kirkwood.h | 1 - trunk/sound/soc/mid-x86/Kconfig | 1 - trunk/sound/soc/mid-x86/mfld_machine.c | 17 +- trunk/sound/soc/mid-x86/sst_platform.c | 154 +- trunk/sound/soc/mid-x86/sst_platform.h | 82 +- trunk/sound/soc/mxs/mxs-pcm.c | 12 +- trunk/sound/soc/mxs/mxs-saif.c | 14 +- trunk/sound/soc/mxs/mxs-sgtl5000.c | 13 +- trunk/sound/soc/nuc900/nuc900-ac97.c | 17 +- trunk/sound/soc/nuc900/nuc900-audio.c | 1 + trunk/sound/soc/nuc900/nuc900-pcm.c | 12 +- trunk/sound/soc/omap/Kconfig | 5 + trunk/sound/soc/omap/Makefile | 2 + trunk/sound/soc/omap/am3517evm.c | 1 + trunk/sound/soc/omap/ams-delta.c | 11 +- trunk/sound/soc/omap/igep0020.c | 1 + trunk/sound/soc/omap/n810.c | 1 + trunk/sound/soc/omap/omap-dmic.c | 546 ++ trunk/sound/soc/omap/omap-dmic.h | 69 + trunk/sound/soc/omap/omap-hdmi.c | 14 +- trunk/sound/soc/omap/omap-mcbsp.c | 16 +- trunk/sound/soc/omap/omap-mcpdm.c | 19 +- trunk/sound/soc/omap/omap-pcm.c | 17 +- trunk/sound/soc/omap/omap3evm.c | 1 + trunk/sound/soc/omap/omap3pandora.c | 1 + trunk/sound/soc/omap/omap4-hdmi-card.c | 13 +- trunk/sound/soc/omap/osk5912.c | 1 + trunk/sound/soc/omap/overo.c | 1 + trunk/sound/soc/omap/rx51.c | 3 +- trunk/sound/soc/omap/sdp3430.c | 1 + trunk/sound/soc/omap/sdp4430.c | 86 +- trunk/sound/soc/omap/zoom2.c | 1 + trunk/sound/soc/pxa/corgi.c | 81 +- trunk/sound/soc/pxa/e740_wm9705.c | 84 +- trunk/sound/soc/pxa/e750_wm9705.c | 73 +- trunk/sound/soc/pxa/e800_wm9712.c | 73 +- trunk/sound/soc/pxa/em-x270.c | 1 + trunk/sound/soc/pxa/hx4700.c | 30 +- trunk/sound/soc/pxa/imote2.c | 58 +- trunk/sound/soc/pxa/magician.c | 1 + trunk/sound/soc/pxa/mioa701_wm9713.c | 14 +- trunk/sound/soc/pxa/palm27x.c | 14 +- trunk/sound/soc/pxa/poodle.c | 79 +- trunk/sound/soc/pxa/pxa-ssp.c | 14 +- trunk/sound/soc/pxa/pxa2xx-ac97.c | 18 +- trunk/sound/soc/pxa/pxa2xx-i2s.c | 2 +- trunk/sound/soc/pxa/pxa2xx-pcm.c | 12 +- trunk/sound/soc/pxa/raumfeld.c | 2 + trunk/sound/soc/pxa/saarb.c | 24 +- trunk/sound/soc/pxa/spitz.c | 38 +- trunk/sound/soc/pxa/tavorevb3.c | 25 +- trunk/sound/soc/pxa/tosa.c | 78 +- trunk/sound/soc/pxa/z2.c | 29 +- trunk/sound/soc/pxa/zylonite.c | 1 + trunk/sound/soc/s6000/s6000-i2s.c | 14 +- trunk/sound/soc/s6000/s6000-pcm.c | 12 +- trunk/sound/soc/s6000/s6105-ipcam.c | 1 + trunk/sound/soc/samsung/Kconfig | 18 +- trunk/sound/soc/samsung/Makefile | 8 +- trunk/sound/soc/samsung/ac97.c | 16 +- trunk/sound/soc/samsung/dma.c | 17 +- trunk/sound/soc/samsung/goni_wm8994.c | 1 + trunk/sound/soc/samsung/h1940_uda1380.c | 1 + trunk/sound/soc/samsung/i2s.c | 42 +- trunk/sound/soc/samsung/idma.c | 20 +- trunk/sound/soc/samsung/idma.h | 2 +- trunk/sound/soc/samsung/jive_wm8750.c | 1 + trunk/sound/soc/samsung/littlemill.c | 253 + trunk/sound/soc/samsung/ln2440sbc_alc650.c | 1 + trunk/sound/soc/samsung/lowland.c | 237 + trunk/sound/soc/samsung/neo1973_wm8753.c | 1 + trunk/sound/soc/samsung/pcm.c | 34 +- trunk/sound/soc/samsung/rx1950_uda1380.c | 1 + trunk/sound/soc/samsung/s3c2412-i2s.c | 14 +- trunk/sound/soc/samsung/s3c24xx-i2s.c | 14 +- .../sound/soc/samsung/s3c24xx_simtec_hermes.c | 17 +- .../soc/samsung/s3c24xx_simtec_tlv320aic23.c | 19 +- trunk/sound/soc/samsung/s3c24xx_uda134x.c | 15 +- trunk/sound/soc/samsung/smartq_wm8987.c | 1 + trunk/sound/soc/samsung/smdk2443_wm9710.c | 1 + trunk/sound/soc/samsung/smdk_spdif.c | 1 + trunk/sound/soc/samsung/smdk_wm8580.c | 1 + trunk/sound/soc/samsung/smdk_wm8580pcm.c | 15 +- trunk/sound/soc/samsung/smdk_wm8994.c | 1 + trunk/sound/soc/samsung/smdk_wm8994pcm.c | 15 +- trunk/sound/soc/samsung/smdk_wm9713.c | 1 + trunk/sound/soc/samsung/spdif.c | 14 +- trunk/sound/soc/samsung/speyside.c | 23 +- .../{speyside_wm8962.c => tobermory.c} | 78 +- trunk/sound/soc/sh/dma-sh7760.c | 12 +- trunk/sound/soc/sh/fsi-ak4642.c | 128 +- trunk/sound/soc/sh/fsi-da7210.c | 1 + trunk/sound/soc/sh/fsi-hdmi.c | 14 +- trunk/sound/soc/sh/fsi.c | 40 +- trunk/sound/soc/sh/hac.c | 14 +- trunk/sound/soc/sh/migor.c | 1 + trunk/sound/soc/sh/sh7760-ac97.c | 5 +- trunk/sound/soc/sh/siu_dai.c | 21 +- trunk/sound/soc/sh/ssi.c | 14 +- trunk/sound/soc/soc-cache.c | 765 --- trunk/sound/soc/soc-core.c | 238 +- trunk/sound/soc/soc-dapm.c | 90 +- trunk/sound/soc/soc-jack.c | 4 - trunk/sound/soc/soc-pcm.c | 56 +- trunk/sound/soc/tegra/Kconfig | 9 + trunk/sound/soc/tegra/Makefile | 2 + trunk/sound/soc/tegra/tegra_alc5632.c | 214 + trunk/sound/soc/tegra/tegra_das.c | 66 +- trunk/sound/soc/tegra/tegra_i2s.c | 164 +- trunk/sound/soc/tegra/tegra_i2s.h | 1 + trunk/sound/soc/tegra/tegra_pcm.c | 18 +- trunk/sound/soc/tegra/tegra_spdif.c | 14 +- trunk/sound/soc/tegra/tegra_wm8903.c | 193 +- trunk/sound/soc/tegra/trimslice.c | 41 +- trunk/sound/soc/txx9/txx9aclc-ac97.c | 13 +- trunk/sound/soc/txx9/txx9aclc-generic.c | 1 + trunk/sound/soc/txx9/txx9aclc.c | 12 +- trunk/sound/sparc/amd7930.c | 2 +- trunk/sound/sparc/cs4231.c | 15 +- trunk/sound/sparc/dbri.c | 16 +- trunk/sound/usb/6fire/chip.c | 2 +- trunk/sound/usb/caiaq/device.c | 2 +- trunk/sound/usb/card.c | 6 +- trunk/sound/usb/endpoint.c | 5 +- trunk/sound/usb/format.c | 8 +- trunk/sound/usb/misc/ua101.c | 2 +- trunk/sound/usb/quirks-table.h | 36 + trunk/sound/usb/usx2y/us122l.c | 2 +- trunk/sound/usb/usx2y/usb_stream.c | 6 +- trunk/sound/usb/usx2y/usbusx2y.c | 2 +- .../virtual => tools}/lguest/.gitignore | 0 .../virtual => tools}/lguest/Makefile | 0 .../virtual => tools}/lguest/extract | 0 .../virtual => tools}/lguest/lguest.c | 2 +- .../virtual => tools}/lguest/lguest.txt | 0 trunk/tools/nfsd/inject_fault.sh | 49 + trunk/tools/perf/Documentation/perf-list.txt | 2 + trunk/tools/perf/MANIFEST | 1 + trunk/tools/perf/builtin-annotate.c | 7 +- trunk/tools/perf/builtin-kmem.c | 3 + trunk/tools/perf/builtin-kvm.c | 6 +- trunk/tools/perf/builtin-script.c | 4 + trunk/tools/perf/builtin-test.c | 2 +- trunk/tools/perf/builtin-top.c | 5 +- trunk/tools/perf/util/evlist.c | 5 +- trunk/tools/perf/util/hist.c | 131 +- trunk/tools/perf/util/hist.h | 7 +- trunk/tools/perf/util/parse-events.c | 15 +- trunk/tools/perf/util/trace-event-info.c | 1 - trunk/tools/perf/util/util.c | 15 + trunk/tools/perf/util/util.h | 4 + .../testing/ktest/compare-ktest-sample.pl | 4 +- trunk/tools/testing/ktest/ktest.pl | 682 ++- trunk/tools/testing/ktest/sample.conf | 87 +- trunk/tools/testing/selftests/Makefile | 11 + .../testing/selftests/breakpoints/Makefile | 20 + .../selftests/breakpoints/breakpoint_test.c | 394 ++ trunk/tools/testing/selftests/run_tests | 8 + trunk/tools/virtio/linux/virtio.h | 22 +- trunk/tools/virtio/virtio_test.c | 6 +- trunk/virt/kvm/iommu.c | 2 +- 2712 files changed, 120779 insertions(+), 59083 deletions(-) create mode 100644 trunk/Documentation/DocBook/media/constraints.png.b64 create mode 100644 trunk/Documentation/DocBook/media/selection.png.b64 create mode 100644 trunk/Documentation/DocBook/media/v4l/pixfmt-nv24.xml create mode 100644 trunk/Documentation/DocBook/media/v4l/selection-api.xml create mode 100644 trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml create mode 100644 trunk/Documentation/devicetree/bindings/mfd/mc13xxx.txt create mode 100644 trunk/Documentation/devicetree/bindings/mfd/twl-familly.txt create mode 100644 trunk/Documentation/devicetree/bindings/resource-names.txt create mode 100644 trunk/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt create mode 100644 trunk/Documentation/devicetree/bindings/sound/tegra20-das.txt create mode 100644 trunk/Documentation/devicetree/bindings/sound/tegra20-i2s.txt create mode 100644 trunk/Documentation/devicetree/bindings/sound/wm8903.txt create mode 100644 trunk/Documentation/devicetree/bindings/sound/wm8994.txt create mode 100644 trunk/Documentation/fb/api.txt create mode 100644 trunk/Documentation/filesystems/nfs/fault_injection.txt create mode 100644 trunk/Documentation/sound/alsa/compress_offload.txt create mode 100644 trunk/arch/arm/configs/bonito_defconfig create mode 100644 trunk/arch/arm/configs/kota2_defconfig create mode 100644 trunk/arch/arm/configs/marzen_defconfig create mode 100644 trunk/arch/arm/mach-shmobile/board-bonito.c create mode 100644 trunk/arch/arm/mach-shmobile/board-marzen.c create mode 100644 trunk/arch/arm/mach-shmobile/clock-r8a7740.c create mode 100644 trunk/arch/arm/mach-shmobile/clock-r8a7779.c create mode 100644 trunk/arch/arm/mach-shmobile/include/mach/r8a7740.h create mode 100644 trunk/arch/arm/mach-shmobile/include/mach/r8a7779.h create mode 100644 trunk/arch/arm/mach-shmobile/intc-r8a7740.c create mode 100644 trunk/arch/arm/mach-shmobile/intc-r8a7779.c create mode 100644 trunk/arch/arm/mach-shmobile/pfc-r8a7740.c create mode 100644 trunk/arch/arm/mach-shmobile/pfc-r8a7779.c create mode 100644 trunk/arch/arm/mach-shmobile/pm-r8a7779.c create mode 100644 trunk/arch/arm/mach-shmobile/setup-r8a7740.c create mode 100644 trunk/arch/arm/mach-shmobile/setup-r8a7779.c create mode 100644 trunk/arch/arm/mach-shmobile/smp-r8a7779.c create mode 100644 trunk/arch/mips/alchemy/Makefile rename trunk/arch/mips/alchemy/{gpr/platform.c => board-gpr.c} (75%) rename trunk/arch/mips/alchemy/{mtx-1/platform.c => board-mtx1.c} (71%) create mode 100644 trunk/arch/mips/alchemy/board-xxs1500.c create mode 100644 trunk/arch/mips/alchemy/common/vss.c create mode 100644 trunk/arch/mips/alchemy/devboards/db1000.c rename trunk/arch/mips/alchemy/devboards/{db1200/platform.c => db1200.c} (62%) delete mode 100644 trunk/arch/mips/alchemy/devboards/db1200/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/db1200/setup.c create mode 100644 trunk/arch/mips/alchemy/devboards/db1300.c create mode 100644 trunk/arch/mips/alchemy/devboards/db1550.c delete mode 100644 trunk/arch/mips/alchemy/devboards/db1x00/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/db1x00/board_setup.c delete mode 100644 trunk/arch/mips/alchemy/devboards/db1x00/platform.c delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1000/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1000/board_setup.c rename trunk/arch/mips/alchemy/devboards/{pb1100/board_setup.c => pb1100.c} (55%) delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1100/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1100/platform.c delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1200/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1200/board_setup.c delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1200/platform.c rename trunk/arch/mips/alchemy/devboards/{pb1500/board_setup.c => pb1500.c} (51%) delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1500/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1500/platform.c rename trunk/arch/mips/alchemy/devboards/{pb1550/platform.c => pb1550.c} (61%) delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1550/Makefile delete mode 100644 trunk/arch/mips/alchemy/devboards/pb1550/board_setup.c delete mode 100644 trunk/arch/mips/alchemy/gpr/Makefile delete mode 100644 trunk/arch/mips/alchemy/gpr/board_setup.c delete mode 100644 trunk/arch/mips/alchemy/gpr/init.c delete mode 100644 trunk/arch/mips/alchemy/mtx-1/Makefile delete mode 100644 trunk/arch/mips/alchemy/mtx-1/board_setup.c delete mode 100644 trunk/arch/mips/alchemy/mtx-1/init.c delete mode 100644 trunk/arch/mips/alchemy/xxs1500/Makefile delete mode 100644 trunk/arch/mips/alchemy/xxs1500/board_setup.c delete mode 100644 trunk/arch/mips/alchemy/xxs1500/init.c delete mode 100644 trunk/arch/mips/alchemy/xxs1500/platform.c delete mode 100644 trunk/arch/mips/ath79/dev-ar913x-wmac.c create mode 100644 trunk/arch/mips/ath79/dev-usb.c rename trunk/arch/mips/ath79/{dev-ar913x-wmac.h => dev-usb.h} (61%) create mode 100644 trunk/arch/mips/ath79/dev-wmac.c create mode 100644 trunk/arch/mips/ath79/dev-wmac.h create mode 100644 trunk/arch/mips/ath79/mach-ap121.c create mode 100644 trunk/arch/mips/ath79/mach-ubnt-xm.c rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-cmd-queue.c (98%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-fpa.c (100%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-board.c (96%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-fpa.c (100%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-loop.c (95%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-npi.c (96%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-rgmii.c (97%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-sgmii.c (98%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-spi.c (94%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-util.c (97%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper-xaui.c (97%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-helper.c (93%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-interrupt-decodes.c (98%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-interrupt-rsl.c (97%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-pko.c (98%) rename trunk/{drivers/staging/octeon => arch/mips/cavium-octeon/executive}/cvmx-spi.c (99%) delete mode 100644 trunk/arch/mips/configs/db1100_defconfig create mode 100644 trunk/arch/mips/configs/db1300_defconfig delete mode 100644 trunk/arch/mips/configs/db1500_defconfig create mode 100644 trunk/arch/mips/configs/nlm_xlp_defconfig delete mode 100644 trunk/arch/mips/configs/pb1200_defconfig create mode 100644 trunk/arch/mips/include/asm/bmips.h create mode 100644 trunk/arch/mips/include/asm/gio_device.h create mode 100644 trunk/arch/mips/include/asm/mach-ath79/ar933x_uart.h create mode 100644 trunk/arch/mips/include/asm/mach-ath79/ar933x_uart_platform.h create mode 100644 trunk/arch/mips/include/asm/mach-ath79/pci-ath724x.h create mode 100644 trunk/arch/mips/include/asm/mach-au1x00/au1200fb.h create mode 100644 trunk/arch/mips/include/asm/mach-au1x00/au1550nd.h create mode 100644 trunk/arch/mips/include/asm/mach-au1x00/gpio-au1300.h create mode 100644 trunk/arch/mips/include/asm/mach-bcm63xx/ioremap.h create mode 100644 trunk/arch/mips/include/asm/mach-bcm63xx/irq.h create mode 100644 trunk/arch/mips/include/asm/mach-db1x00/db1300.h delete mode 100644 trunk/arch/mips/include/asm/mach-db1x00/db1x00.h create mode 100644 trunk/arch/mips/include/asm/mach-db1x00/irq.h delete mode 100644 trunk/arch/mips/include/asm/mach-pb1x00/mc146818rtc.h delete mode 100644 trunk/arch/mips/include/asm/mach-pb1x00/pb1000.h delete mode 100644 trunk/arch/mips/include/asm/mach-pb1x00/pb1200.h delete mode 100644 trunk/arch/mips/include/asm/mach-pb1x00/pb1550.h create mode 100644 trunk/arch/mips/include/asm/netlogic/common.h create mode 100644 trunk/arch/mips/include/asm/netlogic/haldefs.h create mode 100644 trunk/arch/mips/include/asm/netlogic/xlp-hal/bridge.h create mode 100644 trunk/arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h create mode 100644 trunk/arch/mips/include/asm/netlogic/xlp-hal/iomap.h create mode 100644 trunk/arch/mips/include/asm/netlogic/xlp-hal/pic.h create mode 100644 trunk/arch/mips/include/asm/netlogic/xlp-hal/sys.h create mode 100644 trunk/arch/mips/include/asm/netlogic/xlp-hal/uart.h rename trunk/arch/mips/{netlogic/xlr/xlr_console.c => include/asm/netlogic/xlp-hal/xlp.h} (82%) create mode 100644 trunk/arch/mips/include/asm/netlogic/xlr/msidef.h rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-address.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-asxx-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-cmd-queue.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-config.h (99%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-dbg-defs.h (100%) create mode 100644 trunk/arch/mips/include/asm/octeon/cvmx-dpi-defs.h rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-fau.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-fpa-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-fpa.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-gmxx-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-board.h (96%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-fpa.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-loop.h (96%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-npi.h (96%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-rgmii.h (98%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-sgmii.h (98%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-spi.h (98%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-util.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper-xaui.h (98%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-helper.h (99%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-ipd.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-mdio.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pcsx-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pcsxx-defs.h (100%) create mode 100644 trunk/arch/mips/include/asm/octeon/cvmx-pemx-defs.h rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pip-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pip.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pko-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pko.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-pow.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-scratch.h (100%) create mode 100644 trunk/arch/mips/include/asm/octeon/cvmx-sli-defs.h rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-spi.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-spxx-defs.h (100%) create mode 100644 trunk/arch/mips/include/asm/octeon/cvmx-sriox-defs.h rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-srxx-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-stxx-defs.h (100%) rename trunk/{drivers/staging => arch/mips/include/asm}/octeon/cvmx-wqe.h (100%) create mode 100644 trunk/arch/mips/include/asm/tlbmisc.h create mode 100644 trunk/arch/mips/kernel/bmips_vec.S create mode 100644 trunk/arch/mips/kernel/smp-bmips.c create mode 100644 trunk/arch/mips/mm/gup.c create mode 100644 trunk/arch/mips/netlogic/Makefile create mode 100644 trunk/arch/mips/netlogic/common/Makefile create mode 100644 trunk/arch/mips/netlogic/common/earlycons.c create mode 100644 trunk/arch/mips/netlogic/common/irq.c rename trunk/arch/mips/netlogic/{xlr => common}/smp.c (65%) create mode 100644 trunk/arch/mips/netlogic/common/smpboot.S rename trunk/arch/mips/netlogic/{xlr => common}/time.c (93%) create mode 100644 trunk/arch/mips/netlogic/xlp/Makefile create mode 100644 trunk/arch/mips/netlogic/xlp/nlm_hal.c create mode 100644 trunk/arch/mips/netlogic/xlp/platform.c create mode 100644 trunk/arch/mips/netlogic/xlp/setup.c create mode 100644 trunk/arch/mips/netlogic/xlp/wakeup.c delete mode 100644 trunk/arch/mips/netlogic/xlr/irq.c rename trunk/arch/mips/netlogic/xlr/{smpboot.S => wakeup.c} (60%) create mode 100644 trunk/arch/mips/pci/pci-ath724x.c create mode 100644 trunk/arch/mips/sgi-ip22/ip22-gio.c delete mode 100644 trunk/arch/sh/include/asm/hwblk.h delete mode 100644 trunk/arch/sh/kernel/cpu/hwblk.c delete mode 100644 trunk/arch/sh/kernel/cpu/sh4a/hwblk-sh7722.c delete mode 100644 trunk/arch/sh/kernel/cpu/sh4a/hwblk-sh7723.c delete mode 100644 trunk/arch/sh/kernel/cpu/sh4a/hwblk-sh7724.c delete mode 100644 trunk/arch/sh/kernel/cpu/shmobile/pm_runtime.c create mode 100644 trunk/arch/x86/ia32/nosyscall.c create mode 100644 trunk/arch/x86/ia32/syscall_ia32.c delete mode 100644 trunk/arch/x86/include/asm/unistd_32.h delete mode 100644 trunk/arch/x86/include/asm/unistd_64.h create mode 100644 trunk/arch/x86/kernel/syscall_32.c delete mode 100644 trunk/arch/x86/kernel/syscall_table_32.S create mode 100644 trunk/arch/x86/syscalls/Makefile create mode 100644 trunk/arch/x86/syscalls/syscall_32.tbl create mode 100644 trunk/arch/x86/syscalls/syscall_64.tbl create mode 100644 trunk/arch/x86/syscalls/syscallhdr.sh create mode 100644 trunk/arch/x86/syscalls/syscalltbl.sh delete mode 100644 trunk/arch/x86/um/sys_call_table_32.S create mode 100644 trunk/arch/x86/um/sys_call_table_32.c create mode 100644 trunk/drivers/block/mtip32xx/Kconfig create mode 100644 trunk/drivers/block/mtip32xx/Makefile create mode 100644 trunk/drivers/block/mtip32xx/mtip32xx.c create mode 100644 trunk/drivers/block/mtip32xx/mtip32xx.h create mode 100644 trunk/drivers/gpio/devres.c create mode 100644 trunk/drivers/leds/leds-max8997.c create mode 100644 trunk/drivers/media/common/tuners/mt2063.c create mode 100644 trunk/drivers/media/common/tuners/mt2063.h create mode 100644 trunk/drivers/media/dvb/frontends/hd29l2.c create mode 100644 trunk/drivers/media/dvb/frontends/hd29l2.h create mode 100644 trunk/drivers/media/dvb/frontends/hd29l2_priv.h create mode 100644 trunk/drivers/media/rc/ir-sanyo-decoder.c create mode 100644 trunk/drivers/media/video/as3645a.c create mode 100644 trunk/drivers/media/video/gspca/jl2005bcd.c create mode 100644 trunk/drivers/media/video/s5p-g2d/Makefile create mode 100644 trunk/drivers/media/video/s5p-g2d/g2d-hw.c create mode 100644 trunk/drivers/media/video/s5p-g2d/g2d-regs.h create mode 100644 trunk/drivers/media/video/s5p-g2d/g2d.c create mode 100644 trunk/drivers/media/video/s5p-g2d/g2d.h create mode 100644 trunk/drivers/media/video/s5p-jpeg/Makefile create mode 100644 trunk/drivers/media/video/s5p-jpeg/jpeg-core.c create mode 100644 trunk/drivers/media/video/s5p-jpeg/jpeg-core.h create mode 100644 trunk/drivers/media/video/s5p-jpeg/jpeg-hw.h create mode 100644 trunk/drivers/media/video/s5p-jpeg/jpeg-regs.h create mode 100644 trunk/drivers/media/video/uvc/uvc_debugfs.c create mode 100644 trunk/drivers/mfd/s5m-core.c create mode 100644 trunk/drivers/mfd/s5m-irq.c create mode 100644 trunk/drivers/mfd/stmpe-i2c.c create mode 100644 trunk/drivers/mfd/stmpe-spi.c create mode 100644 trunk/drivers/mfd/wm8994-regmap.c create mode 100644 trunk/drivers/mfd/wm8994.h create mode 100644 trunk/drivers/misc/max8997-muic.c create mode 100644 trunk/drivers/mmc/core/cd-gpio.c create mode 100644 trunk/drivers/mmc/host/sdhci-pci-data.c delete mode 100644 trunk/drivers/net/irda/au1000_ircc.h delete mode 100644 trunk/drivers/pcmcia/au1000_generic.c delete mode 100644 trunk/drivers/pcmcia/au1000_generic.h delete mode 100644 trunk/drivers/pcmcia/au1000_pb1x00.c rename trunk/drivers/staging/media/solo6x10/{jpeg.h => solo6x10-jpeg.h} (100%) delete mode 100644 trunk/drivers/staging/octeon/cvmx-packet.h delete mode 100644 trunk/drivers/staging/octeon/cvmx-smix-defs.h create mode 100644 trunk/drivers/tty/serial/ar933x_uart.c delete mode 100644 trunk/drivers/video/display/Kconfig delete mode 100644 trunk/drivers/video/display/Makefile delete mode 100644 trunk/drivers/video/display/display-sysfs.c create mode 100644 trunk/drivers/video/omap2/dss/apply.c create mode 100644 trunk/drivers/video/omap2/dss/dispc_coefs.c create mode 100644 trunk/fs/btrfs/check-integrity.c create mode 100644 trunk/fs/btrfs/check-integrity.h create mode 100644 trunk/fs/btrfs/ulist.c create mode 100644 trunk/fs/btrfs/ulist.h create mode 100644 trunk/fs/nfsd/fault_inject.c create mode 100644 trunk/fs/nfsd/fault_inject.h delete mode 100644 trunk/include/linux/display.h rename trunk/include/linux/mfd/{ab5500 => abx500}/ab5500.h (100%) rename trunk/include/linux/mfd/{ab8500/gpadc.h => abx500/ab8500-gpadc.h} (100%) rename trunk/include/linux/mfd/{ab8500/gpio.h => abx500/ab8500-gpio.h} (100%) rename trunk/include/linux/mfd/{ab8500/sysctrl.h => abx500/ab8500-sysctrl.h} (100%) rename trunk/include/linux/mfd/{ => abx500}/ab8500.h (100%) create mode 100644 trunk/include/linux/mfd/s5m87xx/s5m-core.h create mode 100644 trunk/include/linux/mfd/s5m87xx/s5m-pmic.h create mode 100644 trunk/include/linux/mfd/s5m87xx/s5m-rtc.h create mode 100644 trunk/include/linux/mmc/cd-gpio.h create mode 100644 trunk/include/linux/mmc/sdhci-pci-data.h delete mode 100644 trunk/include/linux/sigma.h create mode 100644 trunk/include/media/as3645a.h delete mode 100644 trunk/include/media/pwc-ioctl.h create mode 100644 trunk/include/sound/compress_driver.h create mode 100644 trunk/include/sound/compress_offload.h create mode 100644 trunk/include/sound/compress_params.h create mode 100644 trunk/include/sound/sta32x.h create mode 100644 trunk/scripts/coccinelle/api/devm_request_and_ioremap.cocci create mode 100644 trunk/scripts/coccinelle/free/devm_free.cocci create mode 100644 trunk/scripts/kconfig/merge_config.sh create mode 100644 trunk/sound/core/compress_offload.c create mode 100644 trunk/sound/core/ctljack.c create mode 100644 trunk/sound/pci/asihpi/hpi_version.h delete mode 100644 trunk/sound/pci/hda/alc262_quirks.c create mode 100644 trunk/sound/pci/hda/hda_jack.c create mode 100644 trunk/sound/pci/hda/hda_jack.h create mode 100644 trunk/sound/soc/codecs/alc5632.c create mode 100644 trunk/sound/soc/codecs/alc5632.h create mode 100644 trunk/sound/soc/codecs/cs42l73.c create mode 100644 trunk/sound/soc/codecs/cs42l73.h rename trunk/{drivers/firmware/sigma.c => sound/soc/codecs/sigmadsp.c} (53%) create mode 100644 trunk/sound/soc/codecs/sigmadsp.h delete mode 100644 trunk/sound/soc/codecs/wm8994-tables.c create mode 100644 trunk/sound/soc/omap/omap-dmic.c create mode 100644 trunk/sound/soc/omap/omap-dmic.h create mode 100644 trunk/sound/soc/samsung/littlemill.c create mode 100644 trunk/sound/soc/samsung/lowland.c rename trunk/sound/soc/samsung/{speyside_wm8962.c => tobermory.c} (69%) create mode 100644 trunk/sound/soc/tegra/tegra_alc5632.c rename trunk/{Documentation/virtual => tools}/lguest/.gitignore (100%) rename trunk/{Documentation/virtual => tools}/lguest/Makefile (100%) rename trunk/{Documentation/virtual => tools}/lguest/extract (100%) rename trunk/{Documentation/virtual => tools}/lguest/lguest.c (99%) rename trunk/{Documentation/virtual => tools}/lguest/lguest.txt (100%) create mode 100755 trunk/tools/nfsd/inject_fault.sh create mode 100644 trunk/tools/testing/selftests/Makefile create mode 100644 trunk/tools/testing/selftests/breakpoints/Makefile create mode 100644 trunk/tools/testing/selftests/breakpoints/breakpoint_test.c create mode 100644 trunk/tools/testing/selftests/run_tests diff --git a/[refs] b/[refs] index 9f0e8d343842..70eaeb510854 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c158a35c8a681cf68d36f22f058f9f5466386c71 +refs/heads/master: f429ee3b808118591d1f3cdf3c0d0793911a5677 diff --git a/trunk/CREDITS b/trunk/CREDITS index 44fce988eaac..370b4c7da39b 100644 --- a/trunk/CREDITS +++ b/trunk/CREDITS @@ -514,6 +514,11 @@ S: Bessemerstraat 21 S: Amsterdam S: The Netherlands +N: NeilBrown +E: neil@brown.name +P: 4096R/566281B9 1BC6 29EB D390 D870 7B5F 497A 39EC 9EDD 5662 81B9 +D: NFSD Maintainer 2000-2007 + N: Zach Brown E: zab@zabbo.net D: maestro pci sound diff --git a/trunk/Documentation/ABI/testing/sysfs-kernel-slab b/trunk/Documentation/ABI/testing/sysfs-kernel-slab index 8b093f8222d3..91bd6ca5440f 100644 --- a/trunk/Documentation/ABI/testing/sysfs-kernel-slab +++ b/trunk/Documentation/ABI/testing/sysfs-kernel-slab @@ -346,6 +346,10 @@ Description: number of objects per slab. If a slab cannot be allocated because of fragmentation, SLUB will retry with the minimum order possible depending on its characteristics. + When debug_guardpage_minorder=N (N > 0) parameter is specified + (see Documentation/kernel-parameters.txt), the minimum possible + order is used and this sysfs entry can not be used to change + the order at run time. What: /sys/kernel/slab/cache/order_fallback Date: April 2008 diff --git a/trunk/Documentation/ABI/testing/sysfs-module b/trunk/Documentation/ABI/testing/sysfs-module index 9489ea8e294c..47064c2b1f79 100644 --- a/trunk/Documentation/ABI/testing/sysfs-module +++ b/trunk/Documentation/ABI/testing/sysfs-module @@ -33,3 +33,19 @@ Description: Maximum time allowed for periodic transfers per microframe (μs) Beware, non-standard modes are usually not thoroughly tested by hardware designers, and the hardware can malfunction when this setting differ from default 100. + +What: /sys/module/*/{coresize,initsize} +Date: Jan 2012 +KernelVersion:»·3.3 +Contact: Kay Sievers +Description: Module size in bytes. + +What: /sys/module/*/taint +Date: Jan 2012 +KernelVersion:»·3.3 +Contact: Kay Sievers +Description: Module taint flags: + P - proprietary module + O - out-of-tree module + F - force-loaded module + C - staging driver module diff --git a/trunk/Documentation/DocBook/media/constraints.png.b64 b/trunk/Documentation/DocBook/media/constraints.png.b64 new file mode 100644 index 000000000000..125b4a94962c --- /dev/null +++ b/trunk/Documentation/DocBook/media/constraints.png.b64 @@ -0,0 +1,59 @@ +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 +RU5ErkJggg== diff --git a/trunk/Documentation/DocBook/media/dvb/dvbproperty.xml b/trunk/Documentation/DocBook/media/dvb/dvbproperty.xml index 3bc8a61efe30..ffee1fbbc001 100644 --- a/trunk/Documentation/DocBook/media/dvb/dvbproperty.xml +++ b/trunk/Documentation/DocBook/media/dvb/dvbproperty.xml @@ -334,9 +334,10 @@ typedef enum fe_rolloff { fe_delivery_system type Possible values: + typedef enum fe_delivery_system { SYS_UNDEFINED, - SYS_DVBC_ANNEX_AC, + SYS_DVBC_ANNEX_A, SYS_DVBC_ANNEX_B, SYS_DVBT, SYS_DSS, @@ -353,6 +354,7 @@ typedef enum fe_delivery_system { SYS_DAB, SYS_DVBT2, SYS_TURBO, + SYS_DVBC_ANNEX_C, } fe_delivery_system_t; @@ -647,6 +649,18 @@ typedef enum fe_hierarchy { many data types via a single multiplex. The API will soon support this at which point this section will be expanded. +
+ <constant>DTV_ENUM_DELSYS</constant> + A Multi standard frontend needs to advertise the delivery systems provided. + Applications need to enumerate the provided delivery systems, before using + any other operation with the frontend. Prior to it's introduction, + FE_GET_INFO was used to determine a frontend type. A frontend which + provides more than a single delivery system, FE_GET_INFO doesn't help much. + Applications which intends to use a multistandard frontend must enumerate + the delivery systems associated with it, rather than trying to use + FE_GET_INFO. In the case of a legacy frontend, the result is just the same + as with FE_GET_INFO, but in a more structured format +
Properties used on terrestrial delivery systems @@ -767,7 +781,8 @@ typedef enum fe_hierarchy { Properties used on cable delivery systems
DVB-C delivery system - The DVB-C Annex-A/C is the widely used cable standard. Transmission uses QAM modulation. + The DVB-C Annex-A is the widely used cable standard. Transmission uses QAM modulation. + The DVB-C Annex-C is optimized for 6MHz, and is used in Japan. It supports a subset of the Annex A modulation types, and a roll-off of 0.13, instead of 0.15 The following parameters are valid for DVB-C Annex A/C: DTV_API_VERSION diff --git a/trunk/Documentation/DocBook/media/dvb/frontend.xml b/trunk/Documentation/DocBook/media/dvb/frontend.xml index 61407eaba020..aeaed59d0f1f 100644 --- a/trunk/Documentation/DocBook/media/dvb/frontend.xml +++ b/trunk/Documentation/DocBook/media/dvb/frontend.xml @@ -45,8 +45,8 @@ transmission. The fontend types are given by fe_type_t type, defined as: FE_QAM - For DVB-C annex A/C standard - SYS_DVBC_ANNEX_AC + For DVB-C annex A standard + SYS_DVBC_ANNEX_A FE_OFDM @@ -63,6 +63,10 @@ transmission. The fontend types are given by fe_type_t type, defined as: Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're supported via the new FE_GET_PROPERTY/FE_GET_SET_PROPERTY ioctl's, using the DTV_DELIVERY_SYSTEM parameter. + +The usage of this field is deprecated, as it doesn't report all supported standards, and +will provide an incomplete information for frontends that support multiple delivery systems. +Please use DTV_ENUM_DELSYS instead.
diff --git a/trunk/Documentation/DocBook/media/selection.png.b64 b/trunk/Documentation/DocBook/media/selection.png.b64 new file mode 100644 index 000000000000..416186558cb2 --- /dev/null +++ b/trunk/Documentation/DocBook/media/selection.png.b64 @@ -0,0 +1,206 @@ +iVBORw0KGgoAAAANSUhEUgAABIsAAAHpCAYAAAACi7yYAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A +/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9sLCBAiCLMGMtAAACAASURBVHja +7d3rkds4FgZQaMohTBY7ObRCV+fgyWJy4P6wJavVIgmSAIjHOVWu3bElPkBSAj5dgpdpmqYAAAAA +ACGEvzQBAAAAAHfCIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMDDD00A +21wul9XXTNN0aHnP749Z39o2rK0jRzssLX/pvVve9+61S69Jdey2bn/sMTx6TAAA/cIW+oVb+2tb +3p+izwioLIJsHYe9X+a979vae89ut6Pb1+txBwD0C3vZN0ERrFNZBAct/ZJxuVx2Vdg8v+/oLyEx +69j7xbq2/1u2e0u75Th2Mevf8ytVzDkDAOgXjtYv3LquVP0nQRHEUVkEBTsJve/r0hfu2hdz7e0W +27HQ4QAA9Avr7BcJiiCesAhO+GKK/YIt8SV+RscoNmippUPl1jIAQL/w3PUc7Y8JimAbYRGc9KVY +Yu6b3OsYNUTRuQAA9AvL9AtT9LsERbCdOYsAX74ZOiVbO1M6LQCAfmH7/TzohcoiqOhLK+eXV4p1 +xP4y1krF0X1bn7dXBwIA0C+ss19oagAoR1gEJ4j9osv5iPq965imKUk59eidwNc/AIB+oX7h/HpK +tzeMzm1oQJIv7Ra/eO/7sOWxtgAAtN0v1N+DdcIiyPQFlPP1JbZpTyehl19q1joQOhgAgH7hOf3C +Pct9tz36c7DMbWhQwPMXUYkOQ6517P3Sj/216axJEdfWoyMBAOgXpukX5uqv7Xm/W9JgnsoiSGxr +4FHiiyvlOu7v21pu/PqLzuuvOTHtlmIZW/bz+f1r6177ewBAv1C/8FwqjCCesAgSdwK2dAh63e+5 +fX8XuBxtt1SdkZhy6djt37vNOioAoF84Sr8wV39tzzIERvCd29Agg7knQ8T+unTk15mc64j5El17 +KsbRW75inrqR6glj79rELWsAgH5hmn7hmcckpt8HI7tMRjYAAAAA/KayCAAAAIAHYREAAAAAD8Ii +AAAAAB6ERQAAAAA8CIsAAAAAeBAWAQAAAPAgLAIAAADgQVgEAAAAwIOwCAAAAIAHYREAAAAADz80 +AQAAqVwuF40AABWbpmn1NbvDIh0BAKDGzg3n0T8EgD7sCot0BAAAmDNNUwj6iwBQlS3fzIduQ7vd +blobAMjuer1qhKZ6o4IiAGiZOYsAAMji0w+LAHC6jx0/unkaGgAAAAAPwiIAAAAAHoRFAAAAADwI +iwAAAAB4EBYBAAAA8OBpaAAAFDf3ZJa5J6htef3za5eeyDb3urWnxsQuM/V7jmxX7Dr3HIMUbfj6 ++qXjurZ977Zja1vuaVOAnqgsAgCgqKWB+rt/2/r6s7Z/z3aesf0x+1fjdgFQjsoiALpyfRng3J5+ +Fb7/2+3NL8Xv/m1pWa/veX7t/XXXN4OtuWXs+fe59c/t45H2erd/Mdu/9XX0b63q5zWkWHr9/d8+ +rtfFapOY9byz9L7X5e7ZzqVKmT2VP3ts2cc966+1MmfuGKkkAvhFZREA3XgON94FNnMhzlJQNLes +1/ffX/f62ue/fw1d3r3m9d/nlhu7/rX22rv8LW20d/voT8ztYbEBzNJrS4YMubbzzNCidLs+BzX3 +datsAjiXsAiALrwLfPYGE1uXtaVK5l2YNLes2OXurdI5svwtbaSKiFdbg5Cl18f821y1UupAZu92 +1njblwobgLG5DQ0AZqSofjkSnOSuvsmxf2fsB5SUMtT5vN2+LC82xNoziXaJNthyO11MBdHS7YUA +5CUsAmAo91u97rdGLc1jdKQi5t08QiH8uSVrTcwcSkekWv7avuTeD1hzD2TuwcOWqqIS8wa9C01G +nD/neV9fQzQAyhMWAUAma5NVA23KEeLMhUZHJ5g+e/9jXyscAqiLOYsA6MK7+XLW5gWK/fdnsYHP +2uvWJtveu969ti5/bxsJzNgTDOx5JP2z1yAmNsC4T7j8+ifXdj6vs7VjlGsdQiSAc6gsAqAbz7eY +Pf9dqmVtWd7cbWivE0LPbe/rv80tL1Vb7Vl+TBvl3g/a8nx70dIj7e9/v/b6mKer1bBfc9tZ65w8 +pdt1bh1zQdFaGwNw3GWapmnzmy6XQx1wAIAt7gHTjm4LJTuWv/uI084QYC482Pv6LfMSvXtc/Nag +pNR+xb7+yLYeXX9MG669ZunYpN7mEeeJAsZx/4y7/P7vmP6U29AAAChq6yPm9z6S3n7t34/c648J +Z97N49TKuQDQOpVFAED1VBY10rGMrCwCAMpRWQQAAADAIcIiAAAAAB48DQ0AADqSciJsAMYkLAIA +gI4IgwA4SlgEAADAZh9/X9/+/ed/t8Ovf37t3PKWXje3rq3LTP2eI9sVs961969t59r2LbX16zJi +t+Xzv1vyduE4YVHpD9SZsuDnX4COlA7HLD/Ferase2lZW7Zh6/a+vn6pDda27912rK0vVbsCAEB1 +45qFwf3H39dNIcm715fY/rWQKsV7Wj5me93Dn6VlxgZKnEdYVPLiXAgTPq7X6BBh7rWpln/kPWv7 +LigBAIDGxzUrVT+vocTS6+//thYs7A1plt73utw927kUeixt3xnhWEybzO13qe0VHtVDWFTq4nwK +cmKDni2B0NLy7/82F/4srWdPYLRneVvWUWvgNNfuAjIAALoZ10TcHhYbwNz/LiYwStpvf3PbU47t +zL0v727/WqvqijlmEEIIf2mCAh+oK0HR0UBhbflbbuVKsT1ry4vdhhRt/nm7PdZdYr0AADCCreHC +0utj/m0u3EkdcuzdzntQ09MxS7Gud23iFrQ2qCwqeXFmrjBZWv7n7XZ6WFLDNgAAAGNLGeq8Vilt +ndz53fKO7sMZc0DlPjaCpfKERTVfKBsmqy617hr2de21qeduAgAAzvM6YfKWypQS8wa9q6IpVT3z +vPyYp4pBLGERu55i1sSXytO2q2oCAAAe44MMIc5caDQ3B1KSsVzF4dC7p6KthWgqiOohLKr5A2zj +RNW511/LurY8NQ4AAEhv661OMY9RXxwDPAUP9/+OGjtsDB+ObufzOnMFOTHLnZvoWhhDLBNcl/xA +PRherIUka7dfLS333Z/a9j/VOoRIAACwc0wy86SzL/3tmadvLU12/Pra2vZryz6V3OZ3f44eMwhB +ZVGZi/jpFqi5qqAj1UJry495Gltupbdhbh1zQdFauwEAAL/72i+PkU/x+hoeRb93O/fMi1R6Iuet +xyz1emNDQRNc10NYVOoieQl0jnoNN2KWXyoo2jMH0lnbfKTdzm5nAAA4bXyzMJnyXHVLC0FA7fsV +cxveu7mCWjoG1EFYVPKDZ2GS5diAYW0ZtQYYJZ/gtrSuexs9h201txsAAFQ7vtkYMGx5/dHXHgk/ +atmvI+9PNYF0ioqvGqrG2O4yTdO0+U2XSwghhJuBNABQwPV3qL+j20LJjuXvPuL9KPnRBWCbtVvE +hCrsOq9+96Muv/87pj+lsggAAKDFAeBLsCBIaJ9jSC2ERQAAAB0QHgGpCIuI++JZmZRbmTkAAFTW +h98QHn1cPzQYFPR5+6x6+4RFRJ7IN40AAAA19dGfwp+Yx6HHPr4cQFgEAADQuNfwZy08inkEOzAu +YREAAECjYiqKdvl50bg04Ujg+Xr7Ze5bw1q63VNYlPzgXzUCAP13zNyeDJB/bJErCAKKB0WtERYB +AACcNWA9IRBy6xnDX3eColXCoowUbgLQk0kTAMQPRguFQItPOHuzDXuCoss/jieV9Ul+Hrg2TwqK +WnvioLAIAABgy6CvgiBoz/apKGL4a1dQFE1YBAAA8DywK3hrWOoAJ1U1EXR3XQuKNhEWAQAAYwwW +Gw6B9u6foAgERXsIiwAAgLYHgoUnia4tgBESwcL1UUlQ9Hn7bCo8EhYBAAB1DvJOenR860GLoAh+ +f4ZUFBS1RlgEAACUH8R5ZLx9hJyfMYKiQ4RFAABAuoGSEMj+w9mfQ4Kiw4RFAADA+iBICAS08Fkl +KEpCWAQAACMPrMwLBPTyeSYoSkZYBAAAPQ6ahEDASJ95gqKkhEUAANDaoMgtYQB/PhMFRckJiwAA +oJYBjxAIYNvnpqAoC2ERAADkHlQIgQDyf+4JipIRFgEAwN4Bg3mBAKogKEpLWAQAAK+DASEQQDME +RekJiwAAGIpbwgD6ISjKQ1gEAEAXhEAAZPl+GSwoCkFYBABA7Z10IRAAZ30HDRgUhSAsAgDgrA64 +eYEAqPl7atCgKARhEQAAR/17CSGEMP186WSHa9HNEAIB70zTNMy+Xi4XBzyRkYOiEIRFAAAs+ff8 +gYcQCICSRg+KQhAWAQCMSQgE0J25KioVR/EERb8IiwAAenJGCPS/6ctgZHp0sG+OB0AFXkMk4dF7 +gqI/hEUAAC04qxLof5O2B6B7gqKvhEUAAGcSAgFQ2HOlkSojQdE7wiIAgFxOvCUMAFgnKHpPWAQA +sJUQCIBOjFxlJCiaJywCALgTAgHAEARFy4RFAED/zAsEAKvuVUa9VxgJitYJi6DmD+uf7//+8s/6 +a969ds/yU6xn636uLWttu9e2dakdX5cRuy2Xf/K2ETBDCAQAbHBWUPS63toJi6BSS8HD9DM+eJh7 +barlH3nPme2y5h7+LC0zNlACdnaq/r5+v/Zzh0NCIADotsJIUBRPWAQ1fjg/BSKxQc+WQGhp+fd/ +mwtJltaTOzCKbZe5fSoV6giPYKXD9BQCFSMEAoCx+x+Cok2ERVCZtUBk6e9TLP/5dqrY8CfmFqy1 +7Xm+/evdenO3C5CgMyQEAoC+xibT1EV1kaBoO2ERVCp38LG0/CPhT+vt8q4dlsIrARVDdBTffB58 +hGv29X7+d3v8/+v1+ui0AgDEqiUo+rx9NhUeCYug48FcCOfPI7T3faXmQOrtWECJa/eo5xAIAKi8 +v9Dw/EU1BUWtERYByQaXe8OQ5/fVXNUEvVyruQiBAIBaCIqOERZBJ7ZOVJ17/bUParfs1+utaGu3 +oKkgIqczrpfHuf+l43NzMABgpD5IQ/MXCYqOExZBxQPCI6HDWoVOzCPhlwaNJQa8c3MFCWPo9Zov +zbUEAPRGUJSGsAgqE/M0siOBydryY546VmKw+jpwzt0ukMtZlXOuBQAgeb+m8uoiQVE6wiKo0Gsw +kmKwOjcvUEuTMadul63rjQ3STHA9SGdJCAQAUA1BUVrCIqjU0m1ksYPFtWWcFWrEPHZ+7rH1Z243 +43BLGADATD+pwuoiQVF6wiKoWMzgce01a4HMGQPZLWFXim3J3Y4G+w11boRAAABdERTlISwCoHlC +IACAgn2v6dczUmurMBIUpSMsAqDejoh5gQAAiCAoSktYBBQf4BuIIwQCACAVQVF6wiLAgJyk3BIG +AEApgqI8hEUARBECAQDwpX9Y4ZPRchgtKApBWATgS14IBAAAb40YFIUgLALolnmBAADI3ufsuLpo +1KAoBGERQHtfyEIgAADIauSgKARhEUBV3BIGAEBzfdjOqotGD4pCEBYBlPkCFQIBAED1BEW/CIsA +DhACAQCMpbYKmmmaqtmO1quLBEV/CIsA3n3ZmRcIAACGISj6SlgEDEUIBABAT16reWqpNGqJoOg7 +YRHQDbeEAQAAWwiK3hMWAdUTAgEAQGQ/9qnSqHSVUWvzFgmK5gmLgNMIgQAAgDMIipYJi4DkzAsE +AADnu1f5mMfoK0HROmEREE0IBAAAtOysoOh1vbUTFgEhBLeEAQBAr0pWGNU8b5GgKJ6wCDonBAIA +AEYnKNpGWASNEgIBAACb+vODzmEkKNpOWASVMS8QAABAGrUERZ+3z6bCI2ERFCIEAgAAanC5XLJW +F9Uyb1FNQVFrhEWQ+oOxUCgkBAIAAHaPJzIHRmcTFB0jLILaPrSFQAAAALsJio4TFkEhQiAAAKCq +MUqH1UWCojSERZD6A1coBAAAUJygKJ2/nE4AAABASqUrlgRFaaksghQfhD+1Af1QHQcAQEsERemp +LAIAAIBB1fCI+yMERXkIiwAAAIDmCYrScRsaJOYWHlrkVkoAgIHHMB08FU1QlJbKIgAAAKBZgqL0 +hEUAAABAkwRFeQiLAAAAAGaMFhSFICwCAAAAeGvEoCgEYREAAADAN6MGRSEIiwAAAGB4l8sl+TJb +fsLayEFRCCH8cEkAQJkOTo5OGAAAaY0eFIUgLAJgcCV/8VpalyAJAOB8gqJfhEUADKPmUuh32yZA +AgAoR1D0h7CIrgduBlp9DqqdM4xyHj9vv3MTACAfQdFXwiKAmcH5K4P19o9hT/vlfAQASENQ9J2w +iO4HjQZUGKyPeXxG2V/nIQCQyuVyGa5PJSh6T1iEgR0kOIcN2H2OOA8BANoiKJonLAIwYG+6vfne +Ls5BAIBlgqJlf2kCeh/oGVRyxvntvNO22gkAoE6ConUqiwAyDthDUOWRsi1xDgIAHHFWUPS63tqp +LAIoMGAXdhxrP5yDAABHCYriCYsYYuBnkIQBu/ZCmwIA4xIUbSMsAjhhwI42Ort9tTEAMApB0XbC +IoYZABoY4Vpoo120jfMQACCVWoKi1ibRFhYBGKhrD+0OANAdQdF+wiKAkwfqBusCCwAA0hIUHSMs +YqjBoAEp1Pe54LoEACAlQdFxP5xGAOebpilcLpfh9rkVKY6NUAwAID9BURrCIoBKjBQY1Rqc5Gz/ +uWULkQAA0hAUpSMsYriB4YgVHLR1rfR+ftb0eVBDW79ug/AIAGA7QVFawiJgqIH5O7UNznsOjGpo +69rb9nn7BEcAAOsERekJixhuIN77YJxjg3OD9D4/C1q93gVHAADLBEV5CIsAKhyk9xZonhV09NSG +giMAgGWConSERQCRg3QD9PaOmXMSAGAMgqJkHc0Qpin85ZQip5oHMgZZ7BmglwwhejlHS+/HSLeY +lj4nAQBqJChK2nkPIQRhEW0NisAAvbXvmslxse8AgDFcNoKiPIRFGMhCxV9+LZ+jpYMitAMAQA6j +BUUhCItoZKB4HwAZCGFwPt71v9b+joE2AQDa6sO1ZMSgKARhEUCSwTnaXfsAAPRl1KAoBGERmbSU +SEvPcY62t72CkPh20lYAANuNHBSFICyikcGOQSKtnaejEhQ5PwEAWjd6UBSCsAjAgFwbD9N22g8A +YJmg6BdhEcnlmNi6pW0G134egg7tCACQk6DoD2ERBjuAa157AgAMTVD0lbCIpFqu0FFdRM2D8NrP +z5zbJ9jQrgBAe/25lvoagqLvhEU0O5Ax0IE+OxbU8zkLANA7QdF7wiIAqiXM0MYAALkIiuYJi0im +xYmtc+4DBt+ue+0IAECdBEXLhEUYlAMAAAxstB/NBUXrhEUAVNepEAQDAJDDWUHR63prJyyiukHj +1kFi6kGlW9HgXIIiAAD9uRwERfGERQAAAEDXBEXbCIs4rMdKHNVFcM41oqoIAMDYJzVB0XbCIqqy +d6BogAkAAMCrWoKi1ibRFhYBsImqIgAA/boW+nSCov2ERVTz4VLbQNGtaAAAAG0SFB0jLKIbqhLA +9QsAQJyefxwXFB0nLIJBP0BpSy1himsCAICaCYrSEBZRxaAx1UBYdQK9XRsAANBKf/Xs8ZigKB1h +EQCnEvICAHCUoCgtYRG79Dyxdc59Bdc9AABn9ud67NMJitITFtEdVQoAAABjEBTl8cOpBZBOjl9q +eg5AhbsAAG32UWvs1wmK0lFZxKkfNLk+UFIv1+03AAAA9RIUpaWyCCCRnkNFgSkAgD7cnLOrigRF +6akswoDRvlMxt2kBAMA8QVEeKovodhB8uVwEPBTjXKvvMwAAQL9Uny6F0YKiEFQWAVT7hSxMAQCA +c40YFIWgsoiTBsSlBsGpq4umaTKAJ9t1AQAALfVHex8bjRoUhaCyCKDKL+aavngFYgAAjGbkoCgE +lUUAmwlPjlOhBwDoC+rP1Wr0oCgElUWc8IFY+kMl9fp8OYx9HZQ4/oIUAAA4h6DoF5VFACtKBoSC +IgAAatdrn1VQ9IewiKID5V4+VEx07bz3pQsAAP0QFH0lLGIIqZ+KRl9qODcERQAAtDK26o2g6Dth +EVCMwG6cL1wAAGiBoOg9E1xTbHB/9oDYRNfUSFAEAEAr/dbe+q6ConnCIoATv3BrJxQFAKBHgqJl +bkMDKGz0aiLVVAAA+m5nEhStU1nErB6fguZWNM4+/wQlAABwnrOCotf11k5lEUBmAiIAAPRjzyco +iqeyiLd6rCrKtT2qi5g7z1QSAQBAHQRF26gsAjhIIAQAgL5tvQRF26ksAjhomqYvfwAAgDrUEhS1 +Nom2yiLeDnxTqTWVvlwuBvUUuYZUHQEAUKve+6qCov2ERQAZCY4AAGihr9pbf1VQdIzb0Fj8sDjC +wBi+X18q2gAAIC9B0XHCIoYlzOIsQiMAAGrup7bcVxUUpSEsAjjxyxgAAEhDUJSOsIgsA9dWqnZU +F1HDdSc0AgBAP/UYQVFawiKASr6MAQCA7QRF6QmLACohMAIAoMY+as39VEFRHj+c+qQepLZ2a9fl +ckm6/9M0ub2t4XPj7C9C5w8AAOwjKEpHWATw5F1QUzpAEhgBAFCbe5+41n6qoCgtt6ExdFVRru12 +O1FfLpfL40+L1yUAAPRMUJSesAhgg5LBkcAIAIDa1NZHFRTlISwC2KlEaCQwAgCAc40WFIUgLBqe +W9Dybb9B/jgERgAAjDaOHKWPOmJQFIKwCCCJ0nMaAQAAeY0aFIUgLCLhQBnIdy2oLgIAoDY991FH +DopCEBa5sMk60NfGzqPWz6cc++K6AACgZqMHRSEIiwCyUG0HAMAIevshUFD0i7DIBW1QnHl/VFHg +fAIAgPoJiv744XQAyONyuQh3AIDmTdOkavqlj1fzsXKO7CMo+kplEUBjnQkBFAAApCMo+k5YNCC3 +oJXfL4N7AACgxDjm+U+r48ySBEXvCYsACnxp+zIGAIC6CIrmCYsGo6rovP0zuAfXAwD47qb0mKZk +lVFL54mgaJkJrvGFAax2MlzvAAD0QlC0TmURQAGeIAIAwNn90RJVRrX/yHhWUPS63toJiwaiMsAx +wPkEAACjEhTFExYBcAphFwDAOXJXGNXYzxMUbSMsAgAAALolKNpOWDQIv+A7Fpyv5XmLzLkEAOjH +6p+2eL7UEhS1Nom2sAgAAADojqBoP2HRAPwC4JjgXLL9AAC8U+IJaWcQFB0jLAIAAAC6ISg6TlgE +QBTzFgEA6OttcUYVuaAoDWFR59zi4diAawEAgBEIitIRFgEAABDFjzx9a7m6SFCUlrAIgFM7EAAA +cISgKD1hUcek/o4RuBYAANiitR8HBUV5CIsAAACA5gmK0hEWdcqv9I4V5JLr1ybXAgDov+Kc2UtQ +lJawCAAAAGiWoCi9H04rYpjU9iu/puAz4ZLlOpimyecNAECnfb0cBEV5qCzqkCDDMcNxBgAA0hgt +KApBWEQEv/IDJQnVAACMA2sxYlAUgrDIIItqPjgdO1wHrgcAMO6AeowaFIUgLAJoml98AAAgvZGD +ohCERRiIahuK6PXXN9VFAAD01rcbPSgKQVjk4sMxBNeENgYAIIQgKLoTFjFL5Qzgs6JvgiIAfI/A +H4KiP4RFYJCMjpT2064AAEMTFH0lLNLpx7GkUTWFlbm3xXWhPQEAchEUfScsovpBKBiU+9wYrS21 +IwBAGYKi94RFOv5UOEB2TF2baNMcbaf9AICzxzo1ERTNExYB+OJuarsEHtoMAOAoQdEyYRHNDELB +4NxniPbVVgD4nsH5cpSgaJ2wyMWGY4tjp507bR9tBADw1VlB0et6aycsAkg8QM+theq/UtsoENEm +AACxBEXxhEU0NwgFA3SfJ+/aH+0AADBHULSNsMigAMeYho5Ta4Fu6cBo1GtGWAkAME9QtJ2wiGYH +oWCA7rNl7rg4BwEACKGeoKi1SbSFRQ0PEHCsOW9wfsZxEehuP072DwD0Vxm3Dyoo2u+HUx+g/g5Q +60HR5XI5pR3v6+whaNMRBwCIJyg6RlhENwMpMCCv/3PmrPZ9Xm9rn3fOSQCAbQRFxwmLDGZpYEA8 +TZPKiMHPKddHnvOwxrZ1nQAA7CcoSkNYBFCxHqv+agiM7l6344z2Fg4B0INeftyk7XNFUJSOsAgf +6uDaPGXfagxJ5rYpxbEQCgEA5CMoSktY1BiDjXEHwn6tGe8ccp347AUAYJ2gKL2/nFYGpIDr8sx9 +9TkEAMBegqI8hEUN8cu2Ab9zwHljv9H2AADvCYrSERYBGLTbf20OANA0QVFa5iwySABci1W1hQo6 +5xwAwBaCovRUFjXC4MmAzLngHBmpTbSLcw4AIIagKA+VRQAG7FW3kYDUOQcAcKbRgqIQVBY1IcdA +yaDBOcF5A3bXn88r5xwAQBtGDIpCUFkERQZqwh0M1tO0n2vJOQcAUMqoQVEIwiIAA/YG21No5JwD +AMhp5KAoBLehVc8taAZvJc8N0h1vt/6UaWO0CQB9j13gDKMHRSGoLAJINlDn3HYfsYPqvAMASEtQ +9IuwyMACcB11dVxGCI2cgwAA6QmK/hAWVUwZZ3+Du9THdJomg0aDcRaOXS+fo85HAIC8BEVfCYsM +DnBMnX8Mc821FB65BgFokR8zaZGg6DthEaT+gvypDaBW7zqvNQRIOtUAAOcQFL0nLAJgaEtBTcog +SSAEAFAXQdE8YREAzBDwAAD0SVC0TFgEKQaU//z637lb0O7/DgAAwLkEReuERVBAzDxGAiUAAIC8 +zgqKXtdbO2ERVGItUBImAQDQRL/WE9G6O569EBTFExZBQnOBToonpKlOAgAA2EdQtI2wCAqICXEE +SgAAAOkJirYTFkEl1kKcFGFS7HIESgAAHOpzuhWNStQSFH3ePpsKj4RF0IhS1UkxyxEmAQAAtasp +KGqNsAg64nY3AACg6jFLoYozQdExwiIY7cPZ7W4AAEDHBEXHCYuAL2q63S12ewAAgPSmaWpumwVF +aQiLgM3MnwQAANRGUJSOsAjIwvxJAABj80Q0ShIUpSUsAk5j/iQA8i3Z/QAADThJREFUAOAoQVF6 +wiKgWm53AwAAlgiK8hAWAU1zuxsAABCCoCglYRHQPYESAAD0TVCUlrAIIJg/CQAAWiUoSk9YBBDB +/EkAADv6NZ6IxnM/NsO5ICjKQ1gEkOrLz+1uAADQndGCohCERQBFCZQAAGjBNE0aIYwZFIUgLAKo +jvmTAADgfKMGRSEIiwCaY/4kAKAl5i1q85iNbuSgKARhEUCX3O4GAAD7jB4UhSAsAhiW290AACjW +92ykukxQ9IuwCID3X+gV3e4Wuz0AALCXoOgPYREAu5k/CQCgL6POVyQo+kpYBEBW5k8CAKBmgqLv +hEUAnM78SQDQN09Ea+c4jUZQ9J6wCIDqmT8JAIDUBEXzhEUAdMH8SQAAB/o3g1UVCYqWCYsAGIb5 +kwAAEBStExYBwBPzJwEAI1FR9HnKemsnLAKADdzuBgDQJkFRPGERACTmdjcAePO95YloVR6TIn2j +Co67oGgbYREAnECgBABQhqBoO2ERAFTK/EkAQA4jzVNUS1D0eftsKjwSFgFAo86cP+kjXL92gP67 +OSAAQFVqCopaIywCgI6VCpQ+/r6uvkagBIB5i85t+1P6Iicdb0HRMcIiABhcqdvdBEoAQAmCouOE +RQDAonuYNH3p/Ny+do4igqCoTtbMch6B1b+XEP43OSgAEOHsuYnOqCoSFKUhLAIADoupCEoVKIV/ +VzqewiQAGJKgKB1hEQBQRLFA6d+IXzEFSgB0aKSnnH3rQwiKkhIWAQDVmAuUrtfrr05wovmTBEoA +0A9BUXrCIgCgHTEBzr+J5kcQKAGEEH7NO5OyYqX1J6KNXL2z9bwpQVCUh7AIAOhLTYGSMAkAihEU +pSMsAgDGUypQUp0EwIDOqBwTFKUlLAIAeGctxHG7GwBUQVCUnrAIAGAPt7sBwDelq4oERXkIiwAA +cnG7G9BRAGCSa2LOkx6NFhSFICwCADiXQAkAqjViUBSCsAgAoH7mTwKgcj1WFY0aFIUgLAIAaF8l +8ydNP0O4/ONwANC+kYOiEIRFAABjKBQoTT+fOtrhGvWez/9ujg80wLxFLJ0bPRk9KApBWAQAwF2p +291eO+V/X1dfI1ACoARB0S/CIgAA4qyESZfL5UtlUdLOu0AJoEo9VRUJiv4QFgEAkG7Q8E8I06OT +fYvrnEcEQSmWI0wCYPY7RFD0hbAIAIBTxYQ4KQIl1UkA6ago6puwCACA6q2FOKWqk2K2BYB2CIre +ExYBANC8UtVJscsRKNErT0Tjfh70QFA0T1gEAMAQagqUhEkA5xIULRMWAQDAfbBg/iSAWSqKxiEs +AgCADcyfBNCus4Ki1/XWTlgEAAAJud0NtjFvUf1UFKVdbwuERQAAUJjb3QDKEhRtIywCAIAKCZSo +VeonolH3se6BoGg7YREAADTK/EkAK59flQRFn7fPpsIjYREAAHTK/EnAXj1UFdUUFLVGWAQAAANz +uxvQI0HRMcIiAABgkUCJV6nnLfJEtHqOaw8ERccJiwAAgMPMnwTUQFCUhrAIAADIzvxJUKeeKroE +RekIiwAAgCq43S3xAPZpPwVk9E5QlJawCAAAaEYNt7u1GLx8/H0VGNHtvFCCovSERQAAQDdKVCe1 +WpkkMKJHgqI8hEUAAMBQSlQn1TBv0ud/t2/bkTIw8kS0Oo3choKidIRFAAAAzwO/CsKkmO2I3Zec +gRFUc90KipISFgEAAGwZlJ44b9KekCdnYNRCFYtqpQGuSUFRcsIiAACAlAPXjPMm7b29TYUR3V5v +gqIshEUAAAClB7iZAqWt74kJjKafjhdjGy0oCkFYBAAAUKV3IU6qW9y+L3PS4PDu+hgwKApBWAQA +ANCMUvMlAeMGRSEIiwAAALqR6va2PXMZnTWwtl7r7Wm9tRAWAQAADCBn1ZEgwXqtty/Coozc9QsA +AJwt5glqHwb01mu9p663NsIiAACAzsQERAb01mu9day3RsIiAACATpQKiUYc0Fuv9Y5EWJTY5+2m +EQAAgHrGKAkDolEH9NZrvaMRFgEAAHQoR0g04oDeeq13RMIiAACATuQKiEYd0Fuv9Y7qL00AAACA +Ab31Wi93wiIAAAAM6K3XenkQFgEAAGBAb73WW3C9tRMWAQAAYEBvvdZbaL0tEBYBAABgQG+91ltg +va0QFgEAAGBAb73Wm3m9LREWAQAAMEuQYL3W2856UxEWAQAA8JYBvfVabzvrTekyTdO0+U2XSwgh +hNvt5tMTAMjuer2GEELY0W2hZMfydx9xenSO9RWhFS3fLgMtKhkgffzuR11+/3dMf0plEQAAAAAP +wiIAAAAAHn5oAgAAgLG1OKcKkI/KIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwYIJrAAAAivq4 +frz9+7mJtre8/vm1SxN3z71ubl1bl5n6PUe2K3adW4/DWvsfPb5737PlmJrc/T2VRQAAABSzNHB/ +929bX3/W9u/ZzjO2/+gxOrrcrcve856alt8qlUUAAAAUsVb18zpoX3r9/d8+rh+L1Sdbq19itu91 +uXu28/73qapz9tiyjyWWneo9Z+xvb1QWAQAAkF3M7WGxAczSa3Pac9vbnu08M7RYu+3r8/b5eM3W +dj/aFjmO8xnnUQuERQAAABSzNQhZen3Mv81VK6UOZPZu52i3Qe1p99zhmYqi79yGBgAAABFShjqf +t88vy4sNsfZMon10H9fmYzozbMndHqMSFgEAANCleyBzDzS2VBWVmDfoXfVTrsqnFPv4/HevYRd9 +ERYBAABApBwhzlxodHRC59T7WGM4pIIoD2ERAAAAxWy9bWntaWdrnquL7v8dY2sIcXQ7n9d55oTd +e7Z9yzHds2+520OF1HcmuAYAACC7mKdOzT1ZbG0enVqeHrZlO1sLKO5PQXv9s8WeY5b7ONdyHtVG +ZREAAABFPM9zs6UqaOn1MQP8Ek/T2rOde+ZFamVC55T7lqo9SsxD1QuVRQAAABSz9RHzex9Jb7+O +i7l1b8utc3uqkfa8p6blt+oyTdO0+U2XSwghhNvtpgUBgOyu12sIIYQd3RZKdix/9xGnRwdcXxEA +zvbxux91+f3fMf0plUUAAAAAPJizCACA09yrxl7NVbBvef3za5cq4udeN7eurctM/Z4j2xW7ztT7 +eH/t2nGda//YZS7tz1q77DlmAL1SWQQAwCmWBvbv/m3r68/a/j3becb2x+5jDccixTLn9qXm9oc9 +Pq4fi38gRrHKopikvvQvG3vWs+fLxS8yfpEBAOb7DDH9taXX3//ter0u9pP29AvXtu91uXu2c6mP +d6RftsWWdR89FiXsOWZ7zw+ojcmaSaFIZVGqXx5S/nqzd3v37r9fZAAA1sOGd3+/9votPz6msue2 +tz3bWWvgcsaxOLq81tof4EzZK4u2/mq05XVry1/7ZWPLLw4pvlBTbXcNHQS/yAAAOfoae19/u90W +K5zvP3jN9V9S9lf2budaFXlpe6uacrRnquW11P4AZ8paWbT1V6PUy6/h1wO/yPjCBQD6kzNcWqrk +fve61z9792duOTX05e7bkONHyL3tD9CzIreh5f6CWftlo9aORMntzn1Puy9XAKBmr2HDliqSEkHK +7XYTWpx8fmh/gD9+1LhRZ06SfOQLodQEhEe+BN+VYKdc9mtbqCoCAHqVo5/zroJmy5QKqfclV9+x +tr7snvYH6NmPkXe+9nCn1Q6T0AgAiO2LbekjrD3tLKav8lwtErvuPU/KPbKdc/2qVo5diW0+crtd +D+0PkNtfNW7UvQz0tRz0zKdb7Nnu5+2v5YumxPbMlfECALz2tbY+DGTtCbO1PBxky3a21E86eiy2 +PiE4VT+9l/YHKKVIZdHR0s21JyDs/WWjhvmM/CIDAIzouX+3pSpo6fUxfbsSc2nu2c49fdaUUzds +DWy27mOq45dif1K1P0DPslYWbf3VKPXya3uKQ6rt9osMANCDrQ/7qPmhJr3u17uK8b3bnGo/j94F +0Op5BVDSZZqmafObLpdNH55rQcJrBcrWx83HLv/19ak+/Pc+Qn7rdqfc19flbA1+UuwLAGz9rt3R +baFkx/J3H/F+lD59/wPA6T5+96Muv/87pj9VZM6iFGn93mXU8uQGv8gAAAAALShSWQQAcITKokY6 +liqLAKA6eyqLfmg2AADoj2kCANhLWAQAAB0SBgGwl7BohV9kAAAAgJEIi1YIgwAAAICRCIsAAMji +Y6VCGwCo01+aAAAAAIA7lUUAACR10QQA0PZ3+TRN0+Y3XXQBAIDydnRbKNmx1EcEgC76UyqLAAAo +1vkEAOq3KyzSEQAAAADokwmuAQAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMCDsAgAAACAB2ERAAAA +AA/CIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMCDsAgAAACAB2ERAAAA +AA/CIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMCDsAgAAACAB2ERAAAA +AA/CIgAAAAAe/g/10lQlA3JSSwAAAABJRU5ErkJggg== diff --git a/trunk/Documentation/DocBook/media/v4l/biblio.xml b/trunk/Documentation/DocBook/media/v4l/biblio.xml index afc8a0dd2601..cea6fd3ed428 100644 --- a/trunk/Documentation/DocBook/media/v4l/biblio.xml +++ b/trunk/Documentation/DocBook/media/v4l/biblio.xml @@ -178,11 +178,3 @@ in the frequency range from 87,5 to 108,0 MHz - - diff --git a/trunk/Documentation/DocBook/media/v4l/common.xml b/trunk/Documentation/DocBook/media/v4l/common.xml index a86f7a045529..c79278acfb0e 100644 --- a/trunk/Documentation/DocBook/media/v4l/common.xml +++ b/trunk/Documentation/DocBook/media/v4l/common.xml @@ -1168,6 +1168,8 @@ dheight = format.fmt.pix.height;
+ &sub-selection-api; +
Streaming Parameters @@ -1195,11 +1197,3 @@ separate parameters for input and output devices. These ioctls are optional, drivers need not implement them. If so, they return the &EINVAL;.
- - diff --git a/trunk/Documentation/DocBook/media/v4l/compat.xml b/trunk/Documentation/DocBook/media/v4l/compat.xml index b68698f96e7f..c736380b4647 100644 --- a/trunk/Documentation/DocBook/media/v4l/compat.xml +++ b/trunk/Documentation/DocBook/media/v4l/compat.xml @@ -1082,7 +1082,7 @@ until the time in the timestamp field has arrived. I would like to follow SGI's lead, and adopt a multimedia timestamping system like their UST (Unadjusted System Time). See http://web.archive.org/web/*/http://reality.sgi.com -/cpirazzi_engr/lg/time/intro.html. +/cpirazzi_engr/lg/time/intro.html. UST uses timestamps that are 64-bit signed integers (not struct timeval's) and given in nanosecond units. The UST clock starts at zero when the system is booted and runs continuously and @@ -2376,6 +2376,23 @@ that used it. It was originally scheduled for removal in 2.6.35. V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace. + + Add selection API for extended control over cropping and +composing. Does not affect the compatibility of current drivers and +applications. See selection API for +details. + + + + +
+ V4L2 in Linux 3.3 + + + Added V4L2_CID_ALPHA_COMPONENT control + to the User controls class. + +
@@ -2489,6 +2506,9 @@ ioctls. &VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls. + + Selection API. + @@ -2507,11 +2527,3 @@ interfaces and should not be implemented in new drivers. - - diff --git a/trunk/Documentation/DocBook/media/v4l/controls.xml b/trunk/Documentation/DocBook/media/v4l/controls.xml index 3bc5ee8b2c74..a1be37897ad7 100644 --- a/trunk/Documentation/DocBook/media/v4l/controls.xml +++ b/trunk/Documentation/DocBook/media/v4l/controls.xml @@ -323,12 +323,6 @@ minimum value disables backlight compensation. Switch on or off the illuminator 1 or 2 of the device (usually a microscope). - - V4L2_CID_LASTP1 - - End of the predefined control IDs (currently -V4L2_CID_ILLUMINATORS_2 + 1). - V4L2_CID_MIN_BUFFERS_FOR_CAPTURE integer @@ -345,6 +339,25 @@ and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS. The value is the minimum number of OUTPUT buffers that is necessary for hardware to work. + + V4L2_CID_ALPHA_COMPONENT + integer + Sets the alpha color component on the capture device or on + the capture buffer queue of a mem-to-mem device. When a mem-to-mem + device produces frame format that includes an alpha component + (e.g. packed RGB image formats) + and the alpha value is not defined by the mem-to-mem input data + this control lets you select the alpha component value of all + pixels. It is applicable to any pixel format that contains an alpha + component. + + + + V4L2_CID_LASTP1 + + End of the predefined control IDs (currently + V4L2_CID_ALPHA_COMPONENT + 1). + V4L2_CID_PRIVATE_BASE @@ -3329,6 +3342,16 @@ interface and may change in the future. The short circuit protection of the flash controller has been triggered. + + V4L2_FLASH_FAULT_OVER_CURRENT + Current in the LED power supply has exceeded the limit + specific to the flash controller. + + + V4L2_FLASH_FAULT_INDICATOR + The flash controller has detected a short or open + circuit condition on the indicator LED. + @@ -3357,11 +3380,3 @@ interface and may change in the future. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-capture.xml b/trunk/Documentation/DocBook/media/v4l/dev-capture.xml index 2237c661f26a..e1c5f9406d6a 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-capture.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-capture.xml @@ -108,11 +108,3 @@ linkend="mmap">memory mapping or user pointer) I/O. See for details. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-codec.xml b/trunk/Documentation/DocBook/media/v4l/dev-codec.xml index 6e156dc45b94..dca0ecd54dc6 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-codec.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-codec.xml @@ -16,11 +16,3 @@ Applications send data to be converted to the driver through a I/O. [to do] - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-effect.xml b/trunk/Documentation/DocBook/media/v4l/dev-effect.xml index 9c243beba0e6..2350a67c0710 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-effect.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-effect.xml @@ -15,11 +15,3 @@ receive the result data either with &func-read; and &func-write; functions, or through the streaming I/O mechanism. [to do] - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-event.xml b/trunk/Documentation/DocBook/media/v4l/dev-event.xml index f14ae3fe107c..19f4becfae34 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-event.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-event.xml @@ -41,11 +41,3 @@ intermediate step leading up to that information. See the documentation for the event you want to subscribe to whether this is applicable for that event or not. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-osd.xml b/trunk/Documentation/DocBook/media/v4l/dev-osd.xml index c9a68a2ccd33..479d9433869a 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-osd.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-osd.xml @@ -154,11 +154,3 @@ data flow. For more information see . however the framebuffer interface of the driver may support the FBIOBLANK ioctl. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-output.xml b/trunk/Documentation/DocBook/media/v4l/dev-output.xml index 919e22c53854..9130a3dc7880 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-output.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-output.xml @@ -104,11 +104,3 @@ linkend="mmap">memory mapping or user pointer) I/O. See for details. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-overlay.xml b/trunk/Documentation/DocBook/media/v4l/dev-overlay.xml index 92513cf79150..40d1d7681439 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-overlay.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-overlay.xml @@ -369,11 +369,3 @@ reasons. diff --git a/trunk/Documentation/DocBook/media/v4l/dev-radio.xml b/trunk/Documentation/DocBook/media/v4l/dev-radio.xml index 73aa90b45b34..3e6ac73b36af 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-radio.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-radio.xml @@ -47,11 +47,3 @@ depending on the selected frequency. The &VIDIOC-G-TUNER; or &VIDIOC-G-MODULATOR; ioctl reports the supported frequency range. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-raw-vbi.xml b/trunk/Documentation/DocBook/media/v4l/dev-raw-vbi.xml index c5a70bdfaf27..b788c72c885e 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-raw-vbi.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-raw-vbi.xml @@ -337,11 +337,3 @@ an &EBUSY; if the required hardware resources are temporarily unavailable, for example the device is already in use by another process. - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-rds.xml b/trunk/Documentation/DocBook/media/v4l/dev-rds.xml index 2427f54397e7..38883a419e65 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-rds.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-rds.xml @@ -29,10 +29,10 @@ returned by the &VIDIOC-QUERYCAP; ioctl. Any tuner that supports RDS will set the V4L2_TUNER_CAP_RDS flag in the capability field of &v4l2-tuner;. If the driver only passes RDS blocks without interpreting the data -the V4L2_TUNER_SUB_RDS_BLOCK_IO flag has to be +the V4L2_TUNER_CAP_RDS_BLOCK_IO flag has to be set, see Reading RDS data. For future use the -flag V4L2_TUNER_SUB_RDS_CONTROLS has also been +flag V4L2_TUNER_CAP_RDS_CONTROLS has also been defined. However, a driver for a radio tuner with this capability does not yet exist, so if you are planning to write such a driver you should discuss this on the linux-media mailing list: &v4l-ml;. @@ -52,9 +52,9 @@ field of &v4l2-modulator;. In order to enable the RDS transmission one must set the V4L2_TUNER_SUB_RDS bit in the txsubchans field of &v4l2-modulator;. If the driver only passes RDS blocks without interpreting the data -the V4L2_TUNER_SUB_RDS_BLOCK_IO flag has to be set. If the +the V4L2_TUNER_CAP_RDS_BLOCK_IO flag has to be set. If the tuner is capable of handling RDS entities like program identification codes and radio -text, the flag V4L2_TUNER_SUB_RDS_CONTROLS should be set, +text, the flag V4L2_TUNER_CAP_RDS_CONTROLS should be set, see Writing RDS data and FM Transmitter Control Reference. @@ -194,11 +194,3 @@ as follows: - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml b/trunk/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml index 69e789fa7f7b..548f8ea28dee 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml @@ -697,12 +697,3 @@ Sliced VBI services for a description of the line payload. - - - diff --git a/trunk/Documentation/DocBook/media/v4l/dev-teletext.xml b/trunk/Documentation/DocBook/media/v4l/dev-teletext.xml index 414b1cfff9f4..bd21c64d70f3 100644 --- a/trunk/Documentation/DocBook/media/v4l/dev-teletext.xml +++ b/trunk/Documentation/DocBook/media/v4l/dev-teletext.xml @@ -27,11 +27,3 @@ kernel 2.6.37. Modern devices all use the raw or sliced VBI API. - - diff --git a/trunk/Documentation/DocBook/media/v4l/driver.xml b/trunk/Documentation/DocBook/media/v4l/driver.xml index 1f7eea5c4ec3..eacafe312cd2 100644 --- a/trunk/Documentation/DocBook/media/v4l/driver.xml +++ b/trunk/Documentation/DocBook/media/v4l/driver.xml @@ -198,11 +198,3 @@ devices with the videodev module. to do --> - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-close.xml b/trunk/Documentation/DocBook/media/v4l/func-close.xml index dfb41cbbbec3..232920d2f3c6 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-close.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-close.xml @@ -60,11 +60,3 @@ descriptor. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-ioctl.xml b/trunk/Documentation/DocBook/media/v4l/func-ioctl.xml index 2de64be706f5..4394184a1a6d 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-ioctl.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-ioctl.xml @@ -69,11 +69,3 @@ their respective function and parameters are specified in - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-mmap.xml b/trunk/Documentation/DocBook/media/v4l/func-mmap.xml index 786732b64bbd..f31ad71bf301 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-mmap.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-mmap.xml @@ -181,11 +181,3 @@ complete the request. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-munmap.xml b/trunk/Documentation/DocBook/media/v4l/func-munmap.xml index e2c4190f9bb6..860d49ca54a5 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-munmap.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-munmap.xml @@ -74,11 +74,3 @@ mapped yet. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-open.xml b/trunk/Documentation/DocBook/media/v4l/func-open.xml index 7595d07a8c72..cf64e207c3ee 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-open.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-open.xml @@ -111,11 +111,3 @@ system has been reached. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-poll.xml b/trunk/Documentation/DocBook/media/v4l/func-poll.xml index ec3c718f5963..85cad8bff5ba 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-poll.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-poll.xml @@ -117,11 +117,3 @@ than OPEN_MAX. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-read.xml b/trunk/Documentation/DocBook/media/v4l/func-read.xml index a5089bf8873d..e218bbfbd362 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-read.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-read.xml @@ -179,11 +179,3 @@ type of device. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-select.xml b/trunk/Documentation/DocBook/media/v4l/func-select.xml index b6713623181f..e12a60d9bd85 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-select.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-select.xml @@ -128,11 +128,3 @@ zero or greater than FD_SETSIZE. - - diff --git a/trunk/Documentation/DocBook/media/v4l/func-write.xml b/trunk/Documentation/DocBook/media/v4l/func-write.xml index 2c09c09371c3..575207885726 100644 --- a/trunk/Documentation/DocBook/media/v4l/func-write.xml +++ b/trunk/Documentation/DocBook/media/v4l/func-write.xml @@ -126,11 +126,3 @@ type of device. - - diff --git a/trunk/Documentation/DocBook/media/v4l/io.xml b/trunk/Documentation/DocBook/media/v4l/io.xml index 3f47df1aa54a..b815929b5bba 100644 --- a/trunk/Documentation/DocBook/media/v4l/io.xml +++ b/trunk/Documentation/DocBook/media/v4l/io.xml @@ -1282,11 +1282,3 @@ line, top field first. The bottom field is transmitted first. - - diff --git a/trunk/Documentation/DocBook/media/v4l/libv4l.xml b/trunk/Documentation/DocBook/media/v4l/libv4l.xml index 3cb10ec51929..d3b71e20003c 100644 --- a/trunk/Documentation/DocBook/media/v4l/libv4l.xml +++ b/trunk/Documentation/DocBook/media/v4l/libv4l.xml @@ -158,10 +158,3 @@ still don't use libv4l. - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-grey.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-grey.xml index 3b72bc6b2de7..bee970d3f76d 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-grey.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-grey.xml @@ -60,11 +60,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-m420.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-m420.xml index ce4bc019e5c0..aadae92c5d04 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-m420.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-m420.xml @@ -137,11 +137,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12.xml index 873f67035181..84dd4fd7cb80 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12.xml @@ -141,11 +141,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml index c9e166d9ded8..3fd3ce5df270 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml @@ -144,11 +144,3 @@ CbCr plane has as many pad bytes after its rows. - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml index 7a2855a526c1..2f82b1da8dfe 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml @@ -64,11 +64,3 @@ layout of macroblocks - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv16.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv16.xml index 26094035fc04..8ae1f8a810d0 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv16.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv16.xml @@ -164,11 +164,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-nv24.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv24.xml new file mode 100644 index 000000000000..fb255f2ca9dd --- /dev/null +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-nv24.xml @@ -0,0 +1,121 @@ + + + V4L2_PIX_FMT_NV24 ('NV24'), V4L2_PIX_FMT_NV42 ('NV42') + &manvol; + + + V4L2_PIX_FMT_NV24 + V4L2_PIX_FMT_NV42 + Formats with full horizontal and vertical +chroma resolutions, also known as YUV 4:4:4. One luminance and one +chrominance plane with alternating chroma samples as opposed to +V4L2_PIX_FMT_YVU420 + + + Description + + These are two-plane versions of the YUV 4:4:4 format. The three + components are separated into two sub-images or planes. The Y plane is + first, with each Y sample stored in one byte per pixel. For + V4L2_PIX_FMT_NV24, a combined CbCr plane + immediately follows the Y plane in memory. The CbCr plane has the same + width and height, in pixels, as the Y plane (and the image). Each line + contains one CbCr pair per pixel, with each Cb and Cr sample stored in + one byte. V4L2_PIX_FMT_NV42 is the same except that + the Cb and Cr samples are swapped, the CrCb plane starts with a Cr + sample. + + If the Y plane has pad bytes after each row, then the CbCr plane + has twice as many pad bytes after its rows. + + + <constant>V4L2_PIX_FMT_NV24</constant> 4 × 4 +pixel image + + + Byte Order. + Each cell is one byte. + + + + + + start + 0: + Y'00 + Y'01 + Y'02 + Y'03 + + + start + 4: + Y'10 + Y'11 + Y'12 + Y'13 + + + start + 8: + Y'20 + Y'21 + Y'22 + Y'23 + + + start + 12: + Y'30 + Y'31 + Y'32 + Y'33 + + + start + 16: + Cb00 + Cr00 + Cb01 + Cr01 + Cb02 + Cr02 + Cb03 + Cr03 + + + start + 24: + Cb10 + Cr10 + Cb11 + Cr11 + Cb12 + Cr12 + Cb13 + Cr13 + + + start + 32: + Cb20 + Cr20 + Cb21 + Cr21 + Cb22 + Cr22 + Cb23 + Cr23 + + + start + 40: + Cb30 + Cr30 + Cb31 + Cr31 + Cb32 + Cr32 + Cb33 + Cr33 + + + + + + + + + diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml index 4db272b8a0d3..166c8d65e4f7 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml @@ -428,8 +428,11 @@ colorspace V4L2_COLORSPACE_SRGB. Bit 7 is the most significant bit. The value of a = alpha bits is undefined when reading from the driver, ignored when writing to the driver, except when alpha blending has been negotiated for a -Video Overlay or Video Output Overlay. +Video Overlay or +Video Output Overlay or when alpha component has been configured +for a Video Capture by means of V4L2_CID_ALPHA_COMPONENT + control. <constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel @@ -930,11 +933,3 @@ See &v4l-dvb; for access instructions.</para> </refsect1> </refentry> - - <!-- -Local Variables: -mode: sgml -sgml-parent-document: "pixfmt.sgml" -indent-tabs-mode: nil -End: - --> diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml index 3cab5d0ca75d..33fa5a47a865 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml @@ -234,11 +234,3 @@ linkend="osd">Video Output Overlay</link>.</para> </refsect1> </refentry> - - <!-- -Local Variables: -mode: sgml -sgml-parent-document: "pixfmt.sgml" -indent-tabs-mode: nil -End: - --> diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml index 519a9efbac10..6494b05d84a1 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml @@ -81,11 +81,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml index 5fe84ecc2ebe..5eaf2b42d3f7 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml @@ -65,11 +65,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml index d67a472b0880..fee65dca79c5 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml @@ -65,11 +65,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml index 0cdf13b8ac1c..19727ab4c757 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml @@ -65,11 +65,3 @@ columns and rows. - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml index 816c8d467c16..b1f6801a17ff 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml @@ -118,11 +118,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml index 61f12a5e68d9..82803408b389 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml @@ -118,11 +118,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-y16.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-y16.xml index d58404015078..ff4f727d5624 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-y16.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-y16.xml @@ -79,11 +79,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-y41p.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-y41p.xml index 73c8536efb05..98dcb91d2917 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-y41p.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-y41p.xml @@ -147,11 +147,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml index 8eb4a193d770..0869dce5f92c 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml @@ -131,11 +131,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml index 00e0960a9869..086dc731bf02 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml @@ -145,11 +145,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml index 42d7de5e456d..48649fac1596 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml @@ -147,11 +147,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml index f5d8f57495c8..9957863daf18 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml @@ -152,11 +152,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml index 4348bd9f0d01..4ce6463fe0a5 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml @@ -151,11 +151,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml index bdb2ffacbbcc..58384092251a 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml @@ -118,11 +118,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml index 40d17ae39dde..bfffdc76d3da 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml @@ -118,11 +118,3 @@ pixel image - - diff --git a/trunk/Documentation/DocBook/media/v4l/pixfmt.xml b/trunk/Documentation/DocBook/media/v4l/pixfmt.xml index 2ff6b7776d7f..31eaae2469f9 100644 --- a/trunk/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/trunk/Documentation/DocBook/media/v4l/pixfmt.xml @@ -714,6 +714,7 @@ information. &sub-nv12m; &sub-nv12mt; &sub-nv16; + &sub-nv24; &sub-m420; @@ -890,6 +891,11 @@ kernel sources in the file Documentation/video4linux/cx2341x/README.hm 'M310' Compressed BGGR Bayer format used by the gspca driver. + + V4L2_PIX_FMT_JL2005BCD + 'JL20' + JPEG compressed RGGB Bayer format used by the gspca driver. + V4L2_PIX_FMT_OV511 'O511' @@ -997,11 +1003,3 @@ the other bits are set to 0. - - diff --git a/trunk/Documentation/DocBook/media/v4l/selection-api.xml b/trunk/Documentation/DocBook/media/v4l/selection-api.xml new file mode 100644 index 000000000000..2f0bdb4d5551 --- /dev/null +++ b/trunk/Documentation/DocBook/media/v4l/selection-api.xml @@ -0,0 +1,321 @@ +
+ + Experimental API for cropping, composing and scaling + + + Experimental + + This is an experimental +interface and may change in the future. + + +
+ Introduction + +Some video capture devices can sample a subsection of a picture and +shrink or enlarge it to an image of arbitrary size. Next, the devices can +insert the image into larger one. Some video output devices can crop part of an +input image, scale it up or down and insert it at an arbitrary scan line and +horizontal offset into a video signal. We call these abilities cropping, +scaling and composing. + +On a video capture device the source is a video +signal, and the cropping target determine the area actually sampled. The sink +is an image stored in a memory buffer. The composing area specifies which part +of the buffer is actually written to by the hardware. + +On a video output device the source is an image in a +memory buffer, and the cropping target is a part of an image to be shown on a +display. The sink is the display or the graphics screen. The application may +select the part of display where the image should be displayed. The size and +position of such a window is controlled by the compose target. + +Rectangles for all cropping and composing targets are defined even if the +device does supports neither cropping nor composing. Their size and position +will be fixed in such a case. If the device does not support scaling then the +cropping and composing rectangles have the same size. + +
+ +
+ Selection targets + +
+ Cropping and composing targets + + + + + + Targets used by a cropping, composing and scaling + process + + +
+
+ +
+ + Configuration + +Applications can use the selection +API to select an area in a video signal or a buffer, and to query for +default settings and hardware limits. + +Video hardware can have various cropping, composing and scaling +limitations. It may only scale up or down, support only discrete scaling +factors, or have different scaling abilities in the horizontal and vertical +directions. Also it may not support scaling at all. At the same time the +cropping/composing rectangles may have to be aligned, and both the source and +the sink may have arbitrary upper and lower size limits. Therefore, as usual, +drivers are expected to adjust the requested parameters and return the actual +values selected. An application can control the rounding behaviour using constraint flags . + +
+ + Configuration of video capture + +See figure for examples of the +selection targets available for a video capture device. It is recommended to +configure the cropping targets before to the composing targets. + +The range of coordinates of the top left corner, width and height of +areas that can be sampled is given by the V4L2_SEL_TGT_CROP_BOUNDS + target. It is recommended for the driver developers to put the +top/left corner at position (0,0) . The rectangle's +coordinates are expressed in pixels. + +The top left corner, width and height of the source rectangle, that is +the area actually sampled, is given by the V4L2_SEL_TGT_CROP_ACTIVE + target. It uses the same coordinate system as +V4L2_SEL_TGT_CROP_BOUNDS . The active cropping area must lie +completely inside the capture boundaries. The driver may further adjust the +requested size and/or position according to hardware limitations. + +Each capture device has a default source rectangle, given by the + V4L2_SEL_TGT_CROP_DEFAULT target. This rectangle shall +over what the driver writer considers the complete picture. Drivers shall set +the active crop rectangle to the default when the driver is first loaded, but +not later. + +The composing targets refer to a memory buffer. The limits of composing +coordinates are obtained using V4L2_SEL_TGT_COMPOSE_BOUNDS +. All coordinates are expressed in pixels. The rectangle's top/left +corner must be located at position (0,0) . The width and +height are equal to the image size set by VIDIOC_S_FMT . + + +The part of a buffer into which the image is inserted by the hardware is +controlled by the V4L2_SEL_TGT_COMPOSE_ACTIVE target. +The rectangle's coordinates are also expressed in the same coordinate system as +the bounds rectangle. The composing rectangle must lie completely inside bounds +rectangle. The driver must adjust the composing rectangle to fit to the +bounding limits. Moreover, the driver can perform other adjustments according +to hardware limitations. The application can control rounding behaviour using + constraint flags . + +For capture devices the default composing rectangle is queried using + V4L2_SEL_TGT_COMPOSE_DEFAULT . It is usually equal to the +bounding rectangle. + +The part of a buffer that is modified by the hardware is given by + V4L2_SEL_TGT_COMPOSE_PADDED . It contains all pixels +defined using V4L2_SEL_TGT_COMPOSE_ACTIVE plus all +padding data modified by hardware during insertion process. All pixels outside +this rectangle must not be changed by the hardware. The +content of pixels that lie inside the padded area but outside active area is +undefined. The application can use the padded and active rectangles to detect +where the rubbish pixels are located and remove them if needed. + +
+ +
+ + Configuration of video output + +For output devices targets and ioctls are used similarly to the video +capture case. The composing rectangle refers to the +insertion of an image into a video signal. The cropping rectangles refer to a +memory buffer. It is recommended to configure the composing targets before to +the cropping targets. + +The cropping targets refer to the memory buffer that contains an image to +be inserted into a video signal or graphical screen. The limits of cropping +coordinates are obtained using V4L2_SEL_TGT_CROP_BOUNDS . +All coordinates are expressed in pixels. The top/left corner is always point + (0,0) . The width and height is equal to the image size +specified using VIDIOC_S_FMT ioctl. + +The top left corner, width and height of the source rectangle, that is +the area from which image date are processed by the hardware, is given by the + V4L2_SEL_TGT_CROP_ACTIVE . Its coordinates are expressed +in in the same coordinate system as the bounds rectangle. The active cropping +area must lie completely inside the crop boundaries and the driver may further +adjust the requested size and/or position according to hardware +limitations. + +For output devices the default cropping rectangle is queried using + V4L2_SEL_TGT_CROP_DEFAULT . It is usually equal to the +bounding rectangle. + +The part of a video signal or graphics display where the image is +inserted by the hardware is controlled by +V4L2_SEL_TGT_COMPOSE_ACTIVE target. The rectangle's coordinates +are expressed in pixels. The composing rectangle must lie completely inside the +bounds rectangle. The driver must adjust the area to fit to the bounding +limits. Moreover, the driver can perform other adjustments according to +hardware limitations. + +The device has a default composing rectangle, given by the +V4L2_SEL_TGT_COMPOSE_DEFAULT target. This rectangle shall cover what +the driver writer considers the complete picture. It is recommended for the +driver developers to put the top/left corner at position (0,0) +. Drivers shall set the active composing rectangle to the default +one when the driver is first loaded. + +The devices may introduce additional content to video signal other than +an image from memory buffers. It includes borders around an image. However, +such a padded area is driver-dependent feature not covered by this document. +Driver developers are encouraged to keep padded rectangle equal to active one. +The padded target is accessed by the V4L2_SEL_TGT_COMPOSE_PADDED + identifier. It must contain all pixels from the +V4L2_SEL_TGT_COMPOSE_ACTIVE target. + +
+ +
+ + 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 + and V4L2_SEL_TGT_COMPOSE_ACTIVE targets. If +these are not equal then the scaling is applied. The application can compute +the scaling ratios using these values. + +
+ +
+ +
+ + Comparison with old cropping API. + +The selection API was introduced to cope with deficiencies of previous + API , that was designed to control simple capture +devices. Later the cropping API was adopted by video output drivers. The ioctls +are used to select a part of the display were the video signal is inserted. It +should be considered as an API abuse because the described operation is +actually the composing. The selection API makes a clear distinction between +composing and cropping operations by setting the appropriate targets. The V4L2 +API lacks any support for composing to and cropping from an image inside a +memory buffer. The application could configure a capture device to fill only a +part of an image by abusing V4L2 API. Cropping a smaller image from a larger +one is achieved by setting the field +&v4l2-pix-format;::bytesperline . Introducing an image offsets +could be done by modifying field &v4l2-buffer;::m:userptr + before calling VIDIOC_QBUF . Those +operations should be avoided because they are not portable (endianness), and do +not work for macroblock and Bayer formats and mmap buffers. The selection API +deals with configuration of buffer cropping/composing in a clear, intuitive and +portable way. Next, with the selection API the concepts of the padded target +and constraints flags are introduced. Finally, &v4l2-crop; + and &v4l2-cropcap; have no reserved +fields. Therefore there is no way to extend their functionality. The new + &v4l2-selection; provides a lot of place for future +extensions. Driver developers are encouraged to implement only selection API. +The former cropping API would be simulated using the new one. + +
+ +
+ Examples + + Resetting the cropping parameters + + (A video capture device is assumed; change +V4L2_BUF_TYPE_VIDEO_CAPTURE for other devices; change target to + V4L2_SEL_TGT_COMPOSE_* family to configure composing +area) + + + + &v4l2-selection; sel = { + .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, + .target = V4L2_SEL_TGT_CROP_DEFAULT, + }; + ret = ioctl(fd, &VIDIOC-G-SELECTION;, &sel); + if (ret) + exit(-1); + sel.target = V4L2_SEL_TGT_CROP_ACTIVE; + ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); + if (ret) + exit(-1); + + + + + + Simple downscaling + Setting a composing area on output of size of at most + half of limit placed at a center of a display. + + + &v4l2-selection; sel = { + .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, + .target = V4L2_SEL_TGT_COMPOSE_BOUNDS, + }; + struct v4l2_rect r; + + ret = ioctl(fd, &VIDIOC-G-SELECTION;, &sel); + if (ret) + exit(-1); + /* setting smaller compose rectangle */ + r.width = sel.r.width / 2; + r.height = sel.r.height / 2; + r.left = sel.r.width / 4; + r.top = sel.r.height / 4; + sel.r = r; + sel.target = V4L2_SEL_TGT_COMPOSE_ACTIVE; + sel.flags = V4L2_SEL_FLAG_LE; + ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); + if (ret) + exit(-1); + + + + + + Querying for scaling factors + A video output device is assumed; change +V4L2_BUF_TYPE_VIDEO_OUTPUT for other devices + + + &v4l2-selection; compose = { + .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, + .target = V4L2_SEL_TGT_COMPOSE_ACTIVE, + }; + &v4l2-selection; crop = { + .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, + .target = V4L2_SEL_TGT_CROP_ACTIVE, + }; + double hscale, vscale; + + ret = ioctl(fd, &VIDIOC-G-SELECTION;, &compose); + if (ret) + exit(-1); + ret = ioctl(fd, &VIDIOC-G-SELECTION;, &crop); + if (ret) + exit(-1); + + /* computing scaling factors */ + hscale = (double)compose.r.width / crop.r.width; + vscale = (double)compose.r.height / crop.r.height; + + + + +
+ +
diff --git a/trunk/Documentation/DocBook/media/v4l/v4l2.xml b/trunk/Documentation/DocBook/media/v4l/v4l2.xml index 2ab365c10fb9..e97c512861bb 100644 --- a/trunk/Documentation/DocBook/media/v4l/v4l2.xml +++ b/trunk/Documentation/DocBook/media/v4l/v4l2.xml @@ -501,6 +501,7 @@ and discussions on the V4L mailing list. &sub-g-output; &sub-g-parm; &sub-g-priority; + &sub-g-selection; &sub-g-sliced-vbi-cap; &sub-g-std; &sub-g-tuner; diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml index 1d31427edd1b..0be17c232d3a 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml @@ -228,11 +228,3 @@ is out of bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml index 71d373b6d36a..347d142e7431 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml @@ -156,11 +156,3 @@ bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-enuminput.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-enuminput.xml index 476fe1d2bba0..9b8efcd6e947 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-enuminput.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-enuminput.xml @@ -311,11 +311,3 @@ out of bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml index a281d26a195f..a64d5ef103fa 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml @@ -196,11 +196,3 @@ is out of bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-enumstd.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-enumstd.xml index 95803fe2c8e4..3a5fc5405f96 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-enumstd.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-enumstd.xml @@ -381,11 +381,3 @@ is out of bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml index 5146d00782e3..12b1d0503e26 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml @@ -127,11 +127,3 @@ this control belongs to. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml index 5122ce87e0b8..6f1f9a629dc3 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml @@ -312,10 +312,3 @@ to store the payload and this error code is returned. - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml index 055718231bc1..93817f337033 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml @@ -295,7 +295,8 @@ set this field to zero. The device is capable of non-destructive overlays. When the driver clears this flag, only destructive overlays are supported. There are no drivers yet which support both destructive and -non-destructive overlays. +non-destructive overlays. Video Output Overlays are in practice always +non-destructive.
V4L2_FBUF_CAP_CHROMAKEY @@ -339,8 +340,8 @@ blending makes no sense for destructive overlays. V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080 - The device supports Source Chroma-keying. Framebuffer pixels -with the chroma-key colors are replaced by video pixels, which is exactly opposite of + The device supports Source Chroma-keying. Video pixels +with the chroma-key colors are replaced by framebuffer pixels, which is exactly opposite of V4L2_FBUF_CAP_CHROMAKEY @@ -356,7 +357,9 @@ with the chroma-key colors are replaced by video pixels, which is exactly opposi V4L2_FBUF_FLAG_PRIMARY 0x0001 The framebuffer is the primary graphics surface. -In other words, the overlay is destructive. [?] +In other words, the overlay is destructive. This flag is typically set by any +driver that doesn't have the V4L2_FBUF_CAP_EXTERNOVERLAY +capability and it is cleared otherwise. V4L2_FBUF_FLAG_OVERLAY @@ -366,9 +369,8 @@ size as the capture. [?] The purpose of -V4L2_FBUF_FLAG_PRIMARY and V4L2_FBUF_FLAG_OVERLAY was never quite clear. -Most drivers seem to ignore these flags. For compatibility with the +Most drivers seem to ignore this flag. For compatibility with the bttv driver applications should set the V4L2_FBUF_FLAG_OVERLAY flag. diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml index 062d72069090..16431813bebd 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml @@ -135,11 +135,3 @@ wrong. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml index 15ce660f0f5a..7f4ac7e41fa8 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml @@ -236,11 +236,3 @@ mode. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-priority.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-priority.xml index 8f5e3da7002f..6a81b4fe9538 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-priority.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-priority.xml @@ -133,11 +133,3 @@ priority. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml new file mode 100644 index 000000000000..a9d36e0c090e --- /dev/null +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-selection.xml @@ -0,0 +1,304 @@ + + + + ioctl VIDIOC_G_SELECTION, VIDIOC_S_SELECTION + &manvol; + + + + VIDIOC_G_SELECTION + VIDIOC_S_SELECTION + Get or set one of the selection rectangles + + + + + + int ioctl + int fd + int request + struct v4l2_selection *argp + + + + + + Arguments + + + + fd + + &fd; + + + + request + + VIDIOC_G_SELECTION, VIDIOC_S_SELECTION + + + + argp + + + + + + + + + Description + + + Experimental + This is an experimental + interface and may change in the future. + + + The ioctls are used to query and configure selection rectangles. + + 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 &v4l2-selection;::target to value + V4L2_SEL_TGT_CROP_ACTIVE ( +V4L2_SEL_TGT_COMPOSE_ACTIVE ). Please refer to table or for additional +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, 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 +&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 &v4l2-selection;::target to value + V4L2_SEL_TGT_CROP_ACTIVE ( +V4L2_SEL_TGT_COMPOSE_ACTIVE ). Please refer to table or for additional +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: + + + +0 - The driver can adjust the rectangle size freely +and shall choose a crop/compose rectangle as close as possible to the requested +one. + + +V4L2_SEL_FLAG_GE - The driver is not allowed to +shrink the rectangle. The original rectangle must lay inside the adjusted +one. + + +V4L2_SEL_FLAG_LE - The driver is not allowed to +enlarge the rectangle. The adjusted rectangle must lay inside the original +one. + + +V4L2_SEL_FLAG_GE | V4L2_SEL_FLAG_LE - The driver +must choose the size exactly the same as in the requested rectangle. + + + +Please refer to . + + + + The driver may have to adjusts the requested dimensions against hardware +limits and other parts as the pipeline, i.e. the bounds given by the +capture/output window or TV display. The closest possible values of horizontal +and vertical offset and sizes are chosen according to following priority: + + + + Satisfy constraints from &v4l2-selection;::flags. + + + Adjust width, height, left, and top to hardware limits and alignments. + + + Keep center of adjusted rectangle as close as possible to the original one. + + + Keep width and height as close as possible to original ones. + + + Keep horizontal and vertical offset as close as possible to original ones. + + + +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 +violated at then ERANGE is returned. The error indicates that there +exist no rectangle that satisfies the constraints. + + + + + + Selection targets. + + &cs-def; + + + V4L2_SEL_TGT_CROP_ACTIVE + 0 + area that is currently cropped by hardware + + + V4L2_SEL_TGT_CROP_DEFAULT + 1 + suggested cropping rectangle that covers the "whole picture" + + + V4L2_SEL_TGT_CROP_BOUNDS + 2 + limits for the cropping rectangle + + + V4L2_SEL_TGT_COMPOSE_ACTIVE + 256 + area to which data are composed by hardware + + + V4L2_SEL_TGT_COMPOSE_DEFAULT + 257 + suggested composing rectangle that covers the "whole picture" + + + V4L2_SEL_TGT_COMPOSE_BOUNDS + 258 + limits for the composing rectangle + + + V4L2_SEL_TGT_COMPOSE_PADDED + 259 + the active area and all padding pixels that are inserted or modified by the hardware + + + +
+
+ + + + Selection constraint flags + + &cs-def; + + + V4L2_SEL_FLAG_GE + 0x00000001 + indicate that adjusted rectangle must contain a rectangle from &v4l2-selection;::r + + + V4L2_SEL_FLAG_LE + 0x00000002 + indicate that adjusted rectangle must be inside a rectangle from &v4l2-selection;::r + + + +
+
+ +
+
+ Size adjustments with constraint flags. + + + + + + Behaviour of rectangle adjustment for different constraint + flags. + + +
+
+ + + + struct <structname>v4l2_selection</structname> + + &cs-str; + + + __u32 + type + Type of the buffer (from &v4l2-buf-type;) + + + __u32 + target + used to select between cropping and composing rectangles + + + __u32 + flags + control over coordinates adjustments, refer to selection flags + + + &v4l2-rect; + r + selection rectangle + + + __u32 + reserved[9] + Reserved fields for future use + + + +
+
+ + + &return-value; + + + EINVAL + + 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 a rectangle +&v4l2-selection;::r that satisfies all contraints from + &v4l2-selection;::flags . + + + + EBUSY + + 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-g-std.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-std.xml index 37996f25b5d4..99ff1a016220 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-std.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-std.xml @@ -88,11 +88,3 @@ standards. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml index bd98c734c06b..91ec2fb658f8 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml @@ -318,6 +318,16 @@ standard. RDS capture is supported. This capability is only valid for radio tuners. + + V4L2_TUNER_CAP_RDS_BLOCK_IO + 0x0100 + The RDS data is passed as unparsed RDS blocks. + + + V4L2_TUNER_CAP_RDS_CONTROLS + 0x0200 + The RDS data is parsed by the hardware and set via controls. + @@ -525,11 +535,3 @@ out of bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml index 5c104d42d31c..6e414d7b6df7 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-querybuf.xml @@ -100,11 +100,3 @@ supported, or the index is out of bounds. - - diff --git a/trunk/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml b/trunk/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml index 0ac0057a51c4..36660d311b51 100644 --- a/trunk/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml +++ b/trunk/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml @@ -443,11 +443,3 @@ or this particular menu item is not supported by the driver. - - 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 c30dcc4232c0..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 @@ -125,11 +125,3 @@ wrong. - - diff --git a/trunk/Documentation/DocBook/writing-an-alsa-driver.tmpl b/trunk/Documentation/DocBook/writing-an-alsa-driver.tmpl index 5de23c007078..cab4ec58e46e 100644 --- a/trunk/Documentation/DocBook/writing-an-alsa-driver.tmpl +++ b/trunk/Documentation/DocBook/writing-an-alsa-driver.tmpl @@ -404,7 +404,7 @@ /* SNDRV_CARDS: maximum number of cards supported by this module */ static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; - static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; + static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* definition of the chip-specific record */ struct mychip { diff --git a/trunk/Documentation/cgroups/memory.txt b/trunk/Documentation/cgroups/memory.txt index 4d8774f6f48a..4c95c0034a4b 100644 --- a/trunk/Documentation/cgroups/memory.txt +++ b/trunk/Documentation/cgroups/memory.txt @@ -61,7 +61,7 @@ Brief summary of control files. memory.failcnt # show the number of memory usage hits limits memory.memsw.failcnt # show the number of memory+Swap hits limits memory.max_usage_in_bytes # show max memory usage recorded - memory.memsw.usage_in_bytes # show max memory+Swap usage recorded + memory.memsw.max_usage_in_bytes # show max memory+Swap usage recorded memory.soft_limit_in_bytes # set/show soft limit of memory usage memory.stat # show various statistics memory.use_hierarchy # set/show hierarchical account enabled @@ -410,8 +410,11 @@ memory.stat file includes following statistics cache - # of bytes of page cache memory. rss - # of bytes of anonymous and swap cache memory. mapped_file - # of bytes of mapped file (includes tmpfs/shmem) -pgpgin - # of pages paged in (equivalent to # of charging events). -pgpgout - # of pages paged out (equivalent to # of uncharging events). +pgpgin - # of charging events to the memory cgroup. The charging + event happens each time a page is accounted as either mapped + anon page(RSS) or cache page(Page Cache) to the cgroup. +pgpgout - # of uncharging events to the memory cgroup. The uncharging + event happens each time a page is unaccounted from the cgroup. swap - # of bytes of swap usage inactive_anon - # of bytes of anonymous memory and swap cache memory on LRU list. diff --git a/trunk/Documentation/coccinelle.txt b/trunk/Documentation/coccinelle.txt index 96b690348ba1..cf44eb6499b4 100644 --- a/trunk/Documentation/coccinelle.txt +++ b/trunk/Documentation/coccinelle.txt @@ -102,9 +102,15 @@ or make coccicheck COCCI= MODE=report - Using Coccinelle on (modified) files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Controlling Which Files are Processed by Coccinelle +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +By default the entire kernel source tree is checked. + +To apply Coccinelle to a specific directory, M= can be used. +For example, to check drivers/net/wireless/ one may write: + make coccicheck M=drivers/net/wireless/ + To apply Coccinelle on a file basis, instead of a directory basis, the following command may be used: diff --git a/trunk/Documentation/devicetree/bindings/mfd/mc13xxx.txt b/trunk/Documentation/devicetree/bindings/mfd/mc13xxx.txt new file mode 100644 index 000000000000..19f6af47a792 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/mfd/mc13xxx.txt @@ -0,0 +1,78 @@ +* Freescale MC13783/MC13892 Power Management Integrated Circuit (PMIC) + +Required properties: +- compatible : Should be "fsl,mc13783" or "fsl,mc13892" + +Optional properties: +- fsl,mc13xxx-uses-adc : Indicate the ADC is being used +- fsl,mc13xxx-uses-codec : Indicate the Audio Codec is being used +- fsl,mc13xxx-uses-rtc : Indicate the RTC is being used +- fsl,mc13xxx-uses-touch : Indicate the touchscreen controller is being used + +Sub-nodes: +- regulators : Contain the regulator nodes. The MC13892 regulators are + bound using their names as listed below with their registers and bits + for enabling. + + vcoincell : regulator VCOINCELL (register 13, bit 23) + sw1 : regulator SW1 (register 24, bit 0) + sw2 : regulator SW2 (register 25, bit 0) + sw3 : regulator SW3 (register 26, bit 0) + sw4 : regulator SW4 (register 27, bit 0) + swbst : regulator SWBST (register 29, bit 20) + vgen1 : regulator VGEN1 (register 32, bit 0) + viohi : regulator VIOHI (register 32, bit 3) + vdig : regulator VDIG (register 32, bit 9) + vgen2 : regulator VGEN2 (register 32, bit 12) + vpll : regulator VPLL (register 32, bit 15) + vusb2 : regulator VUSB2 (register 32, bit 18) + vgen3 : regulator VGEN3 (register 33, bit 0) + vcam : regulator VCAM (register 33, bit 6) + vvideo : regulator VVIDEO (register 33, bit 12) + vaudio : regulator VAUDIO (register 33, bit 15) + vsd : regulator VSD (register 33, bit 18) + gpo1 : regulator GPO1 (register 34, bit 6) + gpo2 : regulator GPO2 (register 34, bit 8) + gpo3 : regulator GPO3 (register 34, bit 10) + gpo4 : regulator GPO4 (register 34, bit 12) + pwgt1spi : regulator PWGT1SPI (register 34, bit 15) + pwgt2spi : regulator PWGT2SPI (register 34, bit 16) + vusb : regulator VUSB (register 50, bit 3) + + The bindings details of individual regulator device can be found in: + Documentation/devicetree/bindings/regulator/regulator.txt + +Examples: + +ecspi@70010000 { /* ECSPI1 */ + fsl,spi-num-chipselects = <2>; + cs-gpios = <&gpio3 24 0>, /* GPIO4_24 */ + <&gpio3 25 0>; /* GPIO4_25 */ + status = "okay"; + + pmic: mc13892@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,mc13892"; + spi-max-frequency = <6000000>; + reg = <0>; + interrupt-parent = <&gpio0>; + interrupts = <8>; + + regulators { + sw1_reg: mc13892__sw1 { + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1375000>; + regulator-boot-on; + regulator-always-on; + }; + + sw2_reg: mc13892__sw2 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1850000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; +}; diff --git a/trunk/Documentation/devicetree/bindings/mfd/twl-familly.txt b/trunk/Documentation/devicetree/bindings/mfd/twl-familly.txt new file mode 100644 index 000000000000..a66fcf946759 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/mfd/twl-familly.txt @@ -0,0 +1,47 @@ +Texas Instruments TWL family + +The TWLs are Integrated Power Management Chips. +Some version might contain much more analog function like +USB transceiver or Audio amplifier. +These chips are connected to an i2c bus. + + +Required properties: +- compatible : Must be "ti,twl4030"; + For Integrated power-management/audio CODEC device used in OMAP3 + based boards +- compatible : Must be "ti,twl6030"; + For Integrated power-management used in OMAP4 based boards +- interrupts : This i2c device has an IRQ line connected to the main SoC +- interrupt-controller : Since the twl support several interrupts internally, + it is considered as an interrupt controller cascaded to the SoC one. +- #interrupt-cells = <1>; +- interrupt-parent : The parent interrupt controller. + +Optional node: +- Child nodes contain in the twl. The twl family is made of several variants + that support a different number of features. + The children nodes will thus depend of the capability of the variant. + + +Example: +/* + * Integrated Power Management Chip + * http://www.ti.com/lit/ds/symlink/twl6030.pdf + */ +twl@48 { + compatible = "ti,twl6030"; + reg = <0x48>; + interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */ + interrupt-controller; + #interrupt-cells = <1>; + interrupt-parent = <&gic>; + #address-cells = <1>; + #size-cells = <0>; + + twl_rtc { + compatible = "ti,twl_rtc"; + interrupts = <11>; + reg = <0>; + }; +}; diff --git a/trunk/Documentation/devicetree/bindings/resource-names.txt b/trunk/Documentation/devicetree/bindings/resource-names.txt new file mode 100644 index 000000000000..e280fef6f265 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/resource-names.txt @@ -0,0 +1,54 @@ +Some properties contain an ordered list of 1 or more datum which are +normally accessed by index. However, some devices will have multiple +values which are more naturally accessed by name. Device nodes can +include a supplemental property for assigning names to each of the list +items. The names property consists of a list of strings in the same +order as the data in the resource property. + +The following supplemental names properties are defined. + +Resource Property Supplemental Names Property +----------------- --------------------------- +reg reg-names +clocks clock-names +interrupts interrupt-names + +Usage: + +The -names property must be used in conjunction with the normal resource +property. If not it will be ignored. + +Examples: + +l4-abe { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x48000000 0x00001000>, /* MPU path */ + <1 0 0x49000000 0x00001000>; /* L3 path */ + mcasp { + compatible = "ti,mcasp"; + reg = <0 0x10 0x10>, <0 0x20 0x10>, + <1 0x10 0x10>, <1 0x20 0x10>; + reg-names = "mpu", "dat", + "dma", "dma_dat"; + interrupts = <11>, <12>; + interrupt-names = "rx", "tx"; + }; + + timer { + compatible = "ti,timer"; + reg = <0 0x40 0x10>, <1 0x40 0x10>; + reg-names = "mpu", "dma"; + }; +}; + + +usb { + compatible = "ti,usb-host"; + reg = <0x4a064000 0x800>, <0x4a064800 0x200>, + <0x4a064c00 0x200>; + reg-names = "config", "ohci", "ehci"; + interrupts = <14>, <15>; + interrupt-names = "ohci", "ehci"; +}; diff --git a/trunk/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt b/trunk/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt new file mode 100644 index 000000000000..d5b0da8bf1d8 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt @@ -0,0 +1,71 @@ +NVIDIA Tegra audio complex + +Required properties: +- compatible : "nvidia,tegra-audio-wm8903" +- 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 WM8903's pins, and the jacks on the board: + + WM8903 pins: + + * IN1L + * IN1R + * IN2L + * IN2R + * IN3L + * IN3R + * DMICDAT + * HPOUTL + * HPOUTR + * LINEOUTL + * LINEOUTR + * LOP + * LON + * ROP + * RON + * MICBIAS + + Board connectors: + + * Headphone Jack + * Int Spk + * Mic Jack + +- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller +- nvidia,audio-codec : The phandle of the WM8903 audio codec + +Optional properties: +- nvidia,spkr-en-gpios : The GPIO that enables the speakers +- nvidia,hp-mute-gpios : The GPIO that mutes the headphones +- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in +- nvidia,int-mic-en-gpios : The GPIO that enables the internal microphone +- nvidia,ext-mic-en-gpios : The GPIO that enables the external microphone + +Example: + +sound { + compatible = "nvidia,tegra-audio-wm8903-harmony", + "nvidia,tegra-audio-wm8903" + nvidia,model = "tegra-wm8903-harmony"; + + nvidia,audio-routing = + "Headphone Jack", "HPOUTR", + "Headphone Jack", "HPOUTL", + "Int Spk", "ROP", + "Int Spk", "RON", + "Int Spk", "LOP", + "Int Spk", "LON", + "Mic Jack", "MICBIAS", + "IN1L", "Mic Jack"; + + nvidia,i2s-controller = <&i2s1>; + nvidia,audio-codec = <&wm8903>; + + nvidia,spkr-en-gpios = <&codec 2 0>; + nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ + nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */ + nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */ +}; + diff --git a/trunk/Documentation/devicetree/bindings/sound/tegra20-das.txt b/trunk/Documentation/devicetree/bindings/sound/tegra20-das.txt new file mode 100644 index 000000000000..6de3a7ee4efb --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/sound/tegra20-das.txt @@ -0,0 +1,12 @@ +NVIDIA Tegra 20 DAS (Digital Audio Switch) controller + +Required properties: +- compatible : "nvidia,tegra20-das" +- reg : Should contain DAS registers location and length + +Example: + +das@70000c00 { + compatible = "nvidia,tegra20-das"; + reg = <0x70000c00 0x80>; +}; diff --git a/trunk/Documentation/devicetree/bindings/sound/tegra20-i2s.txt b/trunk/Documentation/devicetree/bindings/sound/tegra20-i2s.txt new file mode 100644 index 000000000000..0df2b5c816e3 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/sound/tegra20-i2s.txt @@ -0,0 +1,17 @@ +NVIDIA Tegra 20 I2S controller + +Required properties: +- compatible : "nvidia,tegra20-i2s" +- reg : Should contain I2S registers location and length +- interrupts : Should contain I2S interrupt +- nvidia,dma-request-selector : The Tegra DMA controller's phandle and + request selector for this I2S controller + +Example: + +i2s@70002800 { + compatible = "nvidia,tegra20-i2s"; + reg = <0x70002800 0x200>; + interrupts = < 45 >; + nvidia,dma-request-selector = < &apbdma 2 >; +}; diff --git a/trunk/Documentation/devicetree/bindings/sound/wm8903.txt b/trunk/Documentation/devicetree/bindings/sound/wm8903.txt new file mode 100644 index 000000000000..f102cbc42694 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/sound/wm8903.txt @@ -0,0 +1,50 @@ +WM8903 audio CODEC + +This device supports I2C only. + +Required properties: + + - compatible : "wlf,wm8903" + + - 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). + +Optional properties: + + - interrupts : The interrupt line the codec is connected to. + + - micdet-cfg : Default register value for R6 (Mic Bias). If absent, the + default is 0. + + - micdet-delay : The debounce delay for microphone detection in mS. If + absent, the default is 100. + + - gpio-cfg : A list of GPIO configuration register values. The list must + be 5 entries long. If absent, no configuration of these registers is + performed. If any entry has the value 0xffffffff, that GPIO's + configuration will not be modified. + +Example: + +codec: wm8903@1a { + compatible = "wlf,wm8903"; + reg = <0x1a>; + interrupts = < 347 >; + + gpio-controller; + #gpio-cells = <2>; + + micdet-cfg = <0>; + micdet-delay = <100>; + gpio-cfg = < + 0x0600 /* DMIC_LR, output */ + 0x0680 /* DMIC_DAT, input */ + 0x0000 /* GPIO, output, low */ + 0x0200 /* Interrupt, output */ + 0x01a0 /* BCLK, input, active high */ + >; +}; diff --git a/trunk/Documentation/devicetree/bindings/sound/wm8994.txt b/trunk/Documentation/devicetree/bindings/sound/wm8994.txt new file mode 100644 index 000000000000..7a7eb1e7bda6 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/sound/wm8994.txt @@ -0,0 +1,18 @@ +WM1811/WM8994/WM8958 audio CODEC + +These devices support both I2C and SPI (configured with pin strapping +on the board). + +Required properties: + + - compatible : "wlf,wm1811", "wlf,wm8994", "wlf,wm8958" + + - reg : the I2C address of the device for I2C, the chip select + number for SPI. + +Example: + +codec: wm8994@1a { + compatible = "wlf,wm8994"; + reg = <0x1a>; +}; diff --git a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt index 6fdb450b05fb..ecc6a6cd26c1 100644 --- a/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/trunk/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -42,4 +42,5 @@ sirf SiRF Technology, Inc. st STMicroelectronics stericsson ST-Ericsson ti Texas Instruments +wlf Wolfson Microelectronics xlnx Xilinx diff --git a/trunk/Documentation/dma-buf-sharing.txt b/trunk/Documentation/dma-buf-sharing.txt index 510eab32f392..225f96d88f55 100644 --- a/trunk/Documentation/dma-buf-sharing.txt +++ b/trunk/Documentation/dma-buf-sharing.txt @@ -219,6 +219,10 @@ NOTES: If the exporter chooses not to allow an attach() operation once a map_dma_buf() API has been called, it simply returns an error. +Miscellaneous notes: +- Any exporters or users of the dma-buf buffer sharing framework must have + a 'select DMA_SHARED_BUFFER' in their respective Kconfigs. + References: [1] struct dma_buf_ops in include/linux/dma-buf.h [2] All interfaces mentioned above defined in include/linux/dma-buf.h diff --git a/trunk/Documentation/dvb/get_dvb_firmware b/trunk/Documentation/dvb/get_dvb_firmware index e67be7afc78b..d1d4a179a382 100755 --- a/trunk/Documentation/dvb/get_dvb_firmware +++ b/trunk/Documentation/dvb/get_dvb_firmware @@ -27,8 +27,8 @@ use IO::Handle; "or51211", "or51132_qam", "or51132_vsb", "bluebird", "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", - "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", "tda10071", - "it9135" ); + "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", + "drxk_hauppauge_hvr930c", "tda10071", "it9135", "it9137"); # Check args syntax() if (scalar(@ARGV) != 1); @@ -644,6 +644,24 @@ sub drxk { "$fwfile" } +sub drxk_hauppauge_hvr930c { + my $url = "http://www.wintvcd.co.uk/drivers/"; + my $zipfile = "HVR-9x0_5_10_325_28153_SIGNED.zip"; + my $hash = "83ab82e7e9480ec8bf1ae0155ca63c88"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + my $drvfile = "HVR-900/emOEM.sys"; + my $fwfile = "dvb-usb-hauppauge-hvr930c-drxk.fw"; + + checkstandard(); + + wgetfile($zipfile, $url . $zipfile); + verify($zipfile, $hash); + unzip($zipfile, $tmpdir); + extract("$tmpdir/$drvfile", 0x117b0, 42692, "$fwfile"); + + "$fwfile" +} + sub drxk_terratec_h5 { my $url = "http://www.linuxtv.org/downloads/firmware/"; my $hash = "19000dada8e2741162ccc50cc91fa7f1"; @@ -658,6 +676,26 @@ sub drxk_terratec_h5 { } sub it9135 { + my $sourcefile = "dvb-usb-it9135.zip"; + my $url = "http://www.ite.com.tw/uploads/firmware/v3.6.0.0/$sourcefile"; + my $hash = "1e55f6c8833f1d0ae067c2bb2953e6a9"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); + my $outfile = "dvb-usb-it9135.fw"; + my $fwfile1 = "dvb-usb-it9135-01.fw"; + my $fwfile2 = "dvb-usb-it9135-02.fw"; + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/$outfile", $hash); + extract("$tmpdir/$outfile", 64, 8128, "$fwfile1"); + extract("$tmpdir/$outfile", 12866, 5817, "$fwfile2"); + + "$fwfile1 $fwfile2" +} + +sub it9137 { my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/"; my $zipfile = "Driver_V10.323.1.0412.100412.zip"; my $hash = "79b597dc648698ed6820845c0c9d0d37"; diff --git a/trunk/Documentation/fb/api.txt b/trunk/Documentation/fb/api.txt new file mode 100644 index 000000000000..d4ff7de85700 --- /dev/null +++ b/trunk/Documentation/fb/api.txt @@ -0,0 +1,306 @@ + The Frame Buffer Device API + --------------------------- + +Last revised: June 21, 2011 + + +0. Introduction +--------------- + +This document describes the frame buffer API used by applications to interact +with frame buffer devices. In-kernel APIs between device drivers and the frame +buffer core are not described. + +Due to a lack of documentation in the original frame buffer API, drivers +behaviours differ in subtle (and not so subtle) ways. This document describes +the recommended API implementation, but applications should be prepared to +deal with different behaviours. + + +1. Capabilities +--------------- + +Device and driver capabilities are reported in the fixed screen information +capabilities field. + +struct fb_fix_screeninfo { + ... + __u16 capabilities; /* see FB_CAP_* */ + ... +}; + +Application should use those capabilities to find out what features they can +expect from the device and driver. + +- FB_CAP_FOURCC + +The driver supports the four character code (FOURCC) based format setting API. +When supported, formats are configured using a FOURCC instead of manually +specifying color components layout. + + +2. Types and visuals +-------------------- + +Pixels are stored in memory in hardware-dependent formats. Applications need +to be aware of the pixel storage format in order to write image data to the +frame buffer memory in the format expected by the hardware. + +Formats are described by frame buffer types and visuals. Some visuals require +additional information, which are stored in the variable screen information +bits_per_pixel, grayscale, red, green, blue and transp fields. + +Visuals describe how color information is encoded and assembled to create +macropixels. Types describe how macropixels are stored in memory. The following +types and visuals are supported. + +- FB_TYPE_PACKED_PIXELS + +Macropixels are stored contiguously in a single plane. If the number of bits +per macropixel is not a multiple of 8, whether macropixels are padded to the +next multiple of 8 bits or packed together into bytes depends on the visual. + +Padding at end of lines may be present and is then reported through the fixed +screen information line_length field. + +- FB_TYPE_PLANES + +Macropixels are split across multiple planes. The number of planes is equal to +the number of bits per macropixel, with plane i'th storing i'th bit from all +macropixels. + +Planes are located contiguously in memory. + +- FB_TYPE_INTERLEAVED_PLANES + +Macropixels are split across multiple planes. The number of planes is equal to +the number of bits per macropixel, with plane i'th storing i'th bit from all +macropixels. + +Planes are interleaved in memory. The interleave factor, defined as the +distance in bytes between the beginning of two consecutive interleaved blocks +belonging to different planes, is stored in the fixed screen information +type_aux field. + +- FB_TYPE_FOURCC + +Macropixels are stored in memory as described by the format FOURCC identifier +stored in the variable screen information grayscale field. + +- FB_VISUAL_MONO01 + +Pixels are black or white and stored on a number of bits (typically one) +specified by the variable screen information bpp field. + +Black pixels are represented by all bits set to 1 and white pixels by all bits +set to 0. When the number of bits per pixel is smaller than 8, several pixels +are packed together in a byte. + +FB_VISUAL_MONO01 is currently used with FB_TYPE_PACKED_PIXELS only. + +- FB_VISUAL_MONO10 + +Pixels are black or white and stored on a number of bits (typically one) +specified by the variable screen information bpp field. + +Black pixels are represented by all bits set to 0 and white pixels by all bits +set to 1. When the number of bits per pixel is smaller than 8, several pixels +are packed together in a byte. + +FB_VISUAL_MONO01 is currently used with FB_TYPE_PACKED_PIXELS only. + +- FB_VISUAL_TRUECOLOR + +Pixels are broken into red, green and blue components, and each component +indexes a read-only lookup table for the corresponding value. Lookup tables +are device-dependent, and provide linear or non-linear ramps. + +Each component is stored in a macropixel according to the variable screen +information red, green, blue and transp fields. + +- FB_VISUAL_PSEUDOCOLOR and FB_VISUAL_STATIC_PSEUDOCOLOR + +Pixel values are encoded as indices into a colormap that stores red, green and +blue components. The colormap is read-only for FB_VISUAL_STATIC_PSEUDOCOLOR +and read-write for FB_VISUAL_PSEUDOCOLOR. + +Each pixel value is stored in the number of bits reported by the variable +screen information bits_per_pixel field. + +- FB_VISUAL_DIRECTCOLOR + +Pixels are broken into red, green and blue components, and each component +indexes a programmable lookup table for the corresponding value. + +Each component is stored in a macropixel according to the variable screen +information red, green, blue and transp fields. + +- FB_VISUAL_FOURCC + +Pixels are encoded and interpreted as described by the format FOURCC +identifier stored in the variable screen information grayscale field. + + +3. Screen information +--------------------- + +Screen information are queried by applications using the FBIOGET_FSCREENINFO +and FBIOGET_VSCREENINFO ioctls. Those ioctls take a pointer to a +fb_fix_screeninfo and fb_var_screeninfo structure respectively. + +struct fb_fix_screeninfo stores device independent unchangeable information +about the frame buffer device and the current format. Those information can't +be directly modified by applications, but can be changed by the driver when an +application modifies the format. + +struct fb_fix_screeninfo { + char id[16]; /* identification string eg "TT Builtin" */ + unsigned long smem_start; /* Start of frame buffer mem */ + /* (physical address) */ + __u32 smem_len; /* Length of frame buffer mem */ + __u32 type; /* see FB_TYPE_* */ + __u32 type_aux; /* Interleave for interleaved Planes */ + __u32 visual; /* see FB_VISUAL_* */ + __u16 xpanstep; /* zero if no hardware panning */ + __u16 ypanstep; /* zero if no hardware panning */ + __u16 ywrapstep; /* zero if no hardware ywrap */ + __u32 line_length; /* length of a line in bytes */ + unsigned long mmio_start; /* Start of Memory Mapped I/O */ + /* (physical address) */ + __u32 mmio_len; /* Length of Memory Mapped I/O */ + __u32 accel; /* Indicate to driver which */ + /* specific chip/card we have */ + __u16 capabilities; /* see FB_CAP_* */ + __u16 reserved[2]; /* Reserved for future compatibility */ +}; + +struct fb_var_screeninfo stores device independent changeable information +about a frame buffer device, its current format and video mode, as well as +other miscellaneous parameters. + +struct fb_var_screeninfo { + __u32 xres; /* visible resolution */ + __u32 yres; + __u32 xres_virtual; /* virtual resolution */ + __u32 yres_virtual; + __u32 xoffset; /* offset from virtual to visible */ + __u32 yoffset; /* resolution */ + + __u32 bits_per_pixel; /* guess what */ + __u32 grayscale; /* 0 = color, 1 = grayscale, */ + /* >1 = FOURCC */ + struct fb_bitfield red; /* bitfield in fb mem if true color, */ + struct fb_bitfield green; /* else only length is significant */ + struct fb_bitfield blue; + struct fb_bitfield transp; /* transparency */ + + __u32 nonstd; /* != 0 Non standard pixel format */ + + __u32 activate; /* see FB_ACTIVATE_* */ + + __u32 height; /* height of picture in mm */ + __u32 width; /* width of picture in mm */ + + __u32 accel_flags; /* (OBSOLETE) see fb_info.flags */ + + /* Timing: All values in pixclocks, except pixclock (of course) */ + __u32 pixclock; /* pixel clock in ps (pico seconds) */ + __u32 left_margin; /* time from sync to picture */ + __u32 right_margin; /* time from picture to sync */ + __u32 upper_margin; /* time from sync to picture */ + __u32 lower_margin; + __u32 hsync_len; /* length of horizontal sync */ + __u32 vsync_len; /* length of vertical sync */ + __u32 sync; /* see FB_SYNC_* */ + __u32 vmode; /* see FB_VMODE_* */ + __u32 rotate; /* angle we rotate counter clockwise */ + __u32 colorspace; /* colorspace for FOURCC-based modes */ + __u32 reserved[4]; /* Reserved for future compatibility */ +}; + +To modify variable information, applications call the FBIOPUT_VSCREENINFO +ioctl with a pointer to a fb_var_screeninfo structure. If the call is +successful, the driver will update the fixed screen information accordingly. + +Instead of filling the complete fb_var_screeninfo structure manually, +applications should call the FBIOGET_VSCREENINFO ioctl and modify only the +fields they care about. + + +4. Format configuration +----------------------- + +Frame buffer devices offer two ways to configure the frame buffer format: the +legacy API and the FOURCC-based API. + + +The legacy API has been the only frame buffer format configuration API for a +long time and is thus widely used by application. It is the recommended API +for applications when using RGB and grayscale formats, as well as legacy +non-standard formats. + +To select a format, applications set the fb_var_screeninfo bits_per_pixel field +to the desired frame buffer depth. Values up to 8 will usually map to +monochrome, grayscale or pseudocolor visuals, although this is not required. + +- For grayscale formats, applications set the grayscale field to one. The red, + blue, green and transp fields must be set to 0 by applications and ignored by + drivers. Drivers must fill the red, blue and green offsets to 0 and lengths + to the bits_per_pixel value. + +- For pseudocolor formats, applications set the grayscale field to zero. The + red, blue, green and transp fields must be set to 0 by applications and + ignored by drivers. Drivers must fill the red, blue and green offsets to 0 + and lengths to the bits_per_pixel value. + +- For truecolor and directcolor formats, applications set the grayscale field + to zero, and the red, blue, green and transp fields to describe the layout of + color components in memory. + +struct fb_bitfield { + __u32 offset; /* beginning of bitfield */ + __u32 length; /* length of bitfield */ + __u32 msb_right; /* != 0 : Most significant bit is */ + /* right */ +}; + + Pixel values are bits_per_pixel wide and are split in non-overlapping red, + green, blue and alpha (transparency) components. Location and size of each + component in the pixel value are described by the fb_bitfield offset and + length fields. Offset are computed from the right. + + Pixels are always stored in an integer number of bytes. If the number of + bits per pixel is not a multiple of 8, pixel values are padded to the next + multiple of 8 bits. + +Upon successful format configuration, drivers update the fb_fix_screeninfo +type, visual and line_length fields depending on the selected format. + + +The FOURCC-based API replaces format descriptions by four character codes +(FOURCC). FOURCCs are abstract identifiers that uniquely define a format +without explicitly describing it. This is the only API that supports YUV +formats. Drivers are also encouraged to implement the FOURCC-based API for RGB +and grayscale formats. + +Drivers that support the FOURCC-based API report this capability by setting +the FB_CAP_FOURCC bit in the fb_fix_screeninfo capabilities field. + +FOURCC definitions are located in the linux/videodev2.h header. However, and +despite starting with the V4L2_PIX_FMT_prefix, they are not restricted to V4L2 +and don't require usage of the V4L2 subsystem. FOURCC documentation is +available in Documentation/DocBook/v4l/pixfmt.xml. + +To select a format, applications set the grayscale field to the desired FOURCC. +For YUV formats, they should also select the appropriate colorspace by setting +the colorspace field to one of the colorspaces listed in linux/videodev2.h and +documented in Documentation/DocBook/v4l/colorspaces.xml. + +The red, green, blue and transp fields are not used with the FOURCC-based API. +For forward compatibility reasons applications must zero those fields, and +drivers must ignore them. Values other than 0 may get a meaning in future +extensions. + +Upon successful format configuration, drivers update the fb_fix_screeninfo +type, visual and line_length fields depending on the selected format. The type +and visual fields are set to FB_TYPE_FOURCC and FB_VISUAL_FOURCC respectively. diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index d49c2ec72d12..d725c0dfe032 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -439,41 +439,6 @@ Who: Jean Delvare ---------------------------- -What: Support for driver specific ioctls in the pwc driver (everything - defined in media/pwc-ioctl.h) -When: 3.3 -Why: This stems from the v4l1 era, with v4l2 everything can be done with - standardized v4l2 API calls -Who: Hans de Goede - ----------------------------- - -What: Driver specific sysfs API in the pwc driver -When: 3.3 -Why: Setting pan/tilt should be done with v4l2 controls, like with other - cams. The button is available as a standard input device -Who: Hans de Goede - ----------------------------- - -What: Driver specific use of pixfmt.priv in the pwc driver -When: 3.3 -Why: The .priv field never was intended for this, setting a framerate is - support using the standardized S_PARM ioctl -Who: Hans de Goede - ----------------------------- - -What: Software emulation of arbritary resolutions in the pwc driver -When: 3.3 -Why: The pwc driver claims to support any resolution between 160x120 - and 640x480, but emulates this by simply drawing a black border - around the image. Userspace can draw its own black border if it - really wants one. -Who: Hans de Goede - ----------------------------- - What: For VIDIOC_S_FREQUENCY the type field must match the device node's type. If not, return -EINVAL. When: 3.2 diff --git a/trunk/Documentation/filesystems/ceph.txt b/trunk/Documentation/filesystems/ceph.txt index 763d8ebbbebd..d6030aa33376 100644 --- a/trunk/Documentation/filesystems/ceph.txt +++ b/trunk/Documentation/filesystems/ceph.txt @@ -119,12 +119,20 @@ Mount Options must rely on TCP's error correction to detect data corruption in the data payload. - noasyncreaddir - Disable client's use its local cache to satisfy readdir - requests. (This does not change correctness; the client uses - cached metadata only when a lease or capability ensures it is - valid.) + dcache + Use the dcache contents to perform negative lookups and + readdir when the client has the entire directory contents in + its cache. (This does not change correctness; the client uses + cached metadata only when a lease or capability ensures it is + valid.) + + nodcache + Do not use the dcache as above. This avoids a significant amount of + complex code, sacrificing performance without affecting correctness, + and is useful for tracking down bugs. + noasyncreaddir + Do not use the dcache as above for readdir. More Information ================ diff --git a/trunk/Documentation/filesystems/nfs/00-INDEX b/trunk/Documentation/filesystems/nfs/00-INDEX index a57e12411d2a..1716874a651e 100644 --- a/trunk/Documentation/filesystems/nfs/00-INDEX +++ b/trunk/Documentation/filesystems/nfs/00-INDEX @@ -2,6 +2,8 @@ - this file (nfs-related documentation). Exporting - explanation of how to make filesystems exportable. +fault_injection.txt + - information for using fault injection on the server knfsd-stats.txt - statistics which the NFS server makes available to user space. nfs.txt diff --git a/trunk/Documentation/filesystems/nfs/fault_injection.txt b/trunk/Documentation/filesystems/nfs/fault_injection.txt new file mode 100644 index 000000000000..426d166089a3 --- /dev/null +++ b/trunk/Documentation/filesystems/nfs/fault_injection.txt @@ -0,0 +1,69 @@ + +Fault Injection +=============== +Fault injection is a method for forcing errors that may not normally occur, or +may be difficult to reproduce. Forcing these errors in a controlled environment +can help the developer find and fix bugs before their code is shipped in a +production system. Injecting an error on the Linux NFS server will allow us to +observe how the client reacts and if it manages to recover its state correctly. + +NFSD_FAULT_INJECTION must be selected when configuring the kernel to use this +feature. + + +Using Fault Injection +===================== +On the client, mount the fault injection server through NFS v4.0+ and do some +work over NFS (open files, take locks, ...). + +On the server, mount the debugfs filesystem to and ls +/nfsd. This will show a list of files that will be used for +injecting faults on the NFS server. As root, write a number n to the file +corresponding to the action you want the server to take. The server will then +process the first n items it finds. So if you want to forget 5 locks, echo '5' +to /nfsd/forget_locks. A value of 0 will tell the server to forget +all corresponding items. A log message will be created containing the number +of items forgotten (check dmesg). + +Go back to work on the client and check if the client recovered from the error +correctly. + + +Available Faults +================ +forget_clients: + The NFS server keeps a list of clients that have placed a mount call. If + this list is cleared, the server will have no knowledge of who the client + is, forcing the client to reauthenticate with the server. + +forget_openowners: + The NFS server keeps a list of what files are currently opened and who + they were opened by. Clearing this list will force the client to reopen + its files. + +forget_locks: + The NFS server keeps a list of what files are currently locked in the VFS. + Clearing this list will force the client to reclaim its locks (files are + unlocked through the VFS as they are cleared from this list). + +forget_delegations: + A delegation is used to assure the client that a file, or part of a file, + has not changed since the delegation was awarded. Clearing this list will + force the client to reaquire its delegation before accessing the file + again. + +recall_delegations: + Delegations can be recalled by the server when another client attempts to + access a file. This test will notify the client that its delegation has + been revoked, forcing the client to reaquire the delegation before using + the file again. + + +tools/nfs/inject_faults.sh script +================================= +This script has been created to ease the fault injection process. This script +will detect the mounted debugfs directory and write to the files located there +based on the arguments passed by the user. For example, running +`inject_faults.sh forget_locks 1` as root will instruct the server to forget +one lock. Running `inject_faults forget_locks` will instruct the server to +forgetall locks. diff --git a/trunk/Documentation/filesystems/proc.txt b/trunk/Documentation/filesystems/proc.txt index 12fee132fbe2..a76a26a1db8a 100644 --- a/trunk/Documentation/filesystems/proc.txt +++ b/trunk/Documentation/filesystems/proc.txt @@ -307,6 +307,9 @@ Table 1-4: Contents of the stat files (as of 2.6.30-rc7) blkio_ticks time spent waiting for block IO gtime guest time of the task in jiffies cgtime guest time of the task children in jiffies + start_data address above which program data+bss is placed + end_data address below which program data+bss is placed + start_brk address above which program heap can be expanded with brk() .............................................................................. The /proc/PID/maps file containing the currently mapped memory regions and diff --git a/trunk/Documentation/filesystems/squashfs.txt b/trunk/Documentation/filesystems/squashfs.txt index 7db3ebda5a4c..403c090aca39 100644 --- a/trunk/Documentation/filesystems/squashfs.txt +++ b/trunk/Documentation/filesystems/squashfs.txt @@ -93,8 +93,8 @@ byte alignment: Compressed data blocks are written to the filesystem as files are read from the source directory, and checked for duplicates. Once all file data has been -written the completed inode, directory, fragment, export and uid/gid lookup -tables are written. +written the completed inode, directory, fragment, export, uid/gid lookup and +xattr tables are written. 3.1 Compression options ----------------------- @@ -151,7 +151,7 @@ in each metadata block. Directories are sorted in alphabetical order, and at lookup the index is scanned linearly looking for the first filename alphabetically larger than the filename being looked up. At this point the location of the metadata block the filename is in has been found. -The general idea of the index is ensure only one metadata block needs to be +The general idea of the index is to ensure only one metadata block needs to be decompressed to do a lookup irrespective of the length of the directory. This scheme has the advantage that it doesn't require extra memory overhead and doesn't require much extra storage on disk. diff --git a/trunk/Documentation/hwmon/it87 b/trunk/Documentation/hwmon/it87 index 6f496a586732..23b7def21ba8 100644 --- a/trunk/Documentation/hwmon/it87 +++ b/trunk/Documentation/hwmon/it87 @@ -26,6 +26,10 @@ Supported chips: Prefix: 'it8721' Addresses scanned: from Super I/O config space (8 I/O ports) Datasheet: Not publicly available + * IT8728F + Prefix: 'it8728' + Addresses scanned: from Super I/O config space (8 I/O ports) + Datasheet: Not publicly available * SiS950 [clone of IT8705F] Prefix: 'it87' Addresses scanned: from Super I/O config space (8 I/O ports) @@ -71,7 +75,7 @@ Description ----------- This driver implements support for the IT8705F, IT8712F, IT8716F, -IT8718F, IT8720F, IT8721F, IT8726F, IT8758E and SiS950 chips. +IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E and SiS950 chips. These chips are 'Super I/O chips', supporting floppy disks, infrared ports, joysticks and other miscellaneous stuff. For hardware monitoring, they @@ -105,6 +109,9 @@ The IT8726F is just bit enhanced IT8716F with additional hardware for AMD power sequencing. Therefore the chip will appear as IT8716F to userspace applications. +The IT8728F is considered compatible with the IT8721F, until a datasheet +becomes available (hopefully.) + Temperatures are measured in degrees Celsius. An alarm is triggered once when the Overtemperature Shutdown limit is crossed. @@ -121,8 +128,8 @@ alarm is triggered if the voltage has crossed a programmable minimum or maximum limit. Note that minimum in this case always means 'closest to zero'; this is important for negative voltage measurements. All voltage inputs can measure voltages between 0 and 4.08 volts, with a resolution of -0.016 volt (except IT8721F/IT8758E: 0.012 volt.) The battery voltage in8 does -not have limit registers. +0.016 volt (except IT8721F/IT8758E and IT8728F: 0.012 volt.) The battery +voltage in8 does not have limit registers. On the IT8721F/IT8758E, some voltage inputs are internal and scaled inside the chip (in7, in8 and optionally in3). The driver handles this transparently diff --git a/trunk/Documentation/hwmon/lm63 b/trunk/Documentation/hwmon/lm63 index b9843eab1afb..4d30d209881a 100644 --- a/trunk/Documentation/hwmon/lm63 +++ b/trunk/Documentation/hwmon/lm63 @@ -12,6 +12,11 @@ Supported chips: Addresses scanned: I2C 0x18 and 0x4e Datasheet: Publicly available at the National Semiconductor website http://www.national.com/pf/LM/LM64.html + * National Semiconductor LM96163 + Prefix: 'lm96163' + Addresses scanned: I2C 0x4c + Datasheet: Publicly available at the National Semiconductor website + http://www.national.com/pf/LM/LM96163.html Author: Jean Delvare @@ -49,16 +54,24 @@ value for measuring the speed of the fan. It can measure fan speeds down to Note that the pin used for fan monitoring is shared with an alert out function. Depending on how the board designer wanted to use the chip, fan speed monitoring will or will not be possible. The proper chip configuration -is left to the BIOS, and the driver will blindly trust it. +is left to the BIOS, and the driver will blindly trust it. Only the original +LM63 suffers from this limitation, the LM64 and LM96163 have separate pins +for fan monitoring and alert out. On the LM64, monitoring is always enabled; +on the LM96163 it can be disabled. A PWM output can be used to control the speed of the fan. The LM63 has two PWM modes: manual and automatic. Automatic mode is not fully implemented yet (you cannot define your custom PWM/temperature curve), and mode change isn't supported either. -The lm63 driver will not update its values more frequently than every -second; reading them more often will do no harm, but will return 'old' -values. +The lm63 driver will not update its values more frequently than configured with +the update_interval sysfs attribute; reading them more often will do no harm, +but will return 'old' values. Values in the automatic fan control lookup table +(attributes pwm1_auto_*) have their own independent lifetime of 5 seconds. The LM64 is effectively an LM63 with GPIO lines. The driver does not support these GPIO lines at present. + +The LM96163 is an enhanced version of LM63 with improved temperature accuracy +and better PWM resolution. For LM96163, the external temperature sensor type is +configurable as CPU embedded diode(1) or 3904 transistor(2). diff --git a/trunk/Documentation/hwmon/sysfs-interface b/trunk/Documentation/hwmon/sysfs-interface index a4aa8f600e09..1f4dd855a299 100644 --- a/trunk/Documentation/hwmon/sysfs-interface +++ b/trunk/Documentation/hwmon/sysfs-interface @@ -304,7 +304,7 @@ value (fastest fan speed) wins. temp[1-*]_type Sensor type selection. Integers 1 to 6 RW - 1: PII/Celeron Diode + 1: CPU embedded diode 2: 3904 transistor 3: thermal diode 4: thermistor diff --git a/trunk/Documentation/kbuild/makefiles.txt b/trunk/Documentation/kbuild/makefiles.txt index f47cdefb4d1e..ab0a984530d8 100644 --- a/trunk/Documentation/kbuild/makefiles.txt +++ b/trunk/Documentation/kbuild/makefiles.txt @@ -33,14 +33,15 @@ This document describes the Linux kernel Makefiles. === 6 Architecture Makefiles --- 6.1 Set variables to tweak the build to the architecture - --- 6.2 Add prerequisites to archprepare: - --- 6.3 List directories to visit when descending - --- 6.4 Architecture-specific boot images - --- 6.5 Building non-kbuild targets - --- 6.6 Commands useful for building a boot image - --- 6.7 Custom kbuild commands - --- 6.8 Preprocessing linker scripts - --- 6.9 Generic header files + --- 6.2 Add prerequisites to archheaders: + --- 6.3 Add prerequisites to archprepare: + --- 6.4 List directories to visit when descending + --- 6.5 Architecture-specific boot images + --- 6.6 Building non-kbuild targets + --- 6.7 Commands useful for building a boot image + --- 6.8 Custom kbuild commands + --- 6.9 Preprocessing linker scripts + --- 6.10 Generic header files === 7 Kbuild syntax for exported headers --- 7.1 header-y @@ -252,7 +253,7 @@ more details, with real examples. This will create a library lib.a based on delay.o. For kbuild to actually recognize that there is a lib.a being built, the directory shall be listed in libs-y. - See also "6.3 List directories to visit when descending". + See also "6.4 List directories to visit when descending". Use of lib-y is normally restricted to lib/ and arch/*/lib. @@ -974,7 +975,20 @@ When kbuild executes, the following steps are followed (roughly): $(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic mode) if this option is supported by $(AR). ---- 6.2 Add prerequisites to archprepare: +--- 6.2 Add prerequisites to archheaders: + + The archheaders: rule is used to generate header files that + may be installed into user space by "make header_install" or + "make headers_install_all". In order to support + "make headers_install_all", this target has to be able to run + on an unconfigured tree, or a tree configured for another + architecture. + + It is run before "make archprepare" when run on the + architecture itself. + + +--- 6.3 Add prerequisites to archprepare: The archprepare: rule is used to list prerequisites that need to be built before starting to descend down in the subdirectories. @@ -990,7 +1004,7 @@ When kbuild executes, the following steps are followed (roughly): generating offset header files. ---- 6.3 List directories to visit when descending +--- 6.4 List directories to visit when descending An arch Makefile cooperates with the top Makefile to define variables which specify how to build the vmlinux file. Note that there is no @@ -1019,7 +1033,7 @@ When kbuild executes, the following steps are followed (roughly): drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ ---- 6.4 Architecture-specific boot images +--- 6.5 Architecture-specific boot images An arch Makefile specifies goals that take the vmlinux file, compress it, wrap it in bootstrapping code, and copy the resulting files @@ -1070,7 +1084,7 @@ When kbuild executes, the following steps are followed (roughly): When "make" is executed without arguments, bzImage will be built. ---- 6.5 Building non-kbuild targets +--- 6.6 Building non-kbuild targets extra-y @@ -1090,7 +1104,7 @@ When kbuild executes, the following steps are followed (roughly): shall be built, but shall not be linked as part of built-in.o. ---- 6.6 Commands useful for building a boot image +--- 6.7 Commands useful for building a boot image Kbuild provides a few macros that are useful when building a boot image. @@ -1112,7 +1126,7 @@ When kbuild executes, the following steps are followed (roughly): always be built. Assignments to $(targets) are without $(obj)/ prefix. if_changed may be used in conjunction with custom commands as - defined in 6.7 "Custom kbuild commands". + defined in 6.8 "Custom kbuild commands". Note: It is a typical mistake to forget the FORCE prerequisite. Another common pitfall is that whitespace is sometimes @@ -1171,7 +1185,7 @@ When kbuild executes, the following steps are followed (roughly): $(obj)/%.dtb: $(src)/%.dts $(call cmd,dtc) ---- 6.7 Custom kbuild commands +--- 6.8 Custom kbuild commands When kbuild is executing with KBUILD_VERBOSE=0, then only a shorthand of a command is normally displayed. @@ -1198,7 +1212,7 @@ When kbuild executes, the following steps are followed (roughly): will be displayed with "make KBUILD_VERBOSE=0". ---- 6.8 Preprocessing linker scripts +--- 6.9 Preprocessing linker scripts When the vmlinux image is built, the linker script arch/$(ARCH)/kernel/vmlinux.lds is used. @@ -1228,7 +1242,7 @@ When kbuild executes, the following steps are followed (roughly): The kbuild infrastructure for *lds file are used in several architecture-specific files. ---- 6.9 Generic header files +--- 6.10 Generic header files The directory include/asm-generic contains the header files that may be shared between individual architectures. diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index eb93fd0ec734..b29f3c416296 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -2475,6 +2475,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. stacktrace [FTRACE] Enabled the stack tracer on boot up. + stacktrace_filter=[function-list] + [FTRACE] Limit the functions that the stack tracer + will trace at boot up. function-list is a comma separated + list of functions. This list can be changed at run + time by the stack_trace_filter file in the debugfs + tracing directory. Note, this enables stack tracing + and the stacktrace above is not needed. + sti= [PARISC,HW] Format: Set the STI (builtin display/keyboard on the HP-PARISC diff --git a/trunk/Documentation/kmemleak.txt b/trunk/Documentation/kmemleak.txt index 51063e681ca4..b6e39739a36d 100644 --- a/trunk/Documentation/kmemleak.txt +++ b/trunk/Documentation/kmemleak.txt @@ -127,7 +127,10 @@ See the include/linux/kmemleak.h header for the functions prototype. kmemleak_init - initialize kmemleak kmemleak_alloc - notify of a memory block allocation +kmemleak_alloc_percpu - notify of a percpu memory block allocation kmemleak_free - notify of a memory block freeing +kmemleak_free_part - notify of a partial memory block freeing +kmemleak_free_percpu - notify of a percpu memory block freeing kmemleak_not_leak - mark an object as not a leak kmemleak_ignore - do not scan or report an object as leak kmemleak_scan_area - add scan areas inside a memory block diff --git a/trunk/Documentation/mmc/mmc-dev-attrs.txt b/trunk/Documentation/mmc/mmc-dev-attrs.txt index 8898a95b41e5..22ae8441489f 100644 --- a/trunk/Documentation/mmc/mmc-dev-attrs.txt +++ b/trunk/Documentation/mmc/mmc-dev-attrs.txt @@ -64,3 +64,13 @@ Note on Erase Size and Preferred Erase Size: size specified by the card. "preferred_erase_size" is in bytes. + +SD/MMC/SDIO Clock Gating Attribute +================================== + +Read and write access is provided to following attribute. +This attribute appears only if CONFIG_MMC_CLKGATE is enabled. + + clkgate_delay Tune the clock gating delay with desired value in milliseconds. + +echo > /sys/class/mmc_host/mmcX/clkgate_delay diff --git a/trunk/Documentation/mmc/mmc-dev-parts.txt b/trunk/Documentation/mmc/mmc-dev-parts.txt index 2db28b8e662f..f08d078d43cf 100644 --- a/trunk/Documentation/mmc/mmc-dev-parts.txt +++ b/trunk/Documentation/mmc/mmc-dev-parts.txt @@ -25,3 +25,16 @@ echo 0 > /sys/block/mmcblkXbootY/force_ro To re-enable read-only access: echo 1 > /sys/block/mmcblkXbootY/force_ro + +The boot partitions can also be locked read only until the next power on, +with: + +echo 1 > /sys/block/mmcblkXbootY/ro_lock_until_next_power_on + +This is a feature of the card and not of the kernel. If the card does +not support boot partition locking, the file will not exist. If the +feature has been disabled on the card, the file will be read-only. + +The boot partitions can also be locked permanently, but this feature is +not accessible through sysfs in order to avoid accidental or malicious +bricking. diff --git a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt index edad99abec21..c8c54544abc5 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt @@ -42,19 +42,7 @@ ALC260 ALC262 ====== - fujitsu Fujitsu Laptop - benq Benq ED8 - benq-t31 Benq T31 - hippo Hippo (ATI) with jack detection, Sony UX-90s - hippo_1 Hippo (Benq) with jack detection - toshiba-s06 Toshiba S06 - toshiba-rx1 Toshiba RX1 - tyan Tyan Thunder n6650W (S2915-E) - ultra Samsung Q1 Ultra Vista model - lenovo-3000 Lenovo 3000 y410 - nec NEC Versa S9100 - basic fixed pin assignment w/o SPDIF - auto auto-config reading BIOS (default) + N/A ALC267/268 ========== @@ -350,7 +338,6 @@ STAC92HD83* mic-ref Reference board with power management for ports dell-s14 Dell laptop dell-vostro-3500 Dell Vostro 3500 laptop - hp HP laptops with (inverted) mute-LED hp-dv7-4000 HP dv-7 4000 auto BIOS setup (default) diff --git a/trunk/Documentation/sound/alsa/compress_offload.txt b/trunk/Documentation/sound/alsa/compress_offload.txt new file mode 100644 index 000000000000..c83a835350f0 --- /dev/null +++ b/trunk/Documentation/sound/alsa/compress_offload.txt @@ -0,0 +1,188 @@ + compress_offload.txt + ===================== + Pierre-Louis.Bossart + Vinod Koul + +Overview + +Since its early days, the ALSA API was defined with PCM support or +constant bitrates payloads such as IEC61937 in mind. Arguments and +returned values in frames are the norm, making it a challenge to +extend the existing API to compressed data streams. + +In recent years, audio digital signal processors (DSP) were integrated +in system-on-chip designs, and DSPs are also integrated in audio +codecs. Processing compressed data on such DSPs results in a dramatic +reduction of power consumption compared to host-based +processing. Support for such hardware has not been very good in Linux, +mostly because of a lack of a generic API available in the mainline +kernel. + +Rather than requiring a compability break with an API change of the +ALSA PCM interface, a new 'Compressed Data' API is introduced to +provide a control and data-streaming interface for audio DSPs. + +The design of this API was inspired by the 2-year experience with the +Intel Moorestown SOC, with many corrections required to upstream the +API in the mainline kernel instead of the staging tree and make it +usable by others. + +Requirements + +The main requirements are: + +- separation between byte counts and time. Compressed formats may have + a header per file, per frame, or no header at all. The payload size + may vary from frame-to-frame. As a result, it is not possible to + estimate reliably the duration of audio buffers when handling + compressed data. Dedicated mechanisms are required to allow for + reliable audio-video synchronization, which requires precise + reporting of the number of samples rendered at any given time. + +- Handling of multiple formats. PCM data only requires a specification + of the sampling rate, number of channels and bits per sample. In + contrast, compressed data comes in a variety of formats. Audio DSPs + may also provide support for a limited number of audio encoders and + decoders embedded in firmware, or may support more choices through + dynamic download of libraries. + +- Focus on main formats. This API provides support for the most + popular formats used for audio and video capture and playback. It is + likely that as audio compression technology advances, new formats + will be added. + +- Handling of multiple configurations. Even for a given format like + AAC, some implementations may support AAC multichannel but HE-AAC + stereo. Likewise WMA10 level M3 may require too much memory and cpu + cycles. The new API needs to provide a generic way of listing these + formats. + +- Rendering/Grabbing only. This API does not provide any means of + hardware acceleration, where PCM samples are provided back to + user-space for additional processing. This API focuses instead on + streaming compressed data to a DSP, with the assumption that the + decoded samples are routed to a physical output or logical back-end. + + - Complexity hiding. Existing user-space multimedia frameworks all + have existing enums/structures for each compressed format. This new + API assumes the existence of a platform-specific compatibility layer + to expose, translate and make use of the capabilities of the audio + DSP, eg. Android HAL or PulseAudio sinks. By construction, regular + applications are not supposed to make use of this API. + + +Design + +The new API shares a number of concepts with with the PCM API for flow +control. Start, pause, resume, drain and stop commands have the same +semantics no matter what the content is. + +The concept of memory ring buffer divided in a set of fragments is +borrowed from the ALSA PCM API. However, only sizes in bytes can be +specified. + +Seeks/trick modes are assumed to be handled by the host. + +The notion of rewinds/forwards is not supported. Data committed to the +ring buffer cannot be invalidated, except when dropping all buffers. + +The Compressed Data API does not make any assumptions on how the data +is transmitted to the audio DSP. DMA transfers from main memory to an +embedded audio cluster or to a SPI interface for external DSPs are +possible. As in the ALSA PCM case, a core set of routines is exposed; +each driver implementer will have to write support for a set of +mandatory routines and possibly make use of optional ones. + +The main additions are + +- get_caps +This routine returns the list of audio formats supported. Querying the +codecs on a capture stream will return encoders, decoders will be +listed for playback streams. + +- get_codec_caps For each codec, this routine returns a list of +capabilities. The intent is to make sure all the capabilities +correspond to valid settings, and to minimize the risks of +configuration failures. For example, for a complex codec such as AAC, +the number of channels supported may depend on a specific profile. If +the capabilities were exposed with a single descriptor, it may happen +that a specific combination of profiles/channels/formats may not be +supported. Likewise, embedded DSPs have limited memory and cpu cycles, +it is likely that some implementations make the list of capabilities +dynamic and dependent on existing workloads. In addition to codec +settings, this routine returns the minimum buffer size handled by the +implementation. This information can be a function of the DMA buffer +sizes, the number of bytes required to synchronize, etc, and can be +used by userspace to define how much needs to be written in the ring +buffer before playback can start. + +- set_params +This routine sets the configuration chosen for a specific codec. The +most important field in the parameters is the codec type; in most +cases decoders will ignore other fields, while encoders will strictly +comply to the settings + +- get_params +This routines returns the actual settings used by the DSP. Changes to +the settings should remain the exception. + +- get_timestamp +The timestamp becomes a multiple field structure. It lists the number +of bytes transferred, the number of samples processed and the number +of samples rendered/grabbed. All these values can be used to determine +the avarage bitrate, figure out if the ring buffer needs to be +refilled or the delay due to decoding/encoding/io on the DSP. + +Note that the list of codecs/profiles/modes was derived from the +OpenMAX AL specification instead of reinventing the wheel. +Modifications include: +- Addition of FLAC and IEC formats +- Merge of encoder/decoder capabilities +- Profiles/modes listed as bitmasks to make descriptors more compact +- Addition of set_params for decoders (missing in OpenMAX AL) +- Addition of AMR/AMR-WB encoding modes (missing in OpenMAX AL) +- Addition of format information for WMA +- Addition of encoding options when required (derived from OpenMAX IL) +- Addition of rateControlSupported (missing in OpenMAX AL) + +Not supported: + +- Support for VoIP/circuit-switched calls is not the target of this + API. Support for dynamic bit-rate changes would require a tight + coupling between the DSP and the host stack, limiting power savings. + +- Packet-loss concealment is not supported. This would require an + additional interface to let the decoder synthesize data when frames + are lost during transmission. This may be added in the future. + +- Volume control/routing is not handled by this API. Devices exposing a + compressed data interface will be considered as regular ALSA devices; + volume changes and routing information will be provided with regular + ALSA kcontrols. + +- Embedded audio effects. Such effects should be enabled in the same + manner, no matter if the input was PCM or compressed. + +- multichannel IEC encoding. Unclear if this is required. + +- Encoding/decoding acceleration is not supported as mentioned + above. It is possible to route the output of a decoder to a capture + stream, or even implement transcoding capabilities. This routing + would be enabled with ALSA kcontrols. + +- Audio policy/resource management. This API does not provide any + hooks to query the utilization of the audio DSP, nor any premption + mechanisms. + +- No notion of underun/overrun. Since the bytes written are compressed + in nature and data written/read doesn't translate directly to + rendered output in time, this does not deal with underrun/overun and + maybe dealt in user-library + +Credits: +- Mark Brown and Liam Girdwood for discussions on the need for this API +- Harsha Priya for her work on intel_sst compressed API +- Rakesh Ughreja for valuable feedback +- Sing Nallasellan, Sikkandar Madar and Prasanna Samaga for + demonstrating and quantifying the benefits of audio offload on a + real platform. diff --git a/trunk/Documentation/sysctl/kernel.txt b/trunk/Documentation/sysctl/kernel.txt index 6d8cd8b2c30d..8c20fbd8b42d 100644 --- a/trunk/Documentation/sysctl/kernel.txt +++ b/trunk/Documentation/sysctl/kernel.txt @@ -415,6 +415,14 @@ PIDs of value pid_max or larger are not allocated. ============================================================== +ns_last_pid: + +The last pid allocated in the current (the one task using this sysctl +lives in) pid namespace. When selecting a pid for a next task on fork +kernel tries to allocate a number starting from this one. + +============================================================== + powersave-nap: (PPC only) If set, Linux-PPC will use the 'nap' mode of powersaving, diff --git a/trunk/Documentation/video4linux/CARDLIST.au0828 b/trunk/Documentation/video4linux/CARDLIST.au0828 index d5cb4ea287b2..7b59e953c4bf 100644 --- a/trunk/Documentation/video4linux/CARDLIST.au0828 +++ b/trunk/Documentation/video4linux/CARDLIST.au0828 @@ -1,5 +1,5 @@ 0 -> Unknown board (au0828) - 1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008] + 1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008,2040:7260,2040:7213] 2 -> Hauppauge HVR850 (au0828) [2040:7240] 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] diff --git a/trunk/Documentation/video4linux/CARDLIST.bttv b/trunk/Documentation/video4linux/CARDLIST.bttv index 4739d5684305..b753906c7183 100644 --- a/trunk/Documentation/video4linux/CARDLIST.bttv +++ b/trunk/Documentation/video4linux/CARDLIST.bttv @@ -71,7 +71,7 @@ 70 -> Prolink Pixelview PV-BT878P+ (Rev.4C,8E) 71 -> Lifeview FlyVideo 98EZ (capture only) LR51 [1851:1851] 72 -> Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [1554:4011] - 73 -> Sensoray 311 [6000:0311] + 73 -> Sensoray 311/611 [6000:0311,6000:0611] 74 -> RemoteVision MX (RV605) 75 -> Powercolor MTV878/ MTV878R/ MTV878F 76 -> Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) [0e11:0079] @@ -158,3 +158,4 @@ 157 -> Geovision GV-800(S) (master) [800a:763d] 158 -> Geovision GV-800(S) (slave) [800b:763d,800c:763d,800d:763d] 159 -> ProVideo PV183 [1830:1540,1831:1540,1832:1540,1833:1540,1834:1540,1835:1540,1836:1540,1837:1540] +160 -> Tongwei Video Technology TD-3116 [f200:3116] diff --git a/trunk/Documentation/video4linux/CARDLIST.cx23885 b/trunk/Documentation/video4linux/CARDLIST.cx23885 index 8910449d23a8..23584d0c6a75 100644 --- a/trunk/Documentation/video4linux/CARDLIST.cx23885 +++ b/trunk/Documentation/video4linux/CARDLIST.cx23885 @@ -29,3 +29,6 @@ 28 -> LEADTEK WinFast PxTV1200 [107d:6f22] 29 -> GoTView X5 3D Hybrid [5654:2390] 30 -> NetUP Dual DVB-T/C-CI RF [1b55:e2e4] + 31 -> Leadtek Winfast PxDVR3200 H XC4000 [107d:6f39] + 32 -> MPX-885 + 33 -> Mygica X8507 [14f1:8502] diff --git a/trunk/Documentation/video4linux/CARDLIST.cx88 b/trunk/Documentation/video4linux/CARDLIST.cx88 index d9c0f119196d..eee18e6962b6 100644 --- a/trunk/Documentation/video4linux/CARDLIST.cx88 +++ b/trunk/Documentation/video4linux/CARDLIST.cx88 @@ -85,3 +85,5 @@ 84 -> Samsung SMT 7020 DVB-S [18ac:dc00,18ac:dccd] 85 -> Twinhan VP-1027 DVB-S [1822:0023] 86 -> TeVii S464 DVB-S/S2 [d464:9022] + 87 -> Leadtek WinFast DTV2000 H PLUS [107d:6f42] + 88 -> Leadtek WinFast DTV1800 H (XC4000) [107d:6f38] diff --git a/trunk/Documentation/video4linux/CARDLIST.em28xx b/trunk/Documentation/video4linux/CARDLIST.em28xx index 4a7b3df6d8bd..e7be3ac49ead 100644 --- a/trunk/Documentation/video4linux/CARDLIST.em28xx +++ b/trunk/Documentation/video4linux/CARDLIST.em28xx @@ -11,7 +11,7 @@ 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500] 11 -> Terratec Hybrid XS (em2880) 12 -> Kworld PVR TV 2800 RF (em2820/em2840) - 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] + 13 -> Terratec Prodigy XS (em2880) 14 -> SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) 15 -> V-Gear PocketTV (em2800) 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b] @@ -40,7 +40,7 @@ 39 -> KWorld PVRTV 300U (em2861) [eb1a:e300] 40 -> Plextor ConvertX PX-TV100U (em2861) [093b:a005] 41 -> Kworld 350 U DVB-T (em2870) [eb1a:e350] - 42 -> Kworld 355 U DVB-T (em2870) [eb1a:e355,eb1a:e357] + 42 -> Kworld 355 U DVB-T (em2870) [eb1a:e355,eb1a:e357,eb1a:e359] 43 -> Terratec Cinergy T XS (em2870) [0ccd:0043] 44 -> Terratec Cinergy T XS (MT2060) (em2870) 45 -> Pinnacle PCTV DVB-T (em2870) @@ -64,7 +64,7 @@ 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] + 67 -> Terratec Grabby (em2860) [0ccd:0096,0ccd:10AF] 68 -> Terratec AV350 (em2860) [0ccd:0084] 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313] 70 -> Evga inDtube (em2882) @@ -76,3 +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: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] diff --git a/trunk/Documentation/video4linux/CARDLIST.saa7134 b/trunk/Documentation/video4linux/CARDLIST.saa7134 index 7efae9bd73ed..e7ef38a19859 100644 --- a/trunk/Documentation/video4linux/CARDLIST.saa7134 +++ b/trunk/Documentation/video4linux/CARDLIST.saa7134 @@ -186,3 +186,4 @@ 185 -> MagicPro ProHDTV Pro2 DMB-TH/Hybrid [17de:d136] 186 -> Beholder BeholdTV 501 [5ace:5010] 187 -> Beholder BeholdTV 503 FM [5ace:5030] +188 -> Sensoray 811/911 [6000:0811,6000:0911] diff --git a/trunk/Documentation/video4linux/CARDLIST.saa7164 b/trunk/Documentation/video4linux/CARDLIST.saa7164 index 152bd7b781ca..2205e8d55537 100644 --- a/trunk/Documentation/video4linux/CARDLIST.saa7164 +++ b/trunk/Documentation/video4linux/CARDLIST.saa7164 @@ -7,3 +7,5 @@ 6 -> Hauppauge WinTV-HVR2200 [0070:8901] 7 -> Hauppauge WinTV-HVR2250 [0070:8891,0070:8851] 8 -> Hauppauge WinTV-HVR2250 [0070:88A1] + 9 -> Hauppauge WinTV-HVR2200 [0070:8940] + 10 -> Hauppauge WinTV-HVR2200 [0070:8953] diff --git a/trunk/Documentation/video4linux/gspca.txt b/trunk/Documentation/video4linux/gspca.txt index b15e29f31121..f2060f0dc02c 100644 --- a/trunk/Documentation/video4linux/gspca.txt +++ b/trunk/Documentation/video4linux/gspca.txt @@ -189,6 +189,7 @@ ov519 05a9:0511 Video Blaster WebCam 3/WebCam Plus, D-Link USB Digital Video Ca ov519 05a9:0518 Creative WebCam ov519 05a9:0519 OV519 Microphone ov519 05a9:0530 OmniVision +ov534_9 05a9:1550 OmniVision VEHO Filmscanner ov519 05a9:2800 OmniVision SuperCAM ov519 05a9:4519 Webcam Classic ov534_9 05a9:8065 OmniVision test kit ov538+ov9712 @@ -278,6 +279,7 @@ pac7302 093a:2628 Genius iLook 300 pac7302 093a:2629 Genious iSlim 300 pac7302 093a:262a Webcam 300k pac7302 093a:262c Philips SPC 230 NC +jl2005bcd 0979:0227 Various brands, 19 known cameras supported jeilinj 0979:0280 Sakar 57379 jeilinj 0979:0280 Sportscam DV15 zc3xx 0ac8:0302 Z-star Vimicro zc0302 diff --git a/trunk/Documentation/video4linux/v4l2-framework.txt b/trunk/Documentation/video4linux/v4l2-framework.txt index f8dcabf7852c..659b2ba12a4f 100644 --- a/trunk/Documentation/video4linux/v4l2-framework.txt +++ b/trunk/Documentation/video4linux/v4l2-framework.txt @@ -612,6 +612,12 @@ You can set a pointer to a mutex_lock in struct video_device. Usually this will be either a top-level mutex or a mutex per device node. If you want finer-grained locking then you have to set it to NULL and do you own locking. +It is up to the driver developer to decide which method to use. However, if +your driver has high-latency operations (for example, changing the exposure +of a USB webcam might take a long time), then you might be better off with +doing your own locking if you want to allow the user to do other things with +the device while waiting for the high-latency command to finish. + If a lock is specified then all file operations will be serialized on that lock. If you use videobuf then you must pass the same lock to the videobuf queue initialize function: if videobuf has to wait for a frame to arrive, then @@ -619,6 +625,11 @@ it will temporarily unlock the lock and relock it afterwards. If your driver also waits in the code, then you should do the same to allow other processes to access the device node while the first process is waiting for something. +In the case of videobuf2 you will need to implement the wait_prepare and +wait_finish callbacks to unlock/lock if applicable. In particular, if you use +the lock in struct video_device then you must unlock/lock this mutex in +wait_prepare and wait_finish. + The implementation of a hotplug disconnect should also take the lock before calling v4l2_device_disconnect. diff --git a/trunk/Documentation/vm/slub.txt b/trunk/Documentation/vm/slub.txt index 2acdda9601b0..6752870c4970 100644 --- a/trunk/Documentation/vm/slub.txt +++ b/trunk/Documentation/vm/slub.txt @@ -131,7 +131,10 @@ slub_min_objects. slub_max_order specified the order at which slub_min_objects should no longer be checked. This is useful to avoid SLUB trying to generate super large order pages to fit slub_min_objects of a slab cache with -large object sizes into one high order page. +large object sizes into one high order page. Setting command line +parameter debug_guardpage_minorder=N (N > 0), forces setting +slub_max_order to 0, what cause minimum possible order of slabs +allocation. SLUB Debug output ----------------- diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 311b0c405572..2a90101309d1 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -537,6 +537,7 @@ F: sound/soc/codecs/adau* F: sound/soc/codecs/adav* F: sound/soc/codecs/ad1* F: sound/soc/codecs/ssm* +F: sound/soc/codecs/sigmadsp.* ANALOG DEVICES INC ASOC DRIVERS L: uclinux-dist-devel@blackfin.uclinux.org @@ -2820,6 +2821,14 @@ L: platform-driver-x86@vger.kernel.org S: Maintained F: drivers/platform/x86/fujitsu-laptop.c +FUJITSU M-5MO LS CAMERA ISP DRIVER +M: Kyungmin Park +M: Heungjun Kim +L: linux-media@vger.kernel.org +S: Maintained +F: drivers/media/video/m5mols/ +F: include/media/m5mols.h + FUSE: FILESYSTEM IN USERSPACE M: Miklos Szeredi L: fuse-devel@lists.sourceforge.net @@ -3192,6 +3201,7 @@ F: drivers/i2c/busses/i2c-stub.c I2C SUBSYSTEM M: "Jean Delvare (PC drivers, core)" M: "Ben Dooks (embedded platforms)" +M: "Wolfram Sang (embedded platforms)" L: linux-i2c@vger.kernel.org W: http://i2c.wiki.kernel.org/ T: quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/ @@ -3773,7 +3783,6 @@ S: Odd Fixes KERNEL NFSD, SUNRPC, AND LOCKD SERVERS M: "J. Bruce Fields" -M: Neil Brown L: linux-nfs@vger.kernel.org W: http://nfs.sourceforge.net/ S: Supported @@ -4682,6 +4691,8 @@ Q: http://patchwork.kernel.org/project/linux-omap/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git S: Maintained F: arch/arm/*omap*/ +F: drivers/i2c/busses/i2c-omap.c +F: include/linux/i2c-omap.h OMAP CLOCK FRAMEWORK SUPPORT M: Paul Walmsley @@ -5666,6 +5677,12 @@ L: alsa-devel@alsa-project.org (moderated for non-subscribers) S: Supported F: sound/soc/samsung +SAMSUNG FRAMEBUFFER DRIVER +M: Jingoo Han +L: linux-fbdev@vger.kernel.org +S: Maintained +F: drivers/video/s3c-fb.c + SERIAL DRIVERS M: Alan Cox L: linux-serial@vger.kernel.org @@ -5955,6 +5972,7 @@ L: davinci-linux-open-source@linux.davincidsp.com (subscribers-only) Q: http://patchwork.kernel.org/project/linux-davinci/list/ S: Supported F: arch/arm/mach-davinci +F: drivers/i2c/busses/i2c-davinci.c SIS 190 ETHERNET DRIVER M: Francois Romieu diff --git a/trunk/Makefile b/trunk/Makefile index adddd11c3b3b..156ac69c961e 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -312,7 +312,7 @@ endif # If the user is running make -s (silent mode), suppress echoing of # commands -ifneq ($(findstring s,$(MAKEFLAGS)),) +ifneq ($(filter s% -s%,$(MAKEFLAGS)),) quiet=silent_ endif @@ -442,7 +442,7 @@ asm-generic: no-dot-config-targets := clean mrproper distclean \ cscope gtags TAGS tags help %docs check% coccicheck \ - include/linux/version.h headers_% \ + include/linux/version.h headers_% archheaders \ kernelversion %src-pkg config-targets := 0 @@ -979,7 +979,7 @@ prepare1: prepare2 include/linux/version.h include/generated/utsrelease.h \ include/config/auto.conf $(cmd_crmodverdir) -archprepare: prepare1 scripts_basic +archprepare: archheaders prepare1 scripts_basic prepare0: archprepare FORCE $(Q)$(MAKE) $(build)=. @@ -1046,8 +1046,11 @@ hdr-inst := -rR -f $(srctree)/scripts/Makefile.headersinst obj # If we do an all arch process set dst to asm-$(hdr-arch) hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm) +PHONY += archheaders +archheaders: + PHONY += __headers -__headers: include/linux/version.h scripts_basic asm-generic FORCE +__headers: include/linux/version.h scripts_basic asm-generic archheaders FORCE $(Q)$(MAKE) $(build)=scripts build_unifdef PHONY += headers_install_all diff --git a/trunk/arch/Kconfig b/trunk/arch/Kconfig index 2505740b81d2..4f55c736be11 100644 --- a/trunk/arch/Kconfig +++ b/trunk/arch/Kconfig @@ -185,4 +185,18 @@ config HAVE_RCU_TABLE_FREE config ARCH_HAVE_NMI_SAFE_CMPXCHG bool +config HAVE_ALIGNED_STRUCT_PAGE + bool + help + This makes sure that struct pages are double word aligned and that + e.g. the SLUB allocator can perform double word atomic operations + on a struct page for better performance. However selecting this + might increase the size of a struct page by a word. + +config HAVE_CMPXCHG_LOCAL + bool + +config HAVE_CMPXCHG_DOUBLE + bool + source "kernel/gcov/Kconfig" diff --git a/trunk/arch/arm/boot/Makefile b/trunk/arch/arm/boot/Makefile index 5df26a9976a2..fc871e719aae 100644 --- a/trunk/arch/arm/boot/Makefile +++ b/trunk/arch/arm/boot/Makefile @@ -59,9 +59,11 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE endif +targets += $(dtb-y) + # Rule to build device tree blobs -$(obj)/%.dtb: $(src)/dts/%.dts - $(call cmd,dtc) +$(obj)/%.dtb: $(src)/dts/%.dts FORCE + $(call if_changed_dep,dtc) $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) diff --git a/trunk/arch/arm/configs/bonito_defconfig b/trunk/arch/arm/configs/bonito_defconfig new file mode 100644 index 000000000000..54571082d920 --- /dev/null +++ b/trunk/arch/arm/configs/bonito_defconfig @@ -0,0 +1,72 @@ +CONFIG_EXPERIMENTAL=y +CONFIG_SYSVIPC=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SLAB=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_ARCH_SHMOBILE=y +CONFIG_ARCH_R8A7740=y +CONFIG_MACH_BONITO=y +# CONFIG_SH_TIMER_TMU is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttySC5,115200 earlyprintk=sh-sci.5,115200 ignore_loglevel" +CONFIG_KEXEC=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +# CONFIG_SUSPEND is not set +CONFIG_PM_RUNTIME=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_FIRMWARE_IN_KERNEL is not set +CONFIG_MTD=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_ARM_INTEGRATOR=y +CONFIG_MTD_BLOCK2MTD=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=9 +CONFIG_SERIAL_SH_SCI_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_SH_MOBILE=y +CONFIG_GPIO_SYSFS=y +# CONFIG_HWMON is not set +# CONFIG_MFD_SUPPORT is not set +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +CONFIG_UIO_PDRV_GENIRQ=y +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ARM_UNWIND is not set diff --git a/trunk/arch/arm/configs/kota2_defconfig b/trunk/arch/arm/configs/kota2_defconfig new file mode 100644 index 000000000000..b7735d6347ac --- /dev/null +++ b/trunk/arch/arm/configs/kota2_defconfig @@ -0,0 +1,122 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +CONFIG_SYSVIPC=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_CGROUPS=y +CONFIG_CPUSETS=y +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +CONFIG_SYSCTL_SYSCALL=y +CONFIG_EMBEDDED=y +CONFIG_SLAB=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_ARCH_SHMOBILE=y +CONFIG_KEYBOARD_GPIO_POLLED=y +CONFIG_ARCH_SH73A0=y +CONFIG_MACH_KOTA2=y +CONFIG_MEMORY_SIZE=0x1e0000000 +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_SWP_EMULATE is not set +CONFIG_CPU_BPREDICT_DISABLE=y +CONFIG_ARM_ERRATA_460075=y +CONFIG_ARM_ERRATA_742230=y +CONFIG_ARM_ERRATA_742231=y +CONFIG_PL310_ERRATA_588369=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_PL310_ERRATA_727915=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ARM_ERRATA_751472=y +CONFIG_PL310_ERRATA_753970=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_PL310_ERRATA_769419=y +CONFIG_NO_HZ=y +CONFIG_SMP=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_HIGHMEM=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel" +CONFIG_CMDLINE_FORCE=y +CONFIG_KEXEC=y +CONFIG_CPU_IDLE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_PM_RUNTIME=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_CFG80211=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_MAC80211=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_BLK_DEV is not set +CONFIG_NETDEVICES=y +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_SMSC911X=y +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_B43=y +CONFIG_B43_PHY_N=y +CONFIG_B43_DEBUG=y +CONFIG_INPUT_SPARSEKMAP=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_KEYBOARD_ATKBD is not set +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_SH_KEYSC=y +# CONFIG_INPUT_MOUSE is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=9 +CONFIG_SERIAL_SH_SCI_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_I2C_SH_MOBILE=y +# CONFIG_HWMON is not set +CONFIG_BCMA=y +CONFIG_BCMA_DEBUG=y +CONFIG_FB=y +CONFIG_FB_SH_MOBILE_LCDC=y +CONFIG_LCD_PLATFORM=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_SDHI=y +CONFIG_MMC_SH_MMCIF=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_RENESAS_TPU=y +CONFIG_LEDS_TRIGGERS=y +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_REDUCED=y +# CONFIG_FTRACE is not set +CONFIG_DEBUG_USER=y diff --git a/trunk/arch/arm/configs/marzen_defconfig b/trunk/arch/arm/configs/marzen_defconfig new file mode 100644 index 000000000000..864f9a5c39dd --- /dev/null +++ b/trunk/arch/arm/configs/marzen_defconfig @@ -0,0 +1,87 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +CONFIG_KERNEL_LZMA=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_SYSCTL_SYSCALL=y +CONFIG_EMBEDDED=y +CONFIG_SLAB=y +# CONFIG_BLOCK is not set +CONFIG_ARCH_SHMOBILE=y +CONFIG_ARCH_R8A7779=y +CONFIG_MACH_MARZEN=y +CONFIG_MEMORY_START=0x60000000 +CONFIG_MEMORY_SIZE=0x10000000 +CONFIG_SHMOBILE_TIMER_HZ=1024 +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SWP_EMULATE is not set +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_458693=y +CONFIG_ARM_ERRATA_460075=y +CONFIG_ARM_ERRATA_743622=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_NO_HZ=y +CONFIG_SMP=y +# CONFIG_ARM_CPU_TOPOLOGY is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_HIGHMEM=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel" +CONFIG_CMDLINE_FORCE=y +CONFIG_KEXEC=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_PM_RUNTIME=y +CONFIG_NET=y +CONFIG_INET=y +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +# CONFIG_FW_LOADER is not set +CONFIG_NETDEVICES=y +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_SMC911X=y +CONFIG_SMSC911X=y +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_WLAN is not set +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVKMEM is not set +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=6 +CONFIG_SERIAL_SH_SCI_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_GPIO_SYSFS=y +# CONFIG_HWMON is not set +CONFIG_SSB=y +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV_GENIRQ=y +# CONFIG_IOMMU_SUPPORT is not set +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_REDUCED=y +# CONFIG_FTRACE is not set +CONFIG_DEBUG_USER=y +CONFIG_AVERAGE=y diff --git a/trunk/arch/arm/include/asm/gpio.h b/trunk/arch/arm/include/asm/gpio.h index 7151753b0989..c402e9b31f4c 100644 --- a/trunk/arch/arm/include/asm/gpio.h +++ b/trunk/arch/arm/include/asm/gpio.h @@ -2,7 +2,7 @@ #define _ARCH_ARM_GPIO_H #if CONFIG_ARCH_NR_GPIO > 0 -#define ARCH_NR_GPIO CONFIG_ARCH_NR_GPIO +#define ARCH_NR_GPIOS CONFIG_ARCH_NR_GPIO #endif /* not all ARM platforms necessarily support this API ... */ diff --git a/trunk/arch/arm/include/asm/hwcap.h b/trunk/arch/arm/include/asm/hwcap.h index c93a22a8b924..917626128a1d 100644 --- a/trunk/arch/arm/include/asm/hwcap.h +++ b/trunk/arch/arm/include/asm/hwcap.h @@ -25,7 +25,8 @@ #define HWCAP_IDIVT (1 << 18) #define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) -#if defined(__KERNEL__) && !defined(__ASSEMBLY__) +#if defined(__KERNEL__) +#if !defined(__ASSEMBLY__) /* * This yields a mask that user programs can use to figure out what * instruction set this cpu supports. @@ -33,5 +34,6 @@ #define ELF_HWCAP (elf_hwcap) extern unsigned int elf_hwcap; #endif +#endif #endif diff --git a/trunk/arch/arm/include/asm/memblock.h b/trunk/arch/arm/include/asm/memblock.h index b8da2e415e4e..00ca5f92648e 100644 --- a/trunk/arch/arm/include/asm/memblock.h +++ b/trunk/arch/arm/include/asm/memblock.h @@ -6,4 +6,6 @@ struct machine_desc; extern void arm_memblock_init(struct meminfo *, struct machine_desc *); +phys_addr_t arm_memblock_steal(phys_addr_t size, phys_addr_t align); + #endif diff --git a/trunk/arch/arm/include/asm/swab.h b/trunk/arch/arm/include/asm/swab.h index 32ee164a2f6b..b859d82e30ca 100644 --- a/trunk/arch/arm/include/asm/swab.h +++ b/trunk/arch/arm/include/asm/swab.h @@ -22,7 +22,8 @@ # define __SWAB_64_THRU_32__ #endif -#if defined(__KERNEL__) && __LINUX_ARM_ARCH__ >= 6 +#if defined(__KERNEL__) +#if __LINUX_ARM_ARCH__ >= 6 static inline __attribute_const__ __u32 __arch_swahb32(__u32 x) { @@ -39,8 +40,10 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 x) } #define __arch_swab32 __arch_swab32 -#else +#endif +#endif +#if !defined(__KERNEL__) || __LINUX_ARM_ARCH__ < 6 static inline __attribute_const__ __u32 __arch_swab32(__u32 x) { __u32 t; diff --git a/trunk/arch/arm/include/asm/unistd.h b/trunk/arch/arm/include/asm/unistd.h index 4a1123783806..512cd1473454 100644 --- a/trunk/arch/arm/include/asm/unistd.h +++ b/trunk/arch/arm/include/asm/unistd.h @@ -427,7 +427,8 @@ /* * The following syscalls are obsolete and no longer available for EABI. */ -#if defined(__ARM_EABI__) && !defined(__KERNEL__) +#if !defined(__KERNEL__) +#if defined(__ARM_EABI__) #undef __NR_time #undef __NR_umount #undef __NR_stime @@ -441,6 +442,7 @@ #undef __NR_syscall #undef __NR_ipc #endif +#endif #ifdef __KERNEL__ diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index 14e277d2ff91..6d5791144066 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -99,6 +99,14 @@ ENTRY(stext) THUMB( it eq ) @ force fixup-able long branch encoding beq __error_p @ yes, error 'p' +#ifdef CONFIG_ARM_LPAE + mrc p15, 0, r3, c0, c1, 4 @ read ID_MMFR0 + and r3, r3, #0xf @ extract VMSA support + cmp r3, #5 @ long-descriptor translation table format? + THUMB( it lo ) @ force fixup-able long branch encoding + blo __error_p @ only classic page table format +#endif + #ifndef CONFIG_XIP_KERNEL adr r3, 2f ldmia r3, {r4, r8} diff --git a/trunk/arch/arm/mach-imx/mach-mx31_3ds.c b/trunk/arch/arm/mach-imx/mach-mx31_3ds.c index 89c33258639f..4d1aab154400 100644 --- a/trunk/arch/arm/mach-imx/mach-mx31_3ds.c +++ b/trunk/arch/arm/mach-imx/mach-mx31_3ds.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -754,10 +755,8 @@ static struct sys_timer mx31_3ds_timer = { static void __init mx31_3ds_reserve(void) { /* reserve MX31_3DS_CAMERA_BUF_SIZE bytes for mx3-camera */ - mx3_camera_base = memblock_alloc(MX31_3DS_CAMERA_BUF_SIZE, + mx3_camera_base = arm_memblock_steal(MX31_3DS_CAMERA_BUF_SIZE, MX31_3DS_CAMERA_BUF_SIZE); - memblock_free(mx3_camera_base, MX31_3DS_CAMERA_BUF_SIZE); - memblock_remove(mx3_camera_base, MX31_3DS_CAMERA_BUF_SIZE); } MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)") diff --git a/trunk/arch/arm/mach-imx/mach-mx31moboard.c b/trunk/arch/arm/mach-imx/mach-mx31moboard.c index b95981dacb2b..f225262b5c38 100644 --- a/trunk/arch/arm/mach-imx/mach-mx31moboard.c +++ b/trunk/arch/arm/mach-imx/mach-mx31moboard.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -584,10 +585,8 @@ struct sys_timer mx31moboard_timer = { static void __init mx31moboard_reserve(void) { /* reserve 4 MiB for mx3-camera */ - mx3_camera_base = memblock_alloc(MX3_CAMERA_BUF_SIZE, + mx3_camera_base = arm_memblock_steal(MX3_CAMERA_BUF_SIZE, MX3_CAMERA_BUF_SIZE); - memblock_free(mx3_camera_base, MX3_CAMERA_BUF_SIZE); - memblock_remove(mx3_camera_base, MX3_CAMERA_BUF_SIZE); } MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard") diff --git a/trunk/arch/arm/mach-imx/mach-pcm037.c b/trunk/arch/arm/mach-imx/mach-pcm037.c index d7e151669ed3..e48854b9d990 100644 --- a/trunk/arch/arm/mach-imx/mach-pcm037.c +++ b/trunk/arch/arm/mach-imx/mach-pcm037.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -680,10 +681,8 @@ struct sys_timer pcm037_timer = { static void __init pcm037_reserve(void) { /* reserve 4 MiB for mx3-camera */ - mx3_camera_base = memblock_alloc(MX3_CAMERA_BUF_SIZE, + mx3_camera_base = arm_memblock_steal(MX3_CAMERA_BUF_SIZE, MX3_CAMERA_BUF_SIZE); - memblock_free(mx3_camera_base, MX3_CAMERA_BUF_SIZE); - memblock_remove(mx3_camera_base, MX3_CAMERA_BUF_SIZE); } MACHINE_START(PCM037, "Phytec Phycore pcm037") diff --git a/trunk/arch/arm/mach-omap2/Kconfig b/trunk/arch/arm/mach-omap2/Kconfig index 904bd1dfcd2e..a8ba7b96dcd1 100644 --- a/trunk/arch/arm/mach-omap2/Kconfig +++ b/trunk/arch/arm/mach-omap2/Kconfig @@ -366,8 +366,8 @@ config OMAP3_SDRC_AC_TIMING going on could result in system crashes; config OMAP4_ERRATA_I688 - bool "OMAP4 errata: Async Bridge Corruption" - depends on ARCH_OMAP4 + bool "OMAP4 errata: Async Bridge Corruption (BROKEN)" + depends on ARCH_OMAP4 && BROKEN select ARCH_HAS_BARRIERS help If a data is stalled inside asynchronous bridge because of back diff --git a/trunk/arch/arm/mach-omap2/board-4430sdp.c b/trunk/arch/arm/mach-omap2/board-4430sdp.c index 2ceb75d21eb2..39fba9df17fb 100644 --- a/trunk/arch/arm/mach-omap2/board-4430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-4430sdp.c @@ -602,20 +602,6 @@ static void __init omap_sfh7741prox_init(void) __func__, OMAP4_SFH7741_ENABLE_GPIO, error); } -static void sdp4430_hdmi_mux_init(void) -{ - /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ - omap_mux_init_signal("hdmi_hpd", - OMAP_PIN_INPUT_PULLUP); - omap_mux_init_signal("hdmi_cec", - OMAP_PIN_INPUT_PULLUP); - /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ - omap_mux_init_signal("hdmi_ddc_scl", - OMAP_PIN_INPUT_PULLUP); - omap_mux_init_signal("hdmi_ddc_sda", - OMAP_PIN_INPUT_PULLUP); -} - static struct gpio sdp4430_hdmi_gpios[] = { { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, @@ -833,9 +819,16 @@ static void omap_4430sdp_display_init(void) pr_err("%s: Could not get display_sel GPIO\n", __func__); sdp4430_lcd_init(); - sdp4430_hdmi_mux_init(); sdp4430_picodlp_init(); omap_display_init(&sdp4430_dss_data); + /* + * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and + * later have external pull up on the HDMI I2C lines + */ + if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2) + omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); + else + omap_hdmi_init(0); } #ifdef CONFIG_OMAP_MUX diff --git a/trunk/arch/arm/mach-omap2/board-omap4panda.c b/trunk/arch/arm/mach-omap2/board-omap4panda.c index e96a2e7ad36f..30ad40db2cf3 100644 --- a/trunk/arch/arm/mach-omap2/board-omap4panda.c +++ b/trunk/arch/arm/mach-omap2/board-omap4panda.c @@ -412,21 +412,6 @@ int __init omap4_panda_dvi_init(void) return r; } - -static void omap4_panda_hdmi_mux_init(void) -{ - /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ - omap_mux_init_signal("hdmi_hpd", - OMAP_PIN_INPUT_PULLUP); - omap_mux_init_signal("hdmi_cec", - OMAP_PIN_INPUT_PULLUP); - /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ - omap_mux_init_signal("hdmi_ddc_scl", - OMAP_PIN_INPUT_PULLUP); - omap_mux_init_signal("hdmi_ddc_sda", - OMAP_PIN_INPUT_PULLUP); -} - static struct gpio panda_hdmi_gpios[] = { { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, @@ -478,8 +463,16 @@ void omap4_panda_display_init(void) if (r) pr_err("error initializing panda DVI\n"); - omap4_panda_hdmi_mux_init(); omap_display_init(&omap4_panda_dss_data); + + /* + * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and + * later have external pull up on the HDMI I2C lines + */ + if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2) + omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); + else + omap_hdmi_init(0); } static void __init omap4_panda_init(void) diff --git a/trunk/arch/arm/mach-omap2/devices.c b/trunk/arch/arm/mach-omap2/devices.c index 46dfd1ae8f71..0b510ad01a00 100644 --- a/trunk/arch/arm/mach-omap2/devices.c +++ b/trunk/arch/arm/mach-omap2/devices.c @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -128,6 +127,10 @@ static struct platform_device omap2cam_device = { }; #endif +#if defined(CONFIG_IOMMU_API) + +#include + static struct resource omap3isp_resources[] = { { .start = OMAP3430_ISP_BASE, @@ -224,6 +227,15 @@ int omap3_init_camera(struct isp_platform_data *pdata) return platform_device_register(&omap3isp_device); } +#else /* !CONFIG_IOMMU_API */ + +int omap3_init_camera(struct isp_platform_data *pdata) +{ + return 0; +} + +#endif + static inline void omap_init_camera(void) { #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE) diff --git a/trunk/arch/arm/mach-omap2/display.c b/trunk/arch/arm/mach-omap2/display.c index bc6cf863a563..3c446d1a1781 100644 --- a/trunk/arch/arm/mach-omap2/display.c +++ b/trunk/arch/arm/mach-omap2/display.c @@ -30,6 +30,7 @@ #include #include "common.h" +#include "mux.h" #include "control.h" #include "display.h" @@ -97,6 +98,36 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initdata = { { "dss_hdmi", "omapdss_hdmi", -1 }, }; +static void omap4_hdmi_mux_pads(enum omap_hdmi_flags flags) +{ + u32 reg; + u16 control_i2c_1; + + /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */ + omap_mux_init_signal("hdmi_hpd", + OMAP_PIN_INPUT_PULLUP); + omap_mux_init_signal("hdmi_cec", + OMAP_PIN_INPUT_PULLUP); + /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */ + omap_mux_init_signal("hdmi_ddc_scl", + OMAP_PIN_INPUT_PULLUP); + omap_mux_init_signal("hdmi_ddc_sda", + OMAP_PIN_INPUT_PULLUP); + + /* + * CONTROL_I2C_1: HDMI_DDC_SDA_PULLUPRESX (bit 28) and + * HDMI_DDC_SCL_PULLUPRESX (bit 24) are set to disable + * internal pull up resistor. + */ + if (flags & OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP) { + control_i2c_1 = OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_I2C_1; + reg = omap4_ctrl_pad_readl(control_i2c_1); + reg |= (OMAP4_HDMI_DDC_SDA_PULLUPRESX_MASK | + OMAP4_HDMI_DDC_SCL_PULLUPRESX_MASK); + omap4_ctrl_pad_writel(reg, control_i2c_1); + } +} + static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) { u32 enable_mask, enable_shift; @@ -130,6 +161,14 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) return 0; } +int omap_hdmi_init(enum omap_hdmi_flags flags) +{ + if (cpu_is_omap44xx()) + omap4_hdmi_mux_pads(flags); + + return 0; +} + static int omap_dsi_enable_pads(int dsi_id, unsigned lane_mask) { if (cpu_is_omap44xx()) diff --git a/trunk/arch/arm/mach-omap2/mcbsp.c b/trunk/arch/arm/mach-omap2/mcbsp.c index 28fcb27005d2..fb4bcf81a183 100644 --- a/trunk/arch/arm/mach-omap2/mcbsp.c +++ b/trunk/arch/arm/mach-omap2/mcbsp.c @@ -156,6 +156,9 @@ static int omap_init_mcbsp(struct omap_hwmod *oh, void *unused) else /* The FIFO has 128 locations */ pdata->buffer_size = 0x80; + } else if (oh->class->rev == MCBSP_CONFIG_TYPE4) { + /* The FIFO has 128 locations for all instances */ + pdata->buffer_size = 0x80; } if (oh->class->rev >= MCBSP_CONFIG_TYPE3) diff --git a/trunk/arch/arm/mach-omap2/omap-secure.c b/trunk/arch/arm/mach-omap2/omap-secure.c index 69f3c72d959b..d8f8ef40290f 100644 --- a/trunk/arch/arm/mach-omap2/omap-secure.c +++ b/trunk/arch/arm/mach-omap2/omap-secure.c @@ -16,6 +16,7 @@ #include #include +#include #include @@ -57,20 +58,10 @@ u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, u32 arg1, u32 arg2, /* Allocate the memory to save secure ram */ int __init omap_secure_ram_reserve_memblock(void) { - phys_addr_t paddr; u32 size = OMAP_SECURE_RAM_STORAGE; size = ALIGN(size, SZ_1M); - paddr = memblock_alloc(size, SZ_1M); - if (!paddr) { - pr_err("%s: failed to reserve %x bytes\n", - __func__, size); - return -ENOMEM; - } - memblock_free(paddr, size); - memblock_remove(paddr, size); - - omap_secure_memblock_base = paddr; + omap_secure_memblock_base = arm_memblock_steal(size, SZ_1M); return 0; } diff --git a/trunk/arch/arm/mach-omap2/omap4-common.c b/trunk/arch/arm/mach-omap2/omap4-common.c index bc16c818c6b7..40a8fbc07e4b 100644 --- a/trunk/arch/arm/mach-omap2/omap4-common.c +++ b/trunk/arch/arm/mach-omap2/omap4-common.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -61,13 +62,8 @@ static int __init omap_barriers_init(void) return -ENODEV; size = ALIGN(PAGE_SIZE, SZ_1M); - paddr = memblock_alloc(size, SZ_1M); - if (!paddr) { - pr_err("%s: failed to reserve 4 Kbytes\n", __func__); - return -ENOMEM; - } - memblock_free(paddr, size); - memblock_remove(paddr, size); + paddr = arm_memblock_steal(size, SZ_1M); + dram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA; dram_io_desc[0].pfn = __phys_to_pfn(paddr); dram_io_desc[0].length = size; diff --git a/trunk/arch/arm/mach-pxa/corgi.c b/trunk/arch/arm/mach-pxa/corgi.c index 66600f05e436..11f1e735966e 100644 --- a/trunk/arch/arm/mach-pxa/corgi.c +++ b/trunk/arch/arm/mach-pxa/corgi.c @@ -435,6 +435,14 @@ static struct platform_device corgiled_device = { }, }; +/* + * Corgi Audio + */ +static struct platform_device corgi_audio_device = { + .name = "corgi-audio", + .id = -1, +}; + /* * MMC/SD Device * @@ -641,6 +649,7 @@ static struct platform_device *devices[] __initdata = { &corgifb_device, &corgikbd_device, &corgiled_device, + &corgi_audio_device, &sharpsl_nand_device, &sharpsl_rom_device, }; diff --git a/trunk/arch/arm/mach-pxa/eseries.c b/trunk/arch/arm/mach-pxa/eseries.c index f79a610c62fc..4cb2391a782e 100644 --- a/trunk/arch/arm/mach-pxa/eseries.c +++ b/trunk/arch/arm/mach-pxa/eseries.c @@ -528,12 +528,18 @@ static struct platform_device e740_t7l66xb_device = { .resource = eseries_tmio_resources, }; +static struct platform_device e740_audio_device = { + .name = "e740-audio", + .id = -1, +}; + /* ----------------------------------------------------------------------- */ static struct platform_device *e740_devices[] __initdata = { &e740_fb_device, &e740_t7l66xb_device, &e7xx_gpio_vbus, + &e740_audio_device, }; static void __init e740_init(void) @@ -722,12 +728,18 @@ static struct platform_device e750_tc6393xb_device = { .resource = eseries_tmio_resources, }; +static struct platform_device e750_audio_device = { + .name = "e750-audio", + .id = -1, +}; + /* ------------------------------------------------------------- */ static struct platform_device *e750_devices[] __initdata = { &e750_fb_device, &e750_tc6393xb_device, &e7xx_gpio_vbus, + &e750_audio_device, }; static void __init e750_init(void) @@ -929,12 +941,18 @@ static struct platform_device e800_tc6393xb_device = { .resource = eseries_tmio_resources, }; +static struct platform_device e800_audio_device = { + .name = "e800-audio", + .id = -1, +}; + /* ----------------------------------------------------------------------- */ static struct platform_device *e800_devices[] __initdata = { &e800_fb_device, &e800_tc6393xb_device, &e800_gpio_vbus, + &e800_audio_device, }; static void __init e800_init(void) diff --git a/trunk/arch/arm/mach-pxa/poodle.c b/trunk/arch/arm/mach-pxa/poodle.c index 69036e42ca31..744baee12c0c 100644 --- a/trunk/arch/arm/mach-pxa/poodle.c +++ b/trunk/arch/arm/mach-pxa/poodle.c @@ -158,6 +158,11 @@ static struct scoop_pcmcia_config poodle_pcmcia_config = { EXPORT_SYMBOL(poodle_scoop_device); +static struct platform_device poodle_audio_device = { + .name = "poodle-audio", + .id = -1, +}; + /* LoCoMo device */ static struct resource locomo_resources[] = { [0] = { @@ -407,6 +412,7 @@ static struct platform_device sharpsl_rom_device = { static struct platform_device *devices[] __initdata = { &poodle_locomo_device, &poodle_scoop_device, + &poodle_audio_device, &sharpsl_nand_device, &sharpsl_rom_device, }; diff --git a/trunk/arch/arm/mach-pxa/stargate2.c b/trunk/arch/arm/mach-pxa/stargate2.c index d8a2467de92e..b0656e158d90 100644 --- a/trunk/arch/arm/mach-pxa/stargate2.c +++ b/trunk/arch/arm/mach-pxa/stargate2.c @@ -593,10 +593,16 @@ static struct pxa2xx_udc_mach_info imote2_udc_info __initdata = { .udc_command = sg2_udc_command, }; +static struct platform_device imote2_audio_device = { + .name = "imote2-audio", + .id = -1, +}; + static struct platform_device *imote2_devices[] = { &stargate2_flash_device, &imote2_leds, &sht15, + &imote2_audio_device, }; static void __init imote2_init(void) diff --git a/trunk/arch/arm/mach-pxa/tosa.c b/trunk/arch/arm/mach-pxa/tosa.c index 7ce5c436cc4e..4d4eb60bad1e 100644 --- a/trunk/arch/arm/mach-pxa/tosa.c +++ b/trunk/arch/arm/mach-pxa/tosa.c @@ -889,6 +889,11 @@ static struct platform_device wm9712_device = { .id = -1, }; +static struct platform_device tosa_audio_device = { + .name = "tosa-audio", + .id = -1, +}; + static struct platform_device *devices[] __initdata = { &tosascoop_device, &tosascoop_jc_device, @@ -901,6 +906,7 @@ static struct platform_device *devices[] __initdata = { &sharpsl_rom_device, &wm9712_device, &tosa_gpio_vbus, + &tosa_audio_device, }; static void tosa_poweroff(void) diff --git a/trunk/arch/arm/mach-realview/realview_eb.c b/trunk/arch/arm/mach-realview/realview_eb.c index 0069561464f9..e62962117763 100644 --- a/trunk/arch/arm/mach-realview/realview_eb.c +++ b/trunk/arch/arm/mach-realview/realview_eb.c @@ -117,17 +117,14 @@ static void __init realview_eb_map_io(void) static struct pl061_platform_data gpio0_plat_data = { .gpio_base = 0, - .irq_base = -1, }; static struct pl061_platform_data gpio1_plat_data = { .gpio_base = 8, - .irq_base = -1, }; static struct pl061_platform_data gpio2_plat_data = { .gpio_base = 16, - .irq_base = -1, }; static struct pl022_ssp_controller ssp0_plat_data = { diff --git a/trunk/arch/arm/mach-realview/realview_pb1176.c b/trunk/arch/arm/mach-realview/realview_pb1176.c index 8fe395568a47..e4abe94fb11a 100644 --- a/trunk/arch/arm/mach-realview/realview_pb1176.c +++ b/trunk/arch/arm/mach-realview/realview_pb1176.c @@ -113,17 +113,14 @@ static void __init realview_pb1176_map_io(void) static struct pl061_platform_data gpio0_plat_data = { .gpio_base = 0, - .irq_base = -1, }; static struct pl061_platform_data gpio1_plat_data = { .gpio_base = 8, - .irq_base = -1, }; static struct pl061_platform_data gpio2_plat_data = { .gpio_base = 16, - .irq_base = -1, }; static struct pl022_ssp_controller ssp0_plat_data = { diff --git a/trunk/arch/arm/mach-realview/realview_pb11mp.c b/trunk/arch/arm/mach-realview/realview_pb11mp.c index 34a26011bb89..127a3fd42ab1 100644 --- a/trunk/arch/arm/mach-realview/realview_pb11mp.c +++ b/trunk/arch/arm/mach-realview/realview_pb11mp.c @@ -112,17 +112,14 @@ static void __init realview_pb11mp_map_io(void) static struct pl061_platform_data gpio0_plat_data = { .gpio_base = 0, - .irq_base = -1, }; static struct pl061_platform_data gpio1_plat_data = { .gpio_base = 8, - .irq_base = -1, }; static struct pl061_platform_data gpio2_plat_data = { .gpio_base = 16, - .irq_base = -1, }; static struct pl022_ssp_controller ssp0_plat_data = { diff --git a/trunk/arch/arm/mach-realview/realview_pba8.c b/trunk/arch/arm/mach-realview/realview_pba8.c index d26a6def1d65..25b2e59296f8 100644 --- a/trunk/arch/arm/mach-realview/realview_pba8.c +++ b/trunk/arch/arm/mach-realview/realview_pba8.c @@ -102,17 +102,14 @@ static void __init realview_pba8_map_io(void) static struct pl061_platform_data gpio0_plat_data = { .gpio_base = 0, - .irq_base = -1, }; static struct pl061_platform_data gpio1_plat_data = { .gpio_base = 8, - .irq_base = -1, }; static struct pl061_platform_data gpio2_plat_data = { .gpio_base = 16, - .irq_base = -1, }; static struct pl022_ssp_controller ssp0_plat_data = { diff --git a/trunk/arch/arm/mach-realview/realview_pbx.c b/trunk/arch/arm/mach-realview/realview_pbx.c index a250fb4124bf..ac715645b860 100644 --- a/trunk/arch/arm/mach-realview/realview_pbx.c +++ b/trunk/arch/arm/mach-realview/realview_pbx.c @@ -124,17 +124,14 @@ static void __init realview_pbx_map_io(void) static struct pl061_platform_data gpio0_plat_data = { .gpio_base = 0, - .irq_base = -1, }; static struct pl061_platform_data gpio1_plat_data = { .gpio_base = 8, - .irq_base = -1, }; static struct pl061_platform_data gpio2_plat_data = { .gpio_base = 16, - .irq_base = -1, }; static struct pl022_ssp_controller ssp0_plat_data = { diff --git a/trunk/arch/arm/mach-s3c64xx/mach-crag6410.c b/trunk/arch/arm/mach-s3c64xx/mach-crag6410.c index 680fd758ff2d..1cc91d794c97 100644 --- a/trunk/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/trunk/arch/arm/mach-s3c64xx/mach-crag6410.c @@ -286,8 +286,8 @@ static struct platform_device lowland_device = { .id = -1, }; -static struct platform_device speyside_wm8962_device = { - .name = "speyside-wm8962", +static struct platform_device tobermory_device = { + .name = "tobermory", .id = -1, }; @@ -347,7 +347,7 @@ static struct platform_device *crag6410_devices[] __initdata = { &crag6410_lcd_powerdev, &crag6410_backlight_device, &speyside_device, - &speyside_wm8962_device, + &tobermory_device, &littlemill_device, &lowland_device, &wallvdd_device, diff --git a/trunk/arch/arm/mach-sa1100/assabet.c b/trunk/arch/arm/mach-sa1100/assabet.c index 6b93e200bcac..ebafe8aa8956 100644 --- a/trunk/arch/arm/mach-sa1100/assabet.c +++ b/trunk/arch/arm/mach-sa1100/assabet.c @@ -202,6 +202,7 @@ static struct irda_platform_data assabet_irda_data = { static struct mcp_plat_data assabet_mcp_data = { .mccr0 = MCCR0_ADM, .sclk_rate = 11981000, + .codec = "ucb1x00", }; static void __init assabet_init(void) @@ -252,6 +253,17 @@ static void __init assabet_init(void) sa11x0_register_mtd(&assabet_flash_data, assabet_flash_resources, ARRAY_SIZE(assabet_flash_resources)); sa11x0_register_irda(&assabet_irda_data); + + /* + * Setup the PPC unit correctly. + */ + PPDR &= ~PPC_RXD4; + PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; + PSDR |= PPC_RXD4; + PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + + ASSABET_BCR_set(ASSABET_BCR_CODEC_RST); sa11x0_register_mcp(&assabet_mcp_data); } @@ -268,7 +280,7 @@ static void __init map_sa1100_gpio_regs( void ) int prot = PMD_TYPE_SECT | PMD_SECT_AP_WRITE | PMD_DOMAIN(DOMAIN_IO); pmd_t *pmd; - pmd = pmd_offset(pgd_offset_k(virt), virt); + pmd = pmd_offset(pud_offset(pgd_offset_k(virt), virt), virt); *pmd = __pmd(phys | prot); flush_pmd_entry(pmd); } diff --git a/trunk/arch/arm/mach-sa1100/cerf.c b/trunk/arch/arm/mach-sa1100/cerf.c index 11bb6d0b9be3..d12d0f48b1dc 100644 --- a/trunk/arch/arm/mach-sa1100/cerf.c +++ b/trunk/arch/arm/mach-sa1100/cerf.c @@ -124,12 +124,23 @@ static void __init cerf_map_io(void) static struct mcp_plat_data cerf_mcp_data = { .mccr0 = MCCR0_ADM, .sclk_rate = 11981000, + .codec = "ucb1x00", }; static void __init cerf_init(void) { platform_add_devices(cerf_devices, ARRAY_SIZE(cerf_devices)); sa11x0_register_mtd(&cerf_flash_data, &cerf_flash_resource, 1); + + /* + * Setup the PPC unit correctly. + */ + PPDR &= ~PPC_RXD4; + PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; + PSDR |= PPC_RXD4; + PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + sa11x0_register_mcp(&cerf_mcp_data); } diff --git a/trunk/arch/arm/mach-sa1100/collie.c b/trunk/arch/arm/mach-sa1100/collie.c index b9060e236def..c483912d08af 100644 --- a/trunk/arch/arm/mach-sa1100/collie.c +++ b/trunk/arch/arm/mach-sa1100/collie.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -85,10 +86,15 @@ static struct scoop_pcmcia_config collie_pcmcia_config = { .num_devs = 1, }; +static struct ucb1x00_plat_data collie_ucb1x00_data = { + .gpio_base = COLLIE_TC35143_GPIO_BASE, +}; + static struct mcp_plat_data collie_mcp_data = { .mccr0 = MCCR0_ADM | MCCR0_ExtClk, .sclk_rate = 9216000, - .gpio_base = COLLIE_TC35143_GPIO_BASE, + .codec = "ucb1x00", + .codec_pdata = &collie_ucb1x00_data, }; /* @@ -351,6 +357,16 @@ static void __init collie_init(void) sa11x0_register_mtd(&collie_flash_data, collie_flash_resources, ARRAY_SIZE(collie_flash_resources)); + + /* + * Setup the PPC unit correctly. + */ + PPDR &= ~PPC_RXD4; + PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; + PSDR |= PPC_RXD4; + PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + sa11x0_register_mcp(&collie_mcp_data); sharpsl_save_param(); diff --git a/trunk/arch/arm/mach-sa1100/generic.c b/trunk/arch/arm/mach-sa1100/generic.c index 480d2ea46b00..e3a28ca2a7b7 100644 --- a/trunk/arch/arm/mach-sa1100/generic.c +++ b/trunk/arch/arm/mach-sa1100/generic.c @@ -217,10 +217,15 @@ static struct platform_device sa11x0uart3_device = { static struct resource sa11x0mcp_resources[] = { [0] = { .start = __PREG(Ser4MCCR0), - .end = __PREG(Ser4MCCR0) + 0xffff, + .end = __PREG(Ser4MCCR0) + 0x1C - 1, .flags = IORESOURCE_MEM, }, [1] = { + .start = __PREG(Ser4MCCR1), + .end = __PREG(Ser4MCCR1) + 0x4 - 1, + .flags = IORESOURCE_MEM, + }, + [2] = { .start = IRQ_Ser4MCP, .end = IRQ_Ser4MCP, .flags = IORESOURCE_IRQ, diff --git a/trunk/arch/arm/mach-sa1100/include/mach/gpio.h b/trunk/arch/arm/mach-sa1100/include/mach/gpio.h index 703631887c94..a38fc4f54241 100644 --- a/trunk/arch/arm/mach-sa1100/include/mach/gpio.h +++ b/trunk/arch/arm/mach-sa1100/include/mach/gpio.h @@ -51,7 +51,4 @@ static inline void gpio_set_value(unsigned gpio, int value) #define gpio_cansleep __gpio_cansleep -#define gpio_to_irq(gpio) ((gpio < 11) ? (IRQ_GPIO0 + gpio) : \ - (IRQ_GPIO11 - 11 + gpio)) - #endif diff --git a/trunk/arch/arm/mach-sa1100/include/mach/mcp.h b/trunk/arch/arm/mach-sa1100/include/mach/mcp.h index ed1a331508a7..586cec898b35 100644 --- a/trunk/arch/arm/mach-sa1100/include/mach/mcp.h +++ b/trunk/arch/arm/mach-sa1100/include/mach/mcp.h @@ -17,6 +17,8 @@ struct mcp_plat_data { u32 mccr1; unsigned int sclk_rate; int gpio_base; + const char *codec; + void *codec_pdata; }; #endif diff --git a/trunk/arch/arm/mach-sa1100/lart.c b/trunk/arch/arm/mach-sa1100/lart.c index af4e2761f3db..d117ceab6215 100644 --- a/trunk/arch/arm/mach-sa1100/lart.c +++ b/trunk/arch/arm/mach-sa1100/lart.c @@ -24,10 +24,20 @@ static struct mcp_plat_data lart_mcp_data = { .mccr0 = MCCR0_ADM, .sclk_rate = 11981000, + .codec = "ucb1x00", }; static void __init lart_init(void) { + /* + * Setup the PPC unit correctly. + */ + PPDR &= ~PPC_RXD4; + PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; + PSDR |= PPC_RXD4; + PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + sa11x0_register_mcp(&lart_mcp_data); } diff --git a/trunk/arch/arm/mach-sa1100/shannon.c b/trunk/arch/arm/mach-sa1100/shannon.c index 318b2b766a0b..748d34435b3f 100644 --- a/trunk/arch/arm/mach-sa1100/shannon.c +++ b/trunk/arch/arm/mach-sa1100/shannon.c @@ -55,11 +55,22 @@ static struct resource shannon_flash_resource = { static struct mcp_plat_data shannon_mcp_data = { .mccr0 = MCCR0_ADM, .sclk_rate = 11981000, + .codec = "ucb1x00", }; static void __init shannon_init(void) { sa11x0_register_mtd(&shannon_flash_data, &shannon_flash_resource, 1); + + /* + * Setup the PPC unit correctly. + */ + PPDR &= ~PPC_RXD4; + PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; + PSDR |= PPC_RXD4; + PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + sa11x0_register_mcp(&shannon_mcp_data); } diff --git a/trunk/arch/arm/mach-sa1100/simpad.c b/trunk/arch/arm/mach-sa1100/simpad.c index e17c04d6e324..458ececefa58 100644 --- a/trunk/arch/arm/mach-sa1100/simpad.c +++ b/trunk/arch/arm/mach-sa1100/simpad.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -187,10 +188,15 @@ static struct resource simpad_flash_resources [] = { } }; +static struct ucb1x00_plat_data simpad_ucb1x00_data = { + .gpio_base = SIMPAD_UCB1X00_GPIO_BASE, +}; + static struct mcp_plat_data simpad_mcp_data = { .mccr0 = MCCR0_ADM, .sclk_rate = 11981000, - .gpio_base = SIMPAD_UCB1X00_GPIO_BASE, + .codec = "ucb1300", + .codec_pdata = &simpad_ucb1x00_data, }; @@ -378,6 +384,16 @@ static int __init simpad_init(void) sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources, ARRAY_SIZE(simpad_flash_resources)); + + /* + * Setup the PPC unit correctly. + */ + PPDR &= ~PPC_RXD4; + PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; + PSDR |= PPC_RXD4; + PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); + sa11x0_register_mcp(&simpad_mcp_data); ret = platform_add_devices(devices, ARRAY_SIZE(devices)); diff --git a/trunk/arch/arm/mach-shmobile/Kconfig b/trunk/arch/arm/mach-shmobile/Kconfig index 0828fab2b65c..060e5644c49c 100644 --- a/trunk/arch/arm/mach-shmobile/Kconfig +++ b/trunk/arch/arm/mach-shmobile/Kconfig @@ -28,6 +28,19 @@ config ARCH_SH73A0 select ARM_GIC select I2C +config ARCH_R8A7740 + bool "R-Mobile A1 (R8A77400)" + select CPU_V7 + select SH_CLK_CPG + select ARCH_WANT_OPTIONAL_GPIOLIB + +config ARCH_R8A7779 + bool "R-Car H1 (R8A77790)" + select CPU_V7 + select SH_CLK_CPG + select ARM_GIC + select ARCH_WANT_OPTIONAL_GPIOLIB + comment "SH-Mobile Board Type" config MACH_G3EVM @@ -75,6 +88,16 @@ config MACH_KOTA2 select ARCH_REQUIRE_GPIOLIB depends on ARCH_SH73A0 +config MACH_BONITO + bool "bonito board" + select ARCH_REQUIRE_GPIOLIB + depends on ARCH_R8A7740 + +config MACH_MARZEN + bool "MARZEN board" + depends on ARCH_R8A7779 + select ARCH_REQUIRE_GPIOLIB + comment "SH-Mobile System Configuration" menu "Memory configuration" @@ -83,7 +106,7 @@ config MEMORY_START hex "Physical memory start address" default "0x50000000" if MACH_G3EVM default "0x40000000" if MACH_G4EVM || MACH_AP4EVB || MACH_AG5EVM || \ - MACH_MACKEREL + MACH_MACKEREL || MACH_BONITO default "0x41000000" if MACH_KOTA2 default "0x00000000" ---help--- @@ -95,7 +118,7 @@ config MEMORY_SIZE hex "Physical memory size" default "0x08000000" if MACH_G3EVM default "0x08000000" if MACH_G4EVM - default "0x20000000" if MACH_AG5EVM + default "0x20000000" if MACH_AG5EVM || MACH_BONITO default "0x1e000000" if MACH_KOTA2 default "0x10000000" if MACH_AP4EVB || MACH_MACKEREL default "0x04000000" diff --git a/trunk/arch/arm/mach-shmobile/Makefile b/trunk/arch/arm/mach-shmobile/Makefile index 5ca1f9d66995..7ad6954c46cd 100644 --- a/trunk/arch/arm/mach-shmobile/Makefile +++ b/trunk/arch/arm/mach-shmobile/Makefile @@ -10,12 +10,15 @@ obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o obj-$(CONFIG_ARCH_SH7377) += setup-sh7377.o clock-sh7377.o intc-sh7377.o obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o clock-sh7372.o intc-sh7372.o obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o +obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o clock-r8a7740.o intc-r8a7740.o +obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o clock-r8a7779.o intc-r8a7779.o # SMP objects smp-y := platsmp.o headsmp.o smp-$(CONFIG_HOTPLUG_CPU) += hotplug.o smp-$(CONFIG_LOCAL_TIMERS) += localtimer.o smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o +smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o # Pinmux setup pfc-y := @@ -23,16 +26,20 @@ pfc-$(CONFIG_ARCH_SH7367) += pfc-sh7367.o pfc-$(CONFIG_ARCH_SH7377) += pfc-sh7377.o pfc-$(CONFIG_ARCH_SH7372) += pfc-sh7372.o pfc-$(CONFIG_ARCH_SH73A0) += pfc-sh73a0.o +pfc-$(CONFIG_ARCH_R8A7740) += pfc-r8a7740.o +pfc-$(CONFIG_ARCH_R8A7779) += pfc-r8a7779.o # IRQ objects obj-$(CONFIG_ARCH_SH7367) += entry-intc.o obj-$(CONFIG_ARCH_SH7377) += entry-intc.o obj-$(CONFIG_ARCH_SH7372) += entry-intc.o +obj-$(CONFIG_ARCH_R8A7740) += entry-intc.o # PM objects obj-$(CONFIG_SUSPEND) += suspend.o obj-$(CONFIG_CPU_IDLE) += cpuidle.o obj-$(CONFIG_ARCH_SH7372) += pm-sh7372.o sleep-sh7372.o +obj-$(CONFIG_ARCH_R8A7779) += pm-r8a7779.o # Board objects obj-$(CONFIG_MACH_G3EVM) += board-g3evm.o @@ -41,6 +48,8 @@ obj-$(CONFIG_MACH_AP4EVB) += board-ap4evb.o obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o obj-$(CONFIG_MACH_KOTA2) += board-kota2.o +obj-$(CONFIG_MACH_BONITO) += board-bonito.o +obj-$(CONFIG_MACH_MARZEN) += board-marzen.o # Framework support obj-$(CONFIG_SMP) += $(smp-y) diff --git a/trunk/arch/arm/mach-shmobile/board-ag5evm.c b/trunk/arch/arm/mach-shmobile/board-ag5evm.c index a4e6ca04e319..eff8a96c75ee 100644 --- a/trunk/arch/arm/mach-shmobile/board-ag5evm.c +++ b/trunk/arch/arm/mach-shmobile/board-ag5evm.c @@ -271,7 +271,7 @@ static struct sh_mobile_lcdc_info lcdc0_info = { .flags = LCDC_FLAGS_DWPOL, .lcd_size_cfg.width = 44, .lcd_size_cfg.height = 79, - .bpp = 16, + .fourcc = V4L2_PIX_FMT_RGB565, .lcd_cfg = lcdc0_modes, .num_cfg = ARRAY_SIZE(lcdc0_modes), .board_cfg = { @@ -321,12 +321,46 @@ static struct resource mipidsi0_resources[] = { }, }; +#define DSI0PHYCR 0xe615006c +static int sh_mipi_set_dot_clock(struct platform_device *pdev, + void __iomem *base, + int enable) +{ + struct clk *pck; + int ret; + + pck = clk_get(&pdev->dev, "dsip_clk"); + if (IS_ERR(pck)) { + ret = PTR_ERR(pck); + goto sh_mipi_set_dot_clock_pck_err; + } + + if (enable) { + clk_set_rate(pck, clk_round_rate(pck, 24000000)); + __raw_writel(0x2a809010, DSI0PHYCR); + clk_enable(pck); + } else { + clk_disable(pck); + } + + ret = 0; + + clk_put(pck); + +sh_mipi_set_dot_clock_pck_err: + return ret; +} + static struct sh_mipi_dsi_info mipidsi0_info = { .data_format = MIPI_RGB888, .lcd_chan = &lcdc0_info.ch[0], + .lane = 2, .vsynw_offset = 20, .clksrc = 1, - .flags = SH_MIPI_DSI_HSABM, + .flags = SH_MIPI_DSI_HSABM | + SH_MIPI_DSI_SYNC_PULSES_MODE | + SH_MIPI_DSI_HSbyteCLK, + .set_dot_clock = sh_mipi_set_dot_clock, }; static struct platform_device mipidsi0_device = { @@ -472,8 +506,6 @@ static void __init ag5evm_map_io(void) shmobile_setup_console(); } -#define DSI0PHYCR 0xe615006c - static void __init ag5evm_init(void) { sh73a0_pinmux_init(); @@ -554,9 +586,6 @@ static void __init ag5evm_init(void) gpio_direction_output(GPIO_PORT235, 0); lcd_backlight_reset(); - /* MIPI-DSI clock setup */ - __raw_writel(0x2a809010, DSI0PHYCR); - /* enable SDHI0 on CN15 [SD I/F] */ gpio_request(GPIO_FN_SDHICD0, NULL); gpio_request(GPIO_FN_SDHIWP0, NULL); diff --git a/trunk/arch/arm/mach-shmobile/board-ap4evb.c b/trunk/arch/arm/mach-shmobile/board-ap4evb.c index 6a6f9f7568c2..aab0a349f759 100644 --- a/trunk/arch/arm/mach-shmobile/board-ap4evb.c +++ b/trunk/arch/arm/mach-shmobile/board-ap4evb.c @@ -491,7 +491,7 @@ static struct sh_mobile_lcdc_info lcdc_info = { .meram_dev = &meram_info, .ch[0] = { .chan = LCDC_CHAN_MAINLCD, - .bpp = 16, + .fourcc = V4L2_PIX_FMT_RGB565, .lcd_cfg = ap4evb_lcdc_modes, .num_cfg = ARRAY_SIZE(ap4evb_lcdc_modes), .meram_cfg = &lcd_meram_cfg, @@ -564,6 +564,30 @@ static struct platform_device keysc_device = { }; /* MIPI-DSI */ +#define PHYCTRL 0x0070 +static int sh_mipi_set_dot_clock(struct platform_device *pdev, + void __iomem *base, + int enable) +{ + struct clk *pck = clk_get(&pdev->dev, "dsip_clk"); + void __iomem *phy = base + PHYCTRL; + + if (IS_ERR(pck)) + return PTR_ERR(pck); + + if (enable) { + clk_set_rate(pck, clk_round_rate(pck, 24000000)); + iowrite32(ioread32(phy) | (0xb << 8), phy); + clk_enable(pck); + } else { + clk_disable(pck); + } + + clk_put(pck); + + return 0; +} + static struct resource mipidsi0_resources[] = { [0] = { .start = 0xffc60000, @@ -580,7 +604,11 @@ static struct resource mipidsi0_resources[] = { static struct sh_mipi_dsi_info mipidsi0_info = { .data_format = MIPI_RGB888, .lcd_chan = &lcdc_info.ch[0], + .lane = 2, .vsynw_offset = 17, + .flags = SH_MIPI_DSI_SYNC_PULSES_MODE | + SH_MIPI_DSI_HSbyteCLK, + .set_dot_clock = sh_mipi_set_dot_clock, }; static struct platform_device mipidsi0_device = { @@ -762,9 +790,22 @@ static struct platform_device fsi_device = { }, }; +static struct fsi_ak4642_info fsi2_ak4643_info = { + .name = "AK4643", + .card = "FSI2A-AK4643", + .cpu_dai = "fsia-dai", + .codec = "ak4642-codec.0-0013", + .platform = "sh_fsi2", + .id = FSI_PORT_A, +}; + static struct platform_device fsi_ak4643_device = { - .name = "sh_fsi2_a_ak4643", + .name = "fsi-ak4642-audio", + .dev = { + .platform_data = &fsi_info, + }, }; + static struct sh_mobile_meram_cfg hdmi_meram_cfg = { .icb[0] = { .marker_icb = 30, @@ -785,7 +826,7 @@ static struct sh_mobile_lcdc_info sh_mobile_lcdc1_info = { .meram_dev = &meram_info, .ch[0] = { .chan = LCDC_CHAN_MAINLCD, - .bpp = 16, + .fourcc = V4L2_PIX_FMT_RGB565, .interface_type = RGB24, .clock_divider = 1, .flags = LCDC_FLAGS_DWPOL, diff --git a/trunk/arch/arm/mach-shmobile/board-bonito.c b/trunk/arch/arm/mach-shmobile/board-bonito.c new file mode 100644 index 000000000000..4d2201622323 --- /dev/null +++ b/trunk/arch/arm/mach-shmobile/board-bonito.c @@ -0,0 +1,522 @@ +/* + * bonito board support + * + * Copyright (C) 2011 Renesas Solutions Corp. + * Copyright (C) 2011 Kuninori Morimoto + * + * 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; version 2 of the License. + * + * 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 + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include