From f084cd5f1f42168f4bbd5538d4838eaa4456d648 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Fri, 21 Jan 2011 15:30:01 -0800 Subject: [PATCH] --- yaml --- r: 234335 b: refs/heads/master c: dda99116969142cc41e945a1047a419b937536af h: refs/heads/master i: 234333: a74d0e907a971d377f88803899ed1f1f7d449585 234331: c64db4ec2fbbc081d03df96d9e32a51815e4ce23 234327: 423e26390fdc676327c4413b3be557fcd70ca78d 234319: 976fd4417d31bcd6df3e0307d7bc8a99ea06032b 234303: 04a31174d48859aad9b3a8fa748fc35c80831c48 v: v3 --- [refs] | 2 +- trunk/.gitignore | 1 - trunk/.mailmap | 1 - .../ABI/testing/sysfs-platform-at91 | 25 - .../Documentation/DocBook/device-drivers.tmpl | 4 +- trunk/Documentation/DocBook/drm.tmpl | 6 +- trunk/Documentation/DocBook/dvb/dvbapi.xml | 2 +- trunk/Documentation/DocBook/filesystems.tmpl | 5 - trunk/Documentation/DocBook/media.tmpl | 4 +- trunk/Documentation/DocBook/v4l/dev-rds.xml | 6 +- trunk/Documentation/DocBook/v4l/v4l2.xml | 3 +- .../feature-removal-schedule.txt | 24 +- trunk/Documentation/filesystems/ntfs.txt | 2 - trunk/Documentation/hwmon/jc42 | 21 +- trunk/Documentation/hwmon/k10temp | 8 +- trunk/Documentation/kernel-parameters.txt | 28 +- trunk/Documentation/lguest/lguest.c | 73 +- trunk/Documentation/lguest/lguest.txt | 5 - trunk/Documentation/networking/00-INDEX | 6 + trunk/Documentation/networking/Makefile | 2 - trunk/Documentation/networking/bonding.txt | 83 +- .../Documentation/networking/dns_resolver.txt | 9 +- trunk/Documentation/networking/ip-sysctl.txt | 2 +- .../booting-without-of.txt | 165 +- .../dts-bindings}/4xx/cpm.txt | 0 .../dts-bindings}/4xx/emac.txt | 0 .../dts-bindings}/4xx/ndfc.txt | 0 .../dts-bindings}/4xx/ppc440spe-adma.txt | 0 .../dts-bindings}/4xx/reboot.txt | 0 .../dts-bindings}/can/sja1000.txt | 0 .../fsl => powerpc/dts-bindings}/ecm.txt | 0 .../dts-bindings}/eeprom.txt | 0 .../dts-bindings/fsl}/83xx-512x-pci.txt | 0 .../dts-bindings/fsl}/8xxx_gpio.txt | 0 .../dts-bindings}/fsl/board.txt | 0 .../dts-bindings/fsl/can.txt} | 0 .../dts-bindings}/fsl/cpm_qe/cpm.txt | 0 .../dts-bindings}/fsl/cpm_qe/cpm/brg.txt | 0 .../dts-bindings}/fsl/cpm_qe/cpm/i2c.txt | 0 .../dts-bindings}/fsl/cpm_qe/cpm/pic.txt | 0 .../dts-bindings}/fsl/cpm_qe/cpm/usb.txt | 0 .../dts-bindings}/fsl/cpm_qe/gpio.txt | 0 .../dts-bindings}/fsl/cpm_qe/network.txt | 0 .../dts-bindings}/fsl/cpm_qe/qe.txt | 0 .../dts-bindings}/fsl/cpm_qe/qe/firmware.txt | 0 .../dts-bindings}/fsl/cpm_qe/qe/par_io.txt | 0 .../dts-bindings}/fsl/cpm_qe/qe/pincfg.txt | 0 .../dts-bindings}/fsl/cpm_qe/qe/ucc.txt | 0 .../dts-bindings}/fsl/cpm_qe/qe/usb.txt | 0 .../dts-bindings}/fsl/cpm_qe/serial.txt | 0 .../dts-bindings}/fsl/diu.txt | 0 .../dts-bindings}/fsl/dma.txt | 0 .../dts-bindings/fsl/esdhc.txt} | 0 .../dts-bindings}/fsl/gtm.txt | 0 .../dts-bindings}/fsl/guts.txt | 0 .../dts-bindings/fsl/i2c.txt} | 0 .../dts-bindings}/fsl/lbc.txt | 0 .../dts-bindings}/fsl/mcm.txt | 0 .../dts-bindings}/fsl/mcu-mpc8349emitx.txt | 0 .../dts-bindings}/fsl/mpc5121-psc.txt | 0 .../dts-bindings}/fsl/mpc5200.txt | 0 .../dts-bindings}/fsl/mpic.txt | 0 .../dts-bindings}/fsl/msi-pic.txt | 0 .../dts-bindings}/fsl/pmc.txt | 0 .../dts-bindings/fsl/sata.txt} | 0 .../dts-bindings}/fsl/sec.txt | 0 .../dts-bindings/fsl/spi.txt} | 0 .../dts-bindings}/fsl/ssi.txt | 0 .../dts-bindings/fsl/tsec.txt} | 0 .../dts-bindings/fsl/upm-nand.txt} | 0 .../dts-bindings/fsl/usb.txt} | 0 .../dts-bindings}/gpio/gpio.txt | 0 .../dts-bindings}/gpio/led.txt | 0 .../dts-bindings/gpio/mdio.txt} | 0 .../dts-bindings}/marvell.txt | 0 .../dts-bindings}/mmc-spi-slot.txt | 0 .../dts-bindings}/mtd-physmap.txt | 0 .../dts-bindings}/nintendo/gamecube.txt | 0 .../dts-bindings}/nintendo/wii.txt | 0 .../net => powerpc/dts-bindings}/phy.txt | 0 .../spi => powerpc/dts-bindings}/spi-bus.txt | 0 .../usb => powerpc/dts-bindings}/usb-ehci.txt | 0 .../dts-bindings}/xilinx.txt | 0 trunk/Documentation/scheduler/sched-stats.txt | 33 +- .../sound/alsa/HD-Audio-Models.txt | 1 - trunk/Documentation/sound/alsa/soc/codec.txt | 45 +- .../Documentation/sound/alsa/soc/machine.txt | 38 +- .../Documentation/sound/alsa/soc/platform.txt | 12 +- trunk/Documentation/spinlocks.txt | 24 +- .../video4linux/v4l2-controls.txt | 12 - trunk/Documentation/workqueue.txt | 4 +- trunk/MAINTAINERS | 174 +- trunk/Makefile | 2 +- trunk/arch/alpha/Kconfig | 20 +- trunk/arch/alpha/include/asm/futex.h | 29 +- trunk/arch/alpha/include/asm/rwsem.h | 36 + trunk/arch/alpha/kernel/irq.c | 13 +- trunk/arch/alpha/kernel/irq_alpha.c | 11 +- trunk/arch/alpha/kernel/irq_i8259.c | 18 +- trunk/arch/alpha/kernel/irq_impl.h | 8 +- trunk/arch/alpha/kernel/irq_pyxis.c | 20 +- trunk/arch/alpha/kernel/irq_srm.c | 16 +- trunk/arch/alpha/kernel/osf_sys.c | 36 +- trunk/arch/alpha/kernel/sys_alcor.c | 28 +- trunk/arch/alpha/kernel/sys_cabriolet.c | 16 +- trunk/arch/alpha/kernel/sys_dp264.c | 52 +- trunk/arch/alpha/kernel/sys_eb64p.c | 18 +- trunk/arch/alpha/kernel/sys_eiger.c | 14 +- trunk/arch/alpha/kernel/sys_jensen.c | 24 +- trunk/arch/alpha/kernel/sys_marvel.c | 42 +- trunk/arch/alpha/kernel/sys_mikasa.c | 16 +- trunk/arch/alpha/kernel/sys_noritake.c | 16 +- trunk/arch/alpha/kernel/sys_rawhide.c | 17 +- trunk/arch/alpha/kernel/sys_rx164.c | 16 +- trunk/arch/alpha/kernel/sys_sable.c | 20 +- trunk/arch/alpha/kernel/sys_takara.c | 14 +- trunk/arch/alpha/kernel/sys_titan.c | 22 +- trunk/arch/alpha/kernel/sys_wildfire.c | 32 +- trunk/arch/arm/Kconfig | 27 +- trunk/arch/arm/Makefile | 2 +- trunk/arch/arm/boot/compressed/.gitignore | 6 +- trunk/arch/arm/common/Kconfig | 2 - trunk/arch/arm/configs/ag5evm_defconfig | 2 +- trunk/arch/arm/configs/am200epdkit_defconfig | 2 +- .../arch/arm/configs/at572d940hfek_defconfig | 2 +- trunk/arch/arm/configs/badge4_defconfig | 2 +- trunk/arch/arm/configs/bcmring_defconfig | 2 +- trunk/arch/arm/configs/cm_x2xx_defconfig | 2 +- .../arch/arm/configs/colibri_pxa270_defconfig | 2 +- trunk/arch/arm/configs/collie_defconfig | 2 +- trunk/arch/arm/configs/corgi_defconfig | 2 +- trunk/arch/arm/configs/da8xx_omapl_defconfig | 2 +- trunk/arch/arm/configs/davinci_all_defconfig | 2 +- trunk/arch/arm/configs/dove_defconfig | 2 +- trunk/arch/arm/configs/ebsa110_defconfig | 2 +- trunk/arch/arm/configs/edb7211_defconfig | 2 +- trunk/arch/arm/configs/em_x270_defconfig | 2 +- trunk/arch/arm/configs/ep93xx_defconfig | 2 +- trunk/arch/arm/configs/eseries_pxa_defconfig | 2 +- trunk/arch/arm/configs/ezx_defconfig | 2 +- trunk/arch/arm/configs/footbridge_defconfig | 2 +- trunk/arch/arm/configs/fortunet_defconfig | 2 +- trunk/arch/arm/configs/h5000_defconfig | 2 +- trunk/arch/arm/configs/imote2_defconfig | 2 +- trunk/arch/arm/configs/ixp2000_defconfig | 2 +- trunk/arch/arm/configs/ixp23xx_defconfig | 2 +- trunk/arch/arm/configs/ixp4xx_defconfig | 2 +- trunk/arch/arm/configs/loki_defconfig | 2 +- trunk/arch/arm/configs/lpd7a400_defconfig | 2 +- trunk/arch/arm/configs/lpd7a404_defconfig | 2 +- trunk/arch/arm/configs/magician_defconfig | 2 +- trunk/arch/arm/configs/mv78xx0_defconfig | 2 +- trunk/arch/arm/configs/mx1_defconfig | 2 +- trunk/arch/arm/configs/mx21_defconfig | 2 +- trunk/arch/arm/configs/mx27_defconfig | 2 +- trunk/arch/arm/configs/mx3_defconfig | 2 +- trunk/arch/arm/configs/mx51_defconfig | 2 +- trunk/arch/arm/configs/nhk8815_defconfig | 2 +- trunk/arch/arm/configs/omap1_defconfig | 2 +- trunk/arch/arm/configs/omap2plus_defconfig | 2 +- trunk/arch/arm/configs/orion5x_defconfig | 2 +- trunk/arch/arm/configs/pcm027_defconfig | 2 +- trunk/arch/arm/configs/pcontrol_g20_defconfig | 2 +- trunk/arch/arm/configs/pleb_defconfig | 2 +- trunk/arch/arm/configs/pnx4008_defconfig | 2 +- trunk/arch/arm/configs/simpad_defconfig | 2 +- trunk/arch/arm/configs/spitz_defconfig | 2 +- trunk/arch/arm/configs/stmp378x_defconfig | 2 +- trunk/arch/arm/configs/stmp37xx_defconfig | 2 +- trunk/arch/arm/configs/tct_hammer_defconfig | 2 +- trunk/arch/arm/configs/trizeps4_defconfig | 2 +- trunk/arch/arm/configs/u300_defconfig | 2 +- trunk/arch/arm/configs/viper_defconfig | 2 +- trunk/arch/arm/configs/xcep_defconfig | 2 +- trunk/arch/arm/include/asm/futex.h | 29 +- .../arm/include/asm/hardware/cache-l2x0.h | 1 - trunk/arch/arm/include/asm/hardware/sp810.h | 9 - trunk/arch/arm/include/asm/io.h | 33 +- trunk/arch/arm/include/asm/mach/arch.h | 4 + trunk/arch/arm/include/asm/memory.h | 2 +- trunk/arch/arm/include/asm/pgalloc.h | 2 - trunk/arch/arm/include/asm/tlb.h | 105 +- trunk/arch/arm/include/asm/tlbflush.h | 7 +- trunk/arch/arm/kernel/head.S | 60 +- trunk/arch/arm/kernel/hw_breakpoint.c | 68 +- trunk/arch/arm/kernel/kprobes-decode.c | 2 +- trunk/arch/arm/kernel/module.c | 22 +- trunk/arch/arm/kernel/perf_event.c | 2 +- trunk/arch/arm/kernel/pmu.c | 22 +- trunk/arch/arm/kernel/ptrace.c | 6 +- trunk/arch/arm/kernel/setup.c | 4 +- trunk/arch/arm/kernel/signal.c | 4 +- trunk/arch/arm/kernel/smp_twd.c | 7 +- trunk/arch/arm/kernel/vmlinux.lds.S | 11 - trunk/arch/arm/mach-davinci/cpufreq.c | 2 +- trunk/arch/arm/mach-davinci/devices-da8xx.c | 7 - trunk/arch/arm/mach-davinci/gpio-tnetv107x.c | 18 +- .../arm/mach-davinci/include/mach/clkdev.h | 2 - trunk/arch/arm/mach-ep93xx/core.c | 2 +- trunk/arch/arm/mach-ep93xx/gpio.c | 7 - .../include/mach/debug-macro.S | 4 +- trunk/arch/arm/mach-imx/mach-mx25_3ds.c | 2 +- trunk/arch/arm/mach-ixp4xx/common.c | 4 +- .../arch/arm/mach-ixp4xx/include/mach/timex.h | 5 +- trunk/arch/arm/mach-ixp4xx/ixp4xx_qmgr.c | 9 +- trunk/arch/arm/mach-msm/board-qsd8x50.c | 4 +- trunk/arch/arm/mach-mxs/clock-mx23.c | 4 +- trunk/arch/arm/mach-mxs/clock-mx28.c | 7 +- trunk/arch/arm/mach-mxs/clock.c | 2 + trunk/arch/arm/mach-mxs/gpio.c | 2 - trunk/arch/arm/mach-mxs/include/mach/clock.h | 2 + trunk/arch/arm/mach-omap1/Kconfig | 2 - trunk/arch/arm/mach-omap1/Makefile | 3 +- .../arm/mach-omap1/include/mach/entry-macro.S | 13 + trunk/arch/arm/mach-omap1/irq.c | 2 +- trunk/arch/arm/mach-omap1/lcd_dma.c | 24 +- trunk/arch/arm/mach-omap1/time.c | 100 +- trunk/arch/arm/mach-omap1/timer32k.c | 13 +- trunk/arch/arm/mach-omap2/board-cm-t3517.c | 29 +- trunk/arch/arm/mach-omap2/board-devkit8000.c | 30 +- trunk/arch/arm/mach-omap2/board-omap4panda.c | 2 + trunk/arch/arm/mach-omap2/board-rm680.c | 3 + trunk/arch/arm/mach-omap2/clkt_dpll.c | 2 +- trunk/arch/arm/mach-omap2/clock44xx_data.c | 1 + trunk/arch/arm/mach-omap2/clockdomain.c | 30 +- .../arm/mach-omap2/clockdomains44xx_data.c | 2 + trunk/arch/arm/mach-omap2/dma.c | 2 +- .../arm/mach-omap2/include/mach/entry-macro.S | 14 + trunk/arch/arm/mach-omap2/io.c | 6 +- trunk/arch/arm/mach-omap2/mailbox.c | 12 +- trunk/arch/arm/mach-omap2/mux.c | 5 +- trunk/arch/arm/mach-omap2/pm-debug.c | 8 +- trunk/arch/arm/mach-omap2/pm24xx.c | 4 +- trunk/arch/arm/mach-omap2/pm34xx.c | 11 +- .../arm/mach-omap2/powerdomain2xxx_3xxx.c | 1 + trunk/arch/arm/mach-omap2/prcm_mpu44xx.h | 4 +- trunk/arch/arm/mach-omap2/serial.c | 4 +- trunk/arch/arm/mach-omap2/smartreflex.c | 48 +- trunk/arch/arm/mach-omap2/timer-gp.c | 23 +- trunk/arch/arm/mach-omap2/voltage.c | 1 - trunk/arch/arm/mach-pxa/colibri-evalboard.c | 2 +- trunk/arch/arm/mach-pxa/colibri-pxa300.c | 2 +- .../arch/arm/mach-pxa/include/mach/colibri.h | 2 +- trunk/arch/arm/mach-pxa/palm27x.c | 2 +- trunk/arch/arm/mach-pxa/pm.c | 4 +- trunk/arch/arm/mach-pxa/pxa25x.c | 1 - trunk/arch/arm/mach-pxa/tosa-bt.c | 2 + trunk/arch/arm/mach-pxa/tosa.c | 6 - trunk/arch/arm/mach-realview/Kconfig | 49 +- trunk/arch/arm/mach-realview/platsmp.c | 2 +- trunk/arch/arm/mach-s3c2440/Kconfig | 1 - .../arm/mach-s3c2440/include/mach/gta02.h | 26 +- trunk/arch/arm/mach-s3c64xx/clock.c | 6 - trunk/arch/arm/mach-s3c64xx/dma.c | 11 +- trunk/arch/arm/mach-s3c64xx/gpiolib.c | 4 +- trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c | 13 +- trunk/arch/arm/mach-s3c64xx/setup-keypad.c | 2 +- trunk/arch/arm/mach-s3c64xx/setup-sdhci.c | 2 +- .../arch/arm/mach-s5p6442/include/mach/map.h | 69 +- .../arch/arm/mach-s5p64x0/include/mach/gpio.h | 4 +- .../arch/arm/mach-s5p64x0/include/mach/map.h | 83 +- .../arch/arm/mach-s5pc100/include/mach/map.h | 193 +- .../arch/arm/mach-s5pv210/include/mach/map.h | 168 +- trunk/arch/arm/mach-s5pv210/mach-aquila.c | 15 +- trunk/arch/arm/mach-s5pv210/mach-goni.c | 15 +- trunk/arch/arm/mach-s5pv310/Kconfig | 1 - .../arch/arm/mach-s5pv310/include/mach/map.h | 151 +- .../arm/mach-s5pv310/include/mach/sysmmu.h | 5 +- trunk/arch/arm/mach-sa1100/collie.c | 3 - trunk/arch/arm/mach-shmobile/Kconfig | 2 - trunk/arch/arm/mach-shmobile/board-ag5evm.c | 181 +- trunk/arch/arm/mach-shmobile/board-ap4evb.c | 2 +- trunk/arch/arm/mach-shmobile/board-g3evm.c | 1 + trunk/arch/arm/mach-shmobile/board-mackerel.c | 7 +- trunk/arch/arm/mach-shmobile/clock-sh7372.c | 4 +- trunk/arch/arm/mach-shmobile/clock-sh73a0.c | 40 +- .../include/mach/head-ap4evb.txt | 10 +- .../include/mach/head-mackerel.txt | 10 +- trunk/arch/arm/mach-shmobile/intc-sh7372.c | 11 +- trunk/arch/arm/mach-shmobile/intc-sh73a0.c | 5 +- .../arm/mach-spear3xx/include/mach/spear320.h | 2 +- trunk/arch/arm/mach-tegra/gpio.c | 4 +- trunk/arch/arm/mach-tegra/include/mach/clk.h | 2 - .../arch/arm/mach-tegra/include/mach/clkdev.h | 2 - trunk/arch/arm/mach-tegra/include/mach/kbc.h | 62 - trunk/arch/arm/mach-tegra/irq.c | 18 +- trunk/arch/arm/mach-versatile/Kconfig | 10 +- trunk/arch/arm/mach-vexpress/platsmp.c | 2 +- trunk/arch/arm/mach-vexpress/v2m.c | 9 - trunk/arch/arm/mm/Kconfig | 6 +- trunk/arch/arm/mm/cache-l2x0.c | 6 - trunk/arch/arm/mm/init.c | 6 - trunk/arch/arm/mm/proc-v7.S | 6 - trunk/arch/arm/oprofile/common.c | 14 +- .../arm/plat-mxc/include/mach/uncompress.h | 2 - trunk/arch/arm/plat-omap/Kconfig | 8 +- trunk/arch/arm/plat-omap/counter_32k.c | 22 +- trunk/arch/arm/plat-omap/dma.c | 7 +- .../arch/arm/plat-omap/include/plat/common.h | 3 - trunk/arch/arm/plat-omap/mailbox.c | 11 +- trunk/arch/arm/plat-pxa/mfp.c | 8 +- trunk/arch/arm/plat-s5p/Kconfig | 24 +- trunk/arch/arm/plat-s5p/Makefile | 2 +- trunk/arch/arm/plat-s5p/dev-uart.c | 12 +- trunk/arch/arm/plat-s5p/include/plat/sysmmu.h | 23 + trunk/arch/arm/plat-s5p/sysmmu.c | 4 +- trunk/arch/arm/plat-samsung/dev-ts.c | 1 + trunk/arch/arm/plat-samsung/dev-uart.c | 2 - trunk/arch/arm/plat-samsung/include/plat/pm.h | 2 - .../arm/plat-spear/include/plat/uncompress.h | 4 +- .../arm/plat-spear/include/plat/vmalloc.h | 2 +- trunk/arch/arm/tools/mach-types | 105 +- trunk/arch/avr32/Kconfig | 4 +- trunk/arch/avr32/include/asm/pgalloc.h | 1 - trunk/arch/blackfin/Kconfig | 17 +- .../blackfin/configs/BF518F-EZBRD_defconfig | 2 +- .../blackfin/configs/BF526-EZBRD_defconfig | 2 +- .../configs/BF527-AD7160-EVAL_defconfig | 2 +- .../blackfin/configs/BF527-EZKIT-V2_defconfig | 2 +- .../blackfin/configs/BF527-EZKIT_defconfig | 2 +- .../blackfin/configs/BF527-TLL6527M_defconfig | 2 +- .../blackfin/configs/BF533-EZKIT_defconfig | 2 +- .../blackfin/configs/BF533-STAMP_defconfig | 2 +- .../blackfin/configs/BF537-STAMP_defconfig | 2 +- .../blackfin/configs/BF538-EZKIT_defconfig | 2 +- .../blackfin/configs/BF548-EZKIT_defconfig | 2 +- .../blackfin/configs/BF561-ACVILON_defconfig | 2 +- .../configs/BF561-EZKIT-SMP_defconfig | 2 +- .../blackfin/configs/BF561-EZKIT_defconfig | 2 +- .../blackfin/configs/BlackStamp_defconfig | 2 +- .../arch/blackfin/configs/CM-BF527_defconfig | 2 +- .../arch/blackfin/configs/CM-BF533_defconfig | 2 +- .../arch/blackfin/configs/CM-BF537E_defconfig | 2 +- .../arch/blackfin/configs/CM-BF537U_defconfig | 2 +- .../arch/blackfin/configs/CM-BF548_defconfig | 2 +- .../arch/blackfin/configs/CM-BF561_defconfig | 2 +- trunk/arch/blackfin/configs/DNP5370_defconfig | 2 +- trunk/arch/blackfin/configs/H8606_defconfig | 2 +- trunk/arch/blackfin/configs/IP0X_defconfig | 2 +- trunk/arch/blackfin/configs/PNAV-10_defconfig | 2 +- trunk/arch/blackfin/configs/SRV1_defconfig | 2 +- .../arch/blackfin/configs/TCM-BF518_defconfig | 2 +- .../arch/blackfin/configs/TCM-BF537_defconfig | 2 +- trunk/arch/blackfin/include/asm/bfin_serial.h | 2 - trunk/arch/blackfin/lib/outs.S | 16 +- trunk/arch/blackfin/mach-common/cache.S | 2 - trunk/arch/cris/Kconfig | 6 +- trunk/arch/cris/arch-v10/kernel/irq.c | 41 +- trunk/arch/cris/arch-v32/kernel/irq.c | 50 +- trunk/arch/cris/arch-v32/kernel/smp.c | 4 +- trunk/arch/cris/configs/artpec_3_defconfig | 2 +- .../cris/configs/etrax-100lx_v2_defconfig | 2 +- trunk/arch/cris/configs/etraxfs_defconfig | 2 +- trunk/arch/cris/kernel/irq.c | 6 +- trunk/arch/cris/kernel/vmlinux.lds.S | 5 + trunk/arch/frv/Kconfig | 9 +- trunk/arch/frv/defconfig | 2 +- trunk/arch/frv/include/asm/futex.h | 5 +- trunk/arch/frv/kernel/futex.c | 14 +- trunk/arch/h8300/Kconfig | 6 +- trunk/arch/h8300/defconfig | 2 +- trunk/arch/h8300/kernel/irq.c | 50 +- trunk/arch/ia64/Kconfig | 26 +- trunk/arch/ia64/include/asm/futex.h | 15 +- trunk/arch/ia64/include/asm/rwsem.h | 37 + trunk/arch/ia64/include/asm/xen/hypercall.h | 2 +- trunk/arch/ia64/xen/suspend.c | 9 +- trunk/arch/m32r/Kconfig | 11 +- .../arch/m32r/configs/m32700ut.smp_defconfig | 2 +- trunk/arch/m32r/configs/m32700ut.up_defconfig | 2 +- trunk/arch/m32r/configs/mappi.nommu_defconfig | 2 +- trunk/arch/m32r/configs/mappi.smp_defconfig | 2 +- trunk/arch/m32r/configs/mappi.up_defconfig | 2 +- trunk/arch/m32r/configs/mappi2.opsp_defconfig | 2 +- .../arch/m32r/configs/mappi2.vdec2_defconfig | 2 +- trunk/arch/m32r/configs/mappi3.smp_defconfig | 2 +- trunk/arch/m32r/configs/oaks32r_defconfig | 2 +- trunk/arch/m32r/configs/opsput_defconfig | 2 +- trunk/arch/m32r/configs/usrv_defconfig | 2 +- trunk/arch/m32r/kernel/irq.c | 12 +- trunk/arch/m32r/platforms/m32104ut/setup.c | 58 +- trunk/arch/m32r/platforms/m32700ut/setup.c | 214 ++- trunk/arch/m32r/platforms/mappi/setup.c | 78 +- trunk/arch/m32r/platforms/mappi2/setup.c | 89 +- trunk/arch/m32r/platforms/mappi3/setup.c | 92 +- trunk/arch/m32r/platforms/oaks32r/setup.c | 65 +- trunk/arch/m32r/platforms/opsput/setup.c | 220 ++- trunk/arch/m32r/platforms/usrv/setup.c | 115 +- trunk/arch/m68k/amiga/config.c | 16 +- trunk/arch/m68k/atari/ataints.c | 4 +- trunk/arch/m68k/atari/config.c | 2 +- trunk/arch/m68k/atari/debug.c | 14 +- trunk/arch/m68k/include/asm/atarihw.h | 2 +- trunk/arch/m68k/include/asm/string.h | 16 +- trunk/arch/m68k/lib/string.c | 11 + trunk/arch/m68knommu/Kconfig | 9 +- .../arch/m68knommu/configs/m5208evb_defconfig | 2 +- .../arch/m68knommu/configs/m5249evb_defconfig | 2 +- .../arch/m68knommu/configs/m5272c3_defconfig | 2 +- .../arch/m68knommu/configs/m5275evb_defconfig | 2 +- .../arch/m68knommu/configs/m5307c3_defconfig | 2 +- .../arch/m68knommu/configs/m5407c3_defconfig | 2 +- trunk/arch/m68knommu/defconfig | 2 +- trunk/arch/m68knommu/kernel/vmlinux.lds.S | 6 - trunk/arch/m68knommu/lib/Makefile | 2 +- trunk/arch/m68knommu/lib/memmove.c | 105 -- trunk/arch/m68knommu/platform/5249/intc2.c | 4 +- trunk/arch/m68knommu/platform/68328/entry.S | 1 + .../arch/m68knommu/platform/68360/commproc.c | 2 +- trunk/arch/m68knommu/platform/68360/config.c | 2 +- trunk/arch/m68knommu/platform/68360/entry.S | 1 + trunk/arch/m68knommu/platform/68360/ints.c | 4 +- .../arch/m68knommu/platform/coldfire/entry.S | 1 + trunk/arch/microblaze/Kconfig | 11 +- trunk/arch/microblaze/configs/mmu_defconfig | 2 +- trunk/arch/microblaze/configs/nommu_defconfig | 2 +- trunk/arch/microblaze/include/asm/futex.h | 31 +- trunk/arch/microblaze/include/asm/irqflags.h | 2 +- trunk/arch/microblaze/include/asm/pgtable.h | 27 +- trunk/arch/microblaze/kernel/cpu/pvr.c | 4 +- trunk/arch/microblaze/kernel/head.S | 29 +- .../microblaze/kernel/hw_exception_handler.S | 4 + trunk/arch/microblaze/kernel/setup.c | 4 +- trunk/arch/microblaze/lib/fastcopy.S | 4 - trunk/arch/mips/Kconfig | 7 +- trunk/arch/mips/Kconfig.debug | 2 +- trunk/arch/mips/alchemy/mtx-1/board_setup.c | 4 +- trunk/arch/mips/alchemy/mtx-1/platform.c | 9 - trunk/arch/mips/alchemy/xxs1500/board_setup.c | 4 +- trunk/arch/mips/configs/ar7_defconfig | 2 +- trunk/arch/mips/configs/bcm47xx_defconfig | 2 +- trunk/arch/mips/configs/bcm63xx_defconfig | 2 +- trunk/arch/mips/configs/bigsur_defconfig | 2 +- trunk/arch/mips/configs/capcella_defconfig | 2 +- .../arch/mips/configs/cavium-octeon_defconfig | 2 +- trunk/arch/mips/configs/cobalt_defconfig | 2 +- trunk/arch/mips/configs/db1000_defconfig | 2 +- trunk/arch/mips/configs/db1100_defconfig | 2 +- trunk/arch/mips/configs/db1200_defconfig | 2 +- trunk/arch/mips/configs/db1500_defconfig | 2 +- trunk/arch/mips/configs/db1550_defconfig | 2 +- trunk/arch/mips/configs/decstation_defconfig | 2 +- trunk/arch/mips/configs/e55_defconfig | 2 +- trunk/arch/mips/configs/fuloong2e_defconfig | 2 +- trunk/arch/mips/configs/gpr_defconfig | 2 +- trunk/arch/mips/configs/ip22_defconfig | 2 +- trunk/arch/mips/configs/ip27_defconfig | 2 +- trunk/arch/mips/configs/ip28_defconfig | 2 +- trunk/arch/mips/configs/ip32_defconfig | 2 +- trunk/arch/mips/configs/jazz_defconfig | 2 +- trunk/arch/mips/configs/jmr3927_defconfig | 2 +- trunk/arch/mips/configs/lasat_defconfig | 2 +- trunk/arch/mips/configs/lemote2f_defconfig | 2 +- trunk/arch/mips/configs/malta_defconfig | 2 +- trunk/arch/mips/configs/markeins_defconfig | 2 +- trunk/arch/mips/configs/mipssim_defconfig | 2 +- trunk/arch/mips/configs/mpc30x_defconfig | 2 +- trunk/arch/mips/configs/msp71xx_defconfig | 2 +- trunk/arch/mips/configs/mtx1_defconfig | 2 +- trunk/arch/mips/configs/pb1100_defconfig | 2 +- trunk/arch/mips/configs/pb1200_defconfig | 2 +- trunk/arch/mips/configs/pb1500_defconfig | 2 +- trunk/arch/mips/configs/pb1550_defconfig | 2 +- .../mips/configs/pnx8335-stb225_defconfig | 2 +- trunk/arch/mips/configs/pnx8550-jbs_defconfig | 2 +- .../mips/configs/pnx8550-stb810_defconfig | 2 +- trunk/arch/mips/configs/powertv_defconfig | 2 +- trunk/arch/mips/configs/rb532_defconfig | 2 +- trunk/arch/mips/configs/rbtx49xx_defconfig | 2 +- trunk/arch/mips/configs/rm200_defconfig | 2 +- .../arch/mips/configs/sb1250-swarm_defconfig | 2 +- trunk/arch/mips/configs/tb0219_defconfig | 2 +- trunk/arch/mips/configs/tb0226_defconfig | 2 +- trunk/arch/mips/configs/tb0287_defconfig | 2 +- trunk/arch/mips/configs/workpad_defconfig | 2 +- trunk/arch/mips/configs/wrppmc_defconfig | 2 +- trunk/arch/mips/configs/yosemite_defconfig | 2 +- trunk/arch/mips/include/asm/futex.h | 39 +- trunk/arch/mips/include/asm/perf_event.h | 12 +- trunk/arch/mips/kernel/ftrace.c | 179 +- trunk/arch/mips/kernel/perf_event.c | 345 ++-- trunk/arch/mips/kernel/perf_event_mipsxx.c | 4 +- trunk/arch/mips/kernel/signal.c | 2 +- trunk/arch/mips/kernel/signal32.c | 2 +- trunk/arch/mips/kernel/smp.c | 31 +- trunk/arch/mips/kernel/syscall.c | 5 +- trunk/arch/mips/kernel/vpe.c | 4 +- trunk/arch/mips/loongson/Kconfig | 5 +- trunk/arch/mips/loongson/common/cmdline.c | 5 + trunk/arch/mips/loongson/common/machtype.c | 3 +- trunk/arch/mips/math-emu/ieee754int.h | 4 +- trunk/arch/mips/mm/init.c | 2 +- trunk/arch/mips/mm/tlbex.c | 2 - trunk/arch/mips/pci/ops-pmcmsp.c | 4 +- trunk/arch/mips/pmc-sierra/Kconfig | 4 + trunk/arch/mips/pmc-sierra/msp71xx/msp_time.c | 2 +- trunk/arch/mn10300/Kconfig | 8 +- trunk/arch/mn10300/configs/asb2303_defconfig | 2 +- trunk/arch/mn10300/configs/asb2364_defconfig | 2 +- trunk/arch/mn10300/include/asm/atomic.h | 2 +- trunk/arch/mn10300/include/asm/uaccess.h | 5 +- trunk/arch/mn10300/mm/cache-inv-icache.c | 4 +- trunk/arch/parisc/Kconfig | 18 +- trunk/arch/parisc/configs/a500_defconfig | 2 +- trunk/arch/parisc/configs/c3000_defconfig | 2 +- trunk/arch/parisc/hpux/sys_hpux.c | 65 +- trunk/arch/parisc/include/asm/futex.h | 24 +- trunk/arch/parisc/kernel/pdc_cons.c | 4 +- trunk/arch/powerpc/Kconfig | 28 +- trunk/arch/powerpc/boot/Makefile | 2 +- trunk/arch/powerpc/boot/dts/mpc8308rdb.dts | 2 +- trunk/arch/powerpc/boot/dts/p1022ds.dts | 4 +- .../arch/powerpc/configs/40x/acadia_defconfig | 2 +- .../arch/powerpc/configs/40x/ep405_defconfig | 2 +- trunk/arch/powerpc/configs/40x/hcu4_defconfig | 2 +- .../powerpc/configs/40x/kilauea_defconfig | 2 +- .../arch/powerpc/configs/40x/makalu_defconfig | 2 +- .../arch/powerpc/configs/40x/walnut_defconfig | 2 +- .../arch/powerpc/configs/44x/arches_defconfig | 2 +- .../arch/powerpc/configs/44x/bamboo_defconfig | 2 +- .../powerpc/configs/44x/bluestone_defconfig | 2 +- .../powerpc/configs/44x/canyonlands_defconfig | 2 +- .../arch/powerpc/configs/44x/ebony_defconfig | 2 +- .../arch/powerpc/configs/44x/eiger_defconfig | 2 +- trunk/arch/powerpc/configs/44x/icon_defconfig | 2 +- .../powerpc/configs/44x/iss476-smp_defconfig | 2 +- .../arch/powerpc/configs/44x/katmai_defconfig | 2 +- .../powerpc/configs/44x/rainier_defconfig | 2 +- .../powerpc/configs/44x/redwood_defconfig | 2 +- .../powerpc/configs/44x/sam440ep_defconfig | 2 +- .../powerpc/configs/44x/sequoia_defconfig | 2 +- .../powerpc/configs/44x/taishan_defconfig | 2 +- trunk/arch/powerpc/configs/44x/warp_defconfig | 2 +- .../powerpc/configs/52xx/cm5200_defconfig | 2 +- .../powerpc/configs/52xx/lite5200b_defconfig | 2 +- .../powerpc/configs/52xx/motionpro_defconfig | 2 +- .../powerpc/configs/52xx/pcm030_defconfig | 2 +- .../powerpc/configs/52xx/tqm5200_defconfig | 2 +- .../powerpc/configs/83xx/asp8347_defconfig | 2 +- .../powerpc/configs/83xx/kmeter1_defconfig | 2 +- .../configs/83xx/mpc8313_rdb_defconfig | 2 +- .../configs/83xx/mpc8315_rdb_defconfig | 2 +- .../configs/83xx/mpc832x_mds_defconfig | 2 +- .../configs/83xx/mpc832x_rdb_defconfig | 2 +- .../configs/83xx/mpc834x_itx_defconfig | 2 +- .../configs/83xx/mpc834x_itxgp_defconfig | 2 +- .../configs/83xx/mpc834x_mds_defconfig | 2 +- .../configs/83xx/mpc836x_mds_defconfig | 2 +- .../configs/83xx/mpc836x_rdk_defconfig | 2 +- .../configs/83xx/mpc837x_mds_defconfig | 2 +- .../configs/83xx/mpc837x_rdb_defconfig | 2 +- .../powerpc/configs/83xx/sbc834x_defconfig | 2 +- .../powerpc/configs/85xx/ksi8560_defconfig | 2 +- .../configs/85xx/mpc8540_ads_defconfig | 2 +- .../configs/85xx/mpc8560_ads_defconfig | 2 +- .../configs/85xx/mpc85xx_cds_defconfig | 2 +- .../powerpc/configs/85xx/sbc8548_defconfig | 2 +- .../powerpc/configs/85xx/sbc8560_defconfig | 2 +- .../powerpc/configs/85xx/socrates_defconfig | 2 +- .../powerpc/configs/85xx/stx_gp3_defconfig | 2 +- .../powerpc/configs/85xx/tqm8540_defconfig | 2 +- .../powerpc/configs/85xx/tqm8541_defconfig | 2 +- .../powerpc/configs/85xx/tqm8548_defconfig | 2 +- .../powerpc/configs/85xx/tqm8555_defconfig | 2 +- .../powerpc/configs/85xx/tqm8560_defconfig | 2 +- .../configs/85xx/xes_mpc85xx_defconfig | 2 +- .../powerpc/configs/86xx/gef_ppc9a_defconfig | 2 +- .../powerpc/configs/86xx/gef_sbc310_defconfig | 2 +- .../powerpc/configs/86xx/gef_sbc610_defconfig | 2 +- .../configs/86xx/mpc8610_hpcd_defconfig | 2 +- .../configs/86xx/mpc8641_hpcn_defconfig | 2 +- .../powerpc/configs/86xx/sbc8641d_defconfig | 2 +- trunk/arch/powerpc/configs/adder875_defconfig | 2 +- .../arch/powerpc/configs/e55xx_smp_defconfig | 2 +- trunk/arch/powerpc/configs/ep8248e_defconfig | 2 +- trunk/arch/powerpc/configs/ep88xc_defconfig | 2 +- trunk/arch/powerpc/configs/gamecube_defconfig | 2 +- trunk/arch/powerpc/configs/holly_defconfig | 2 +- trunk/arch/powerpc/configs/mgcoge_defconfig | 2 +- trunk/arch/powerpc/configs/mgsuvd_defconfig | 2 +- .../powerpc/configs/mpc7448_hpc2_defconfig | 2 +- .../powerpc/configs/mpc8272_ads_defconfig | 2 +- trunk/arch/powerpc/configs/mpc83xx_defconfig | 2 +- trunk/arch/powerpc/configs/mpc85xx_defconfig | 2 +- .../powerpc/configs/mpc85xx_smp_defconfig | 2 +- .../arch/powerpc/configs/mpc866_ads_defconfig | 2 +- trunk/arch/powerpc/configs/mpc86xx_defconfig | 2 +- .../arch/powerpc/configs/mpc885_ads_defconfig | 2 +- trunk/arch/powerpc/configs/ppc40x_defconfig | 2 +- trunk/arch/powerpc/configs/ppc44x_defconfig | 2 +- trunk/arch/powerpc/configs/pq2fads_defconfig | 2 +- trunk/arch/powerpc/configs/ps3_defconfig | 2 +- trunk/arch/powerpc/configs/pseries_defconfig | 7 +- .../arch/powerpc/configs/storcenter_defconfig | 2 +- trunk/arch/powerpc/configs/tqm8xx_defconfig | 2 +- trunk/arch/powerpc/configs/wii_defconfig | 2 +- .../arch/powerpc/include/asm/feature-fixups.h | 27 +- trunk/arch/powerpc/include/asm/futex.h | 27 +- trunk/arch/powerpc/include/asm/immap_qe.h | 21 +- trunk/arch/powerpc/include/asm/irqflags.h | 40 +- trunk/arch/powerpc/include/asm/lppaca.h | 16 - trunk/arch/powerpc/include/asm/machdep.h | 12 +- trunk/arch/powerpc/include/asm/mmu-book3e.h | 8 +- trunk/arch/powerpc/include/asm/page.h | 2 +- trunk/arch/powerpc/include/asm/reg.h | 2 - trunk/arch/powerpc/include/asm/reg_booke.h | 14 - trunk/arch/powerpc/include/asm/rwsem.h | 51 + trunk/arch/powerpc/include/asm/spu.h | 8 + trunk/arch/powerpc/kernel/cpu_setup_6xx.S | 40 +- .../arch/powerpc/kernel/cpu_setup_fsl_booke.S | 6 - trunk/arch/powerpc/kernel/cputable.c | 27 +- trunk/arch/powerpc/kernel/crash.c | 72 +- trunk/arch/powerpc/kernel/entry_32.S | 11 - trunk/arch/powerpc/kernel/machine_kexec.c | 14 +- trunk/arch/powerpc/kernel/paca.c | 14 + trunk/arch/powerpc/kernel/process.c | 10 +- trunk/arch/powerpc/kernel/rtas_flash.c | 53 +- trunk/arch/powerpc/kernel/rtasd.c | 2 +- trunk/arch/powerpc/kernel/time.c | 25 +- trunk/arch/powerpc/kernel/traps.c | 12 +- trunk/arch/powerpc/lib/feature-fixups-test.S | 19 - trunk/arch/powerpc/mm/numa.c | 56 +- trunk/arch/powerpc/mm/tlb_hash64.c | 6 +- .../arch/powerpc/platforms/83xx/mpc830x_rdb.c | 4 +- .../arch/powerpc/platforms/83xx/mpc831x_rdb.c | 4 +- trunk/arch/powerpc/platforms/83xx/mpc83xx.h | 2 - trunk/arch/powerpc/platforms/83xx/usb.c | 21 +- .../platforms/cell/cpufreq_spudemand.c | 20 +- .../arch/powerpc/platforms/cell/qpace_setup.c | 5 + trunk/arch/powerpc/platforms/cell/spu_base.c | 70 - .../arch/powerpc/platforms/cell/spufs/file.c | 27 +- .../powerpc/platforms/cell/spufs/syscalls.c | 2 +- .../powerpc/platforms/embedded6xx/gamecube.c | 11 + .../arch/powerpc/platforms/embedded6xx/wii.c | 11 + trunk/arch/powerpc/platforms/iseries/Kconfig | 2 +- trunk/arch/powerpc/platforms/iseries/dt.c | 6 +- trunk/arch/powerpc/platforms/iseries/setup.c | 1 - trunk/arch/powerpc/platforms/pseries/Kconfig | 6 +- trunk/arch/powerpc/platforms/pseries/kexec.c | 10 + trunk/arch/powerpc/platforms/pseries/lpar.c | 37 - trunk/arch/powerpc/platforms/pseries/ras.c | 102 +- trunk/arch/powerpc/sysdev/fsl_rio.c | 2 + trunk/arch/powerpc/sysdev/mpic.c | 6 +- trunk/arch/s390/Kconfig | 2 +- trunk/arch/s390/boot/compressed/misc.c | 5 +- trunk/arch/s390/crypto/sha_common.c | 1 - trunk/arch/s390/include/asm/atomic.h | 26 +- trunk/arch/s390/include/asm/cache.h | 1 - trunk/arch/s390/include/asm/cacheflush.h | 23 +- trunk/arch/s390/include/asm/futex.h | 12 +- trunk/arch/s390/include/asm/processor.h | 5 + trunk/arch/s390/include/asm/rwsem.h | 63 + trunk/arch/s390/include/asm/tlb.h | 1 - trunk/arch/s390/include/asm/uaccess.h | 4 +- trunk/arch/s390/kernel/traps.c | 37 + trunk/arch/s390/lib/uaccess.h | 8 +- trunk/arch/s390/lib/uaccess_pt.c | 17 +- trunk/arch/s390/lib/uaccess_std.c | 18 +- trunk/arch/s390/mm/pgtable.c | 3 +- trunk/arch/score/Kconfig | 10 +- trunk/arch/score/configs/spct6600_defconfig | 2 +- trunk/arch/sh/Kconfig | 3 +- trunk/arch/sh/Makefile | 3 +- trunk/arch/sh/boards/mach-ecovec24/setup.c | 2 - trunk/arch/sh/boot/Makefile | 11 +- trunk/arch/sh/boot/compressed/Makefile | 4 +- trunk/arch/sh/boot/compressed/misc.c | 4 - trunk/arch/sh/include/asm/futex-irq.h | 24 +- trunk/arch/sh/include/asm/futex.h | 11 +- trunk/arch/sh/include/asm/pgtable.h | 1 - trunk/arch/sh/include/asm/rwsem.h | 56 + trunk/arch/sh/include/asm/sections.h | 2 +- trunk/arch/sh/kernel/cpu/sh4/setup-sh7750.c | 19 +- trunk/arch/sh/kernel/topology.c | 1 - trunk/arch/sh/lib/delay.c | 10 - trunk/arch/sh/mm/cache.c | 3 +- trunk/arch/sparc/Kconfig | 9 +- trunk/arch/sparc/include/asm/futex_64.h | 20 +- trunk/arch/sparc/include/asm/pcr.h | 2 - trunk/arch/sparc/include/asm/rwsem.h | 46 + trunk/arch/sparc/kernel/iommu.c | 5 +- trunk/arch/sparc/kernel/pcr.c | 2 + trunk/arch/sparc/kernel/smp_64.c | 2 - trunk/arch/sparc/kernel/una_asm_32.S | 4 +- trunk/arch/sparc/lib/atomic32.c | 2 +- trunk/arch/sparc/lib/bitext.c | 5 +- trunk/arch/tile/Kconfig | 55 +- trunk/arch/tile/Kconfig.debug | 2 +- trunk/arch/tile/configs/tile_defconfig | 2 +- trunk/arch/tile/include/asm/futex.h | 27 +- trunk/arch/um/Kconfig.common | 6 +- trunk/arch/um/Kconfig.um | 3 + trunk/arch/um/defconfig | 2 +- trunk/arch/um/drivers/mconsole_kern.c | 21 +- trunk/arch/um/drivers/ubd_kern.c | 2 +- trunk/arch/x86/Kconfig | 20 +- trunk/arch/x86/Kconfig.cpu | 2 +- trunk/arch/x86/Kconfig.debug | 4 +- trunk/arch/x86/boot/compressed/mkpiggy.c | 7 +- trunk/arch/x86/ia32/ia32entry.S | 2 - trunk/arch/x86/include/asm/acpi.h | 1 - trunk/arch/x86/include/asm/apic.h | 1 - trunk/arch/x86/include/asm/cacheflush.h | 42 +- trunk/arch/x86/include/asm/ce4100.h | 6 - trunk/arch/x86/include/asm/cpu.h | 1 - trunk/arch/x86/include/asm/futex.h | 22 +- trunk/arch/x86/include/asm/jump_label.h | 2 +- trunk/arch/x86/include/asm/mmu_context.h | 5 +- trunk/arch/x86/include/asm/msr-index.h | 5 - trunk/arch/x86/include/asm/numa_32.h | 2 - trunk/arch/x86/include/asm/numa_64.h | 1 - trunk/arch/x86/include/asm/paravirt.h | 5 +- trunk/arch/x86/include/asm/percpu.h | 32 +- trunk/arch/x86/include/asm/perf_event_p4.h | 1 - trunk/arch/x86/include/asm/rwsem.h | 80 +- trunk/arch/x86/include/asm/smp.h | 5 +- trunk/arch/x86/include/asm/smpboot_hooks.h | 2 +- trunk/arch/x86/include/asm/system_64.h | 22 + trunk/arch/x86/include/asm/unistd_32.h | 4 +- trunk/arch/x86/include/asm/unistd_64.h | 4 - trunk/arch/x86/include/asm/uv/uv_bau.h | 2 +- trunk/arch/x86/include/asm/xen/hypercall.h | 15 +- trunk/arch/x86/include/asm/xen/page.h | 47 +- trunk/arch/x86/include/asm/xen/pci.h | 8 +- trunk/arch/x86/kernel/acpi/boot.c | 14 +- trunk/arch/x86/kernel/acpi/sleep.c | 15 +- trunk/arch/x86/kernel/alternative.c | 2 +- trunk/arch/x86/kernel/apb_timer.c | 2 +- trunk/arch/x86/kernel/apic/apic.c | 9 +- trunk/arch/x86/kernel/apic/io_apic.c | 3 - trunk/arch/x86/kernel/check.c | 8 +- .../arch/x86/kernel/cpu/cpufreq/p4-clockmod.c | 6 +- .../arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c | 2 +- .../arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 13 +- trunk/arch/x86/kernel/cpu/intel_cacheinfo.c | 3 - .../arch/x86/kernel/cpu/mcheck/therm_throt.c | 1 - trunk/arch/x86/kernel/cpu/mtrr/main.c | 10 +- trunk/arch/x86/kernel/cpu/perf_event.c | 4 +- trunk/arch/x86/kernel/cpu/perf_event_p4.c | 23 +- trunk/arch/x86/kernel/dumpstack_64.c | 2 +- trunk/arch/x86/kernel/early-quirks.c | 16 +- trunk/arch/x86/kernel/head_32.S | 30 +- trunk/arch/x86/kernel/irq.c | 3 +- trunk/arch/x86/kernel/process.c | 25 +- trunk/arch/x86/kernel/reboot.c | 8 - trunk/arch/x86/kernel/smpboot.c | 11 +- trunk/arch/x86/kernel/syscall_table_32.S | 2 - trunk/arch/x86/kernel/vmlinux.lds.S | 11 +- trunk/arch/x86/kvm/svm.c | 4 +- trunk/arch/x86/lguest/Kconfig | 1 - trunk/arch/x86/lguest/boot.c | 2 +- trunk/arch/x86/mm/fault.c | 14 +- trunk/arch/x86/mm/init_64.c | 6 +- trunk/arch/x86/mm/numa.c | 22 - trunk/arch/x86/mm/numa_64.c | 30 +- trunk/arch/x86/mm/pageattr.c | 26 +- trunk/arch/x86/mm/pgtable.c | 11 +- trunk/arch/x86/mm/srat_32.c | 1 + trunk/arch/x86/pci/ce4100.c | 7 +- trunk/arch/x86/pci/xen.c | 159 +- trunk/arch/x86/platform/ce4100/ce4100.c | 2 - trunk/arch/x86/platform/olpc/olpc_dt.c | 3 +- trunk/arch/x86/platform/uv/tlb_uv.c | 4 +- trunk/arch/x86/xen/Kconfig | 8 - trunk/arch/x86/xen/enlighten.c | 10 +- trunk/arch/x86/xen/irq.c | 2 +- trunk/arch/x86/xen/mmu.c | 82 +- trunk/arch/x86/xen/p2m.c | 342 +--- trunk/arch/x86/xen/setup.c | 76 +- trunk/arch/x86/xen/smp.c | 38 - trunk/arch/x86/xen/suspend.c | 8 +- trunk/arch/x86/xen/time.c | 4 +- trunk/arch/x86/xen/xen-ops.h | 2 - trunk/arch/xtensa/configs/common_defconfig | 2 +- trunk/arch/xtensa/configs/iss_defconfig | 2 +- trunk/arch/xtensa/configs/s6105_defconfig | 2 +- trunk/arch/xtensa/include/asm/rwsem.h | 37 + trunk/block/Kconfig | 2 +- trunk/block/blk-core.c | 18 +- trunk/block/blk-flush.c | 8 +- trunk/block/blk-lib.c | 21 +- trunk/block/blk-throttle.c | 39 +- trunk/block/cfq-iosched.c | 16 +- trunk/block/elevator.c | 4 +- trunk/block/genhd.c | 2 +- trunk/block/ioctl.c | 8 +- trunk/drivers/Makefile | 3 +- trunk/drivers/acpi/Kconfig | 2 +- trunk/drivers/acpi/acpica/accommon.h | 2 +- trunk/drivers/acpi/acpica/acconfig.h | 2 +- trunk/drivers/acpi/acpica/acdebug.h | 2 +- trunk/drivers/acpi/acpica/acdispat.h | 2 +- trunk/drivers/acpi/acpica/acevents.h | 2 +- trunk/drivers/acpi/acpica/acglobal.h | 2 +- trunk/drivers/acpi/acpica/achware.h | 2 +- trunk/drivers/acpi/acpica/acinterp.h | 2 +- trunk/drivers/acpi/acpica/aclocal.h | 9 +- trunk/drivers/acpi/acpica/acmacros.h | 2 +- trunk/drivers/acpi/acpica/acnamesp.h | 2 +- trunk/drivers/acpi/acpica/acobject.h | 16 +- trunk/drivers/acpi/acpica/acopcode.h | 2 +- trunk/drivers/acpi/acpica/acparser.h | 2 +- trunk/drivers/acpi/acpica/acpredef.h | 2 +- trunk/drivers/acpi/acpica/acresrc.h | 2 +- trunk/drivers/acpi/acpica/acstruct.h | 2 +- trunk/drivers/acpi/acpica/actables.h | 2 +- trunk/drivers/acpi/acpica/acutils.h | 2 +- trunk/drivers/acpi/acpica/amlcode.h | 10 +- trunk/drivers/acpi/acpica/amlresrc.h | 2 +- trunk/drivers/acpi/acpica/dsfield.c | 2 +- trunk/drivers/acpi/acpica/dsinit.c | 2 +- trunk/drivers/acpi/acpica/dsmethod.c | 64 +- trunk/drivers/acpi/acpica/dsmthdat.c | 2 +- trunk/drivers/acpi/acpica/dsobject.c | 2 +- trunk/drivers/acpi/acpica/dsopcode.c | 2 +- trunk/drivers/acpi/acpica/dsutils.c | 2 +- trunk/drivers/acpi/acpica/dswexec.c | 2 +- trunk/drivers/acpi/acpica/dswload.c | 2 +- trunk/drivers/acpi/acpica/dswscope.c | 2 +- trunk/drivers/acpi/acpica/dswstate.c | 2 +- trunk/drivers/acpi/acpica/evevent.c | 2 +- trunk/drivers/acpi/acpica/evgpe.c | 21 +- trunk/drivers/acpi/acpica/evgpeblk.c | 2 +- trunk/drivers/acpi/acpica/evgpeinit.c | 2 +- trunk/drivers/acpi/acpica/evgpeutil.c | 2 +- trunk/drivers/acpi/acpica/evmisc.c | 2 +- trunk/drivers/acpi/acpica/evregion.c | 2 +- trunk/drivers/acpi/acpica/evrgnini.c | 6 +- trunk/drivers/acpi/acpica/evsci.c | 2 +- trunk/drivers/acpi/acpica/evxface.c | 2 +- trunk/drivers/acpi/acpica/evxfevnt.c | 2 +- trunk/drivers/acpi/acpica/evxfgpe.c | 69 +- trunk/drivers/acpi/acpica/evxfregn.c | 2 +- trunk/drivers/acpi/acpica/exconfig.c | 2 +- trunk/drivers/acpi/acpica/exconvrt.c | 2 +- trunk/drivers/acpi/acpica/excreate.c | 10 +- trunk/drivers/acpi/acpica/exdebug.c | 2 +- trunk/drivers/acpi/acpica/exdump.c | 4 +- trunk/drivers/acpi/acpica/exfield.c | 2 +- trunk/drivers/acpi/acpica/exfldio.c | 2 +- trunk/drivers/acpi/acpica/exmisc.c | 2 +- trunk/drivers/acpi/acpica/exmutex.c | 2 +- trunk/drivers/acpi/acpica/exnames.c | 2 +- trunk/drivers/acpi/acpica/exoparg1.c | 2 +- trunk/drivers/acpi/acpica/exoparg2.c | 2 +- trunk/drivers/acpi/acpica/exoparg3.c | 2 +- trunk/drivers/acpi/acpica/exoparg6.c | 2 +- trunk/drivers/acpi/acpica/exprep.c | 2 +- trunk/drivers/acpi/acpica/exregion.c | 2 +- trunk/drivers/acpi/acpica/exresnte.c | 2 +- trunk/drivers/acpi/acpica/exresolv.c | 2 +- trunk/drivers/acpi/acpica/exresop.c | 2 +- trunk/drivers/acpi/acpica/exstore.c | 2 +- trunk/drivers/acpi/acpica/exstoren.c | 2 +- trunk/drivers/acpi/acpica/exstorob.c | 2 +- trunk/drivers/acpi/acpica/exsystem.c | 2 +- trunk/drivers/acpi/acpica/exutils.c | 2 +- trunk/drivers/acpi/acpica/hwacpi.c | 2 +- trunk/drivers/acpi/acpica/hwgpe.c | 2 +- trunk/drivers/acpi/acpica/hwpci.c | 2 +- trunk/drivers/acpi/acpica/hwregs.c | 2 +- trunk/drivers/acpi/acpica/hwsleep.c | 2 +- trunk/drivers/acpi/acpica/hwtimer.c | 2 +- trunk/drivers/acpi/acpica/hwvalid.c | 2 +- trunk/drivers/acpi/acpica/hwxface.c | 2 +- trunk/drivers/acpi/acpica/nsaccess.c | 8 +- trunk/drivers/acpi/acpica/nsalloc.c | 15 +- trunk/drivers/acpi/acpica/nsdump.c | 17 +- trunk/drivers/acpi/acpica/nsdumpdv.c | 2 +- trunk/drivers/acpi/acpica/nseval.c | 4 +- trunk/drivers/acpi/acpica/nsinit.c | 2 +- trunk/drivers/acpi/acpica/nsload.c | 2 +- trunk/drivers/acpi/acpica/nsnames.c | 2 +- trunk/drivers/acpi/acpica/nsobject.c | 2 +- trunk/drivers/acpi/acpica/nsparse.c | 2 +- trunk/drivers/acpi/acpica/nspredef.c | 2 +- trunk/drivers/acpi/acpica/nsrepair.c | 2 +- trunk/drivers/acpi/acpica/nsrepair2.c | 2 +- trunk/drivers/acpi/acpica/nssearch.c | 2 +- trunk/drivers/acpi/acpica/nsutils.c | 2 +- trunk/drivers/acpi/acpica/nswalk.c | 2 +- trunk/drivers/acpi/acpica/nsxfeval.c | 2 +- trunk/drivers/acpi/acpica/nsxfname.c | 7 +- trunk/drivers/acpi/acpica/nsxfobj.c | 2 +- trunk/drivers/acpi/acpica/psargs.c | 2 +- trunk/drivers/acpi/acpica/psloop.c | 4 +- trunk/drivers/acpi/acpica/psopcode.c | 2 +- trunk/drivers/acpi/acpica/psparse.c | 27 +- trunk/drivers/acpi/acpica/psscope.c | 2 +- trunk/drivers/acpi/acpica/pstree.c | 2 +- trunk/drivers/acpi/acpica/psutils.c | 2 +- trunk/drivers/acpi/acpica/pswalk.c | 2 +- trunk/drivers/acpi/acpica/psxface.c | 9 +- trunk/drivers/acpi/acpica/rsaddr.c | 2 +- trunk/drivers/acpi/acpica/rscalc.c | 2 +- trunk/drivers/acpi/acpica/rscreate.c | 2 +- trunk/drivers/acpi/acpica/rsdump.c | 2 +- trunk/drivers/acpi/acpica/rsinfo.c | 2 +- trunk/drivers/acpi/acpica/rsio.c | 2 +- trunk/drivers/acpi/acpica/rsirq.c | 2 +- trunk/drivers/acpi/acpica/rslist.c | 2 +- trunk/drivers/acpi/acpica/rsmemory.c | 2 +- trunk/drivers/acpi/acpica/rsmisc.c | 2 +- trunk/drivers/acpi/acpica/rsutils.c | 2 +- trunk/drivers/acpi/acpica/rsxface.c | 2 +- trunk/drivers/acpi/acpica/tbfadt.c | 2 +- trunk/drivers/acpi/acpica/tbfind.c | 2 +- trunk/drivers/acpi/acpica/tbinstal.c | 2 +- trunk/drivers/acpi/acpica/tbutils.c | 2 +- trunk/drivers/acpi/acpica/tbxface.c | 2 +- trunk/drivers/acpi/acpica/tbxfroot.c | 2 +- trunk/drivers/acpi/acpica/utalloc.c | 2 +- trunk/drivers/acpi/acpica/utcopy.c | 2 +- trunk/drivers/acpi/acpica/utdebug.c | 2 +- trunk/drivers/acpi/acpica/utdelete.c | 2 +- trunk/drivers/acpi/acpica/uteval.c | 2 +- trunk/drivers/acpi/acpica/utglobal.c | 2 +- trunk/drivers/acpi/acpica/utids.c | 2 +- trunk/drivers/acpi/acpica/utinit.c | 2 +- trunk/drivers/acpi/acpica/utlock.c | 2 +- trunk/drivers/acpi/acpica/utmath.c | 2 +- trunk/drivers/acpi/acpica/utmisc.c | 2 +- trunk/drivers/acpi/acpica/utmutex.c | 2 +- trunk/drivers/acpi/acpica/utobject.c | 2 +- trunk/drivers/acpi/acpica/utosi.c | 2 +- trunk/drivers/acpi/acpica/utresrc.c | 2 +- trunk/drivers/acpi/acpica/utstate.c | 2 +- trunk/drivers/acpi/acpica/utxface.c | 2 +- trunk/drivers/acpi/acpica/utxferror.c | 2 +- trunk/drivers/acpi/battery.c | 1 + trunk/drivers/acpi/debugfs.c | 20 +- trunk/drivers/acpi/nvs.c | 7 +- trunk/drivers/acpi/osl.c | 37 +- trunk/drivers/acpi/sleep.c | 2 +- trunk/drivers/acpi/video_detect.c | 5 - trunk/drivers/acpi/wakeup.c | 6 +- trunk/drivers/ata/Kconfig | 2 +- trunk/drivers/ata/ahci.c | 3 - trunk/drivers/ata/libata-core.c | 1 - trunk/drivers/ata/libata-scsi.c | 24 +- trunk/drivers/ata/pata_hpt366.c | 6 +- trunk/drivers/ata/pata_hpt37x.c | 112 +- trunk/drivers/ata/pata_hpt3x2n.c | 12 +- trunk/drivers/ata/pata_mpc52xx.c | 2 +- trunk/drivers/atm/idt77105.c | 2 +- trunk/drivers/atm/solos-pci.c | 5 +- trunk/drivers/base/Kconfig | 2 +- trunk/drivers/base/power/runtime.c | 9 +- trunk/drivers/block/Makefile | 2 +- trunk/drivers/block/aoe/Makefile | 2 +- trunk/drivers/block/cciss.c | 2 +- trunk/drivers/block/floppy.c | 2 +- trunk/drivers/block/loop.c | 8 +- trunk/drivers/block/nbd.c | 3 + trunk/drivers/block/xen-blkfront.c | 87 +- trunk/drivers/bluetooth/ath3k.c | 80 +- trunk/drivers/bluetooth/btusb.c | 12 +- trunk/drivers/cdrom/cdrom.c | 3 +- trunk/drivers/char/Kconfig | 12 +- trunk/drivers/char/Makefile | 12 + trunk/drivers/char/agp/Kconfig | 2 +- trunk/drivers/char/agp/amd-k7-agp.c | 19 + trunk/drivers/char/agp/amd64-agp.c | 9 +- trunk/drivers/char/agp/intel-agp.c | 27 +- trunk/drivers/char/agp/intel-agp.h | 1 - trunk/drivers/char/agp/intel-gtt.c | 75 +- trunk/drivers/char/bfin_jtag_comm.c | 8 +- trunk/drivers/{tty/hvc => char}/hvc_beat.c | 0 trunk/drivers/{tty/hvc => char}/hvc_console.c | 0 trunk/drivers/{tty/hvc => char}/hvc_console.h | 0 trunk/drivers/{tty/hvc => char}/hvc_dcc.c | 0 trunk/drivers/{tty/hvc => char}/hvc_irq.c | 0 trunk/drivers/{tty/hvc => char}/hvc_iseries.c | 0 trunk/drivers/{tty/hvc => char}/hvc_iucv.c | 0 trunk/drivers/{tty/hvc => char}/hvc_rtas.c | 0 trunk/drivers/{tty/hvc => char}/hvc_tile.c | 0 trunk/drivers/{tty/hvc => char}/hvc_udbg.c | 0 trunk/drivers/{tty/hvc => char}/hvc_vio.c | 0 trunk/drivers/{tty/hvc => char}/hvc_xen.c | 0 trunk/drivers/{tty/hvc => char}/hvcs.c | 0 trunk/drivers/{tty/hvc => char}/hvsi.c | 0 trunk/drivers/char/ipmi/ipmi_si_intf.c | 20 +- trunk/drivers/char/pcmcia/cm4000_cs.c | 3 +- trunk/drivers/char/pcmcia/ipwireless/main.c | 52 +- trunk/drivers/char/tpm/tpm_tis.c | 6 +- trunk/drivers/char/virtio_console.c | 28 +- trunk/drivers/clocksource/acpi_pm.c | 6 +- trunk/drivers/clocksource/tcb_clksrc.c | 4 +- trunk/drivers/cpufreq/Kconfig | 2 +- trunk/drivers/cpufreq/cpufreq.c | 27 +- trunk/drivers/dma/amba-pl08x.c | 53 +- trunk/drivers/dma/imx-dma.c | 26 +- trunk/drivers/dma/imx-sdma.c | 88 +- trunk/drivers/dma/ipu/ipu_idmac.c | 50 + trunk/drivers/edac/amd64_edac.c | 28 +- trunk/drivers/firewire/Kconfig | 6 +- trunk/drivers/firewire/core-card.c | 11 +- trunk/drivers/firewire/net.c | 9 +- trunk/drivers/firmware/Kconfig | 2 +- trunk/drivers/firmware/dmi_scan.c | 11 +- trunk/drivers/gpio/langwell_gpio.c | 9 +- trunk/drivers/gpio/ml_ioh_gpio.c | 1 - trunk/drivers/gpio/pca953x.c | 28 +- trunk/drivers/gpio/pch_gpio.c | 1 - trunk/drivers/gpu/drm/Kconfig | 5 +- trunk/drivers/gpu/drm/drm_crtc.c | 20 - trunk/drivers/gpu/drm/drm_crtc_helper.c | 33 +- trunk/drivers/gpu/drm/drm_fb_helper.c | 8 +- trunk/drivers/gpu/drm/drm_info.c | 9 +- trunk/drivers/gpu/drm/drm_irq.c | 36 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 4 +- trunk/drivers/gpu/drm/i915/i915_dma.c | 46 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 37 +- trunk/drivers/gpu/drm/i915/i915_drv.h | 30 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 14 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 6 +- trunk/drivers/gpu/drm/i915/i915_gem_gtt.c | 4 - trunk/drivers/gpu/drm/i915/i915_gem_tiling.c | 21 +- trunk/drivers/gpu/drm/i915/i915_irq.c | 51 +- trunk/drivers/gpu/drm/i915/i915_reg.h | 12 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 10 - trunk/drivers/gpu/drm/i915/intel_display.c | 228 +-- trunk/drivers/gpu/drm/i915/intel_dp.c | 36 +- trunk/drivers/gpu/drm/i915/intel_drv.h | 1 + trunk/drivers/gpu/drm/i915/intel_hdmi.c | 39 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 12 +- trunk/drivers/gpu/drm/i915/intel_opregion.c | 3 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 9 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 108 +- trunk/drivers/gpu/drm/i915/intel_ringbuffer.h | 17 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 112 +- trunk/drivers/gpu/drm/i915/intel_tv.c | 43 +- trunk/drivers/gpu/drm/nouveau/Kconfig | 2 +- trunk/drivers/gpu/drm/nouveau/nouveau_bios.c | 17 +- trunk/drivers/gpu/drm/nouveau/nouveau_bo.c | 18 +- .../gpu/drm/nouveau/nouveau_connector.c | 1 - trunk/drivers/gpu/drm/nouveau/nouveau_dma.c | 3 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.c | 8 +- trunk/drivers/gpu/drm/nouveau/nouveau_drv.h | 6 +- trunk/drivers/gpu/drm/nouveau/nouveau_mem.c | 6 +- trunk/drivers/gpu/drm/nouveau/nouveau_mm.c | 2 +- .../gpu/drm/nouveau/nouveau_notifier.c | 11 +- trunk/drivers/gpu/drm/nouveau/nouveau_pm.c | 4 +- trunk/drivers/gpu/drm/nouveau/nouveau_temp.c | 2 +- trunk/drivers/gpu/drm/nouveau/nv04_dfp.c | 12 +- trunk/drivers/gpu/drm/nouveau/nv40_graph.c | 46 +- trunk/drivers/gpu/drm/nouveau/nv50_evo.c | 3 +- trunk/drivers/gpu/drm/nouveau/nv50_graph.c | 3 - trunk/drivers/gpu/drm/nouveau/nv50_instmem.c | 8 - trunk/drivers/gpu/drm/nouveau/nv50_vm.c | 9 +- trunk/drivers/gpu/drm/nouveau/nvc0_graph.c | 23 +- trunk/drivers/gpu/drm/nouveau/nvc0_grctx.c | 2 +- trunk/drivers/gpu/drm/radeon/atombios_crtc.c | 135 +- trunk/drivers/gpu/drm/radeon/atombios_dp.c | 4 +- trunk/drivers/gpu/drm/radeon/evergreen.c | 67 +- .../gpu/drm/radeon/evergreen_blit_kms.c | 66 +- .../gpu/drm/radeon/evergreen_blit_shaders.c | 8 - trunk/drivers/gpu/drm/radeon/evergreend.h | 3 - trunk/drivers/gpu/drm/radeon/mkregtable.c | 5 +- trunk/drivers/gpu/drm/radeon/r100.c | 99 +- trunk/drivers/gpu/drm/radeon/r100_track.h | 13 +- trunk/drivers/gpu/drm/radeon/r200.c | 18 - trunk/drivers/gpu/drm/radeon/r300.c | 51 +- trunk/drivers/gpu/drm/radeon/r300_reg.h | 2 - trunk/drivers/gpu/drm/radeon/r420.c | 2 +- trunk/drivers/gpu/drm/radeon/r520.c | 4 +- trunk/drivers/gpu/drm/radeon/r600.c | 36 +- trunk/drivers/gpu/drm/radeon/r600_blit.c | 11 +- trunk/drivers/gpu/drm/radeon/r600_blit_kms.c | 33 +- .../gpu/drm/radeon/r600_blit_shaders.c | 4 - trunk/drivers/gpu/drm/radeon/r600_cp.c | 31 +- trunk/drivers/gpu/drm/radeon/r600_cs.c | 46 +- trunk/drivers/gpu/drm/radeon/r600_reg.h | 6 +- trunk/drivers/gpu/drm/radeon/r600d.h | 9 +- trunk/drivers/gpu/drm/radeon/radeon.h | 13 +- trunk/drivers/gpu/drm/radeon/radeon_asic.c | 9 +- trunk/drivers/gpu/drm/radeon/radeon_asic.h | 1 - .../drivers/gpu/drm/radeon/radeon_atombios.c | 121 +- trunk/drivers/gpu/drm/radeon/radeon_combios.c | 58 - trunk/drivers/gpu/drm/radeon/radeon_device.c | 14 +- trunk/drivers/gpu/drm/radeon/radeon_display.c | 140 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 2 +- trunk/drivers/gpu/drm/radeon/radeon_drv.h | 1 - .../drivers/gpu/drm/radeon/radeon_encoders.c | 32 +- trunk/drivers/gpu/drm/radeon/radeon_fb.c | 5 +- trunk/drivers/gpu/drm/radeon/radeon_gem.c | 5 +- trunk/drivers/gpu/drm/radeon/radeon_irq_kms.c | 3 - trunk/drivers/gpu/drm/radeon/radeon_kms.c | 6 - .../gpu/drm/radeon/radeon_legacy_crtc.c | 9 +- trunk/drivers/gpu/drm/radeon/radeon_mode.h | 24 +- trunk/drivers/gpu/drm/radeon/radeon_pm.c | 5 +- trunk/drivers/gpu/drm/radeon/radeon_reg.h | 2 - trunk/drivers/gpu/drm/radeon/radeon_ttm.c | 18 +- trunk/drivers/gpu/drm/radeon/reg_srcs/r300 | 6 +- trunk/drivers/gpu/drm/radeon/reg_srcs/r420 | 7 +- trunk/drivers/gpu/drm/radeon/reg_srcs/rs600 | 6 +- trunk/drivers/gpu/drm/radeon/reg_srcs/rv515 | 7 +- trunk/drivers/gpu/drm/radeon/rs400.c | 15 +- trunk/drivers/gpu/drm/radeon/rs600.c | 1 + trunk/drivers/gpu/drm/radeon/rs690.c | 13 +- trunk/drivers/gpu/drm/radeon/rv515.c | 10 +- trunk/drivers/gpu/drm/radeon/rv770.c | 32 +- trunk/drivers/gpu/drm/radeon/rv770d.h | 8 +- trunk/drivers/gpu/stub/Kconfig | 2 - trunk/drivers/gpu/vga/Kconfig | 2 +- trunk/drivers/gpu/vga/vgaarb.c | 2 +- trunk/drivers/hid/Kconfig | 64 +- trunk/drivers/hid/usbhid/Kconfig | 2 +- trunk/drivers/hwmon/Kconfig | 19 +- trunk/drivers/hwmon/ad7414.c | 1 - trunk/drivers/hwmon/adt7411.c | 1 - trunk/drivers/hwmon/applesmc.c | 1 - trunk/drivers/hwmon/asus_atk0110.c | 23 +- trunk/drivers/hwmon/emc1403.c | 2 +- trunk/drivers/hwmon/f71882fg.c | 4 +- trunk/drivers/hwmon/jc42.c | 35 +- trunk/drivers/hwmon/k10temp.c | 5 +- trunk/drivers/hwmon/lis3lv02d.c | 2 +- trunk/drivers/hwmon/lm63.c | 59 +- trunk/drivers/hwmon/lm85.c | 23 +- trunk/drivers/i2c/busses/i2c-eg20t.c | 1 - trunk/drivers/i2c/busses/i2c-ocores.c | 2 +- trunk/drivers/i2c/busses/i2c-omap.c | 39 +- trunk/drivers/i2c/busses/i2c-stu300.c | 2 +- trunk/drivers/ide/Kconfig | 2 +- trunk/drivers/idle/intel_idle.c | 32 +- trunk/drivers/infiniband/core/sa_query.c | 2 +- trunk/drivers/infiniband/core/ucma.c | 22 +- trunk/drivers/infiniband/hw/amso1100/c2_vq.c | 6 +- trunk/drivers/infiniband/hw/cxgb4/cm.c | 2 +- trunk/drivers/infiniband/hw/cxgb4/qp.c | 4 +- trunk/drivers/infiniband/hw/mthca/Kconfig | 2 +- trunk/drivers/infiniband/hw/nes/nes_hw.c | 32 +- trunk/drivers/infiniband/hw/qib/qib_iba7322.c | 30 +- trunk/drivers/infiniband/hw/qib/qib_rc.c | 5 +- trunk/drivers/infiniband/ulp/ipoib/Kconfig | 2 +- trunk/drivers/input/Kconfig | 6 +- trunk/drivers/input/gameport/gameport.c | 2 +- trunk/drivers/input/input.c | 37 +- trunk/drivers/input/keyboard/Kconfig | 14 +- trunk/drivers/input/keyboard/Makefile | 1 - trunk/drivers/input/keyboard/gpio_keys.c | 6 +- trunk/drivers/input/keyboard/tegra-kbc.c | 783 --------- .../drivers/input/keyboard/tnetv107x-keypad.c | 5 +- trunk/drivers/input/misc/ixp4xx-beeper.c | 6 +- trunk/drivers/input/misc/rotary_encoder.c | 4 +- trunk/drivers/input/mouse/Kconfig | 10 +- trunk/drivers/input/mouse/synaptics.c | 32 +- trunk/drivers/input/mouse/synaptics.h | 23 - trunk/drivers/input/serio/Kconfig | 6 +- trunk/drivers/input/serio/ct82c710.c | 8 +- trunk/drivers/input/serio/serio.c | 13 +- trunk/drivers/input/serio/serport.c | 24 +- trunk/drivers/input/sparse-keymap.c | 1 - trunk/drivers/input/tablet/wacom_sys.c | 2 +- trunk/drivers/input/tablet/wacom_wac.c | 27 +- trunk/drivers/input/touchscreen/Kconfig | 30 +- trunk/drivers/input/touchscreen/ads7846.c | 38 +- trunk/drivers/input/touchscreen/bu21013_ts.c | 39 +- .../drivers/input/touchscreen/tnetv107x-ts.c | 5 +- trunk/drivers/input/touchscreen/wacom_w8001.c | 13 +- trunk/drivers/isdn/hardware/eicon/istream.c | 2 +- trunk/drivers/isdn/hisax/isdnl2.c | 28 +- trunk/drivers/isdn/hysdn/hysdn_defs.h | 2 + trunk/drivers/isdn/hysdn/hysdn_init.c | 26 +- trunk/drivers/isdn/hysdn/hysdn_net.c | 3 + trunk/drivers/isdn/hysdn/hysdn_procconf.c | 3 +- trunk/drivers/isdn/icn/icn.c | 3 +- trunk/drivers/leds/leds-pwm.c | 1 - trunk/drivers/leds/ledtrig-gpio.c | 15 +- trunk/drivers/lguest/page_tables.c | 2 +- trunk/drivers/lguest/x86/core.c | 4 +- trunk/drivers/macintosh/therm_pm72.c | 4 +- trunk/drivers/md/linear.c | 1 + trunk/drivers/md/md.c | 78 +- trunk/drivers/md/md.h | 4 +- trunk/drivers/md/multipath.c | 1 + trunk/drivers/md/raid0.c | 42 +- trunk/drivers/md/raid1.c | 6 +- trunk/drivers/md/raid10.c | 13 +- trunk/drivers/md/raid5.c | 61 +- trunk/drivers/media/common/saa7146_core.c | 2 +- trunk/drivers/media/common/saa7146_fops.c | 8 +- trunk/drivers/media/common/saa7146_vbi.c | 2 +- trunk/drivers/media/common/saa7146_video.c | 20 +- trunk/drivers/media/common/tuners/Kconfig | 2 +- trunk/drivers/media/common/tuners/tda8290.c | 128 +- .../drivers/media/dvb/dvb-usb/dib0700_core.c | 6 +- .../media/dvb/dvb-usb/dib0700_devices.c | 21 +- trunk/drivers/media/dvb/dvb-usb/lmedm04.c | 6 +- trunk/drivers/media/dvb/firewire/firedtv-rc.c | 9 +- trunk/drivers/media/dvb/frontends/Kconfig | 2 +- trunk/drivers/media/dvb/frontends/af9013.c | 4 +- trunk/drivers/media/dvb/frontends/dib7000m.c | 19 - trunk/drivers/media/dvb/frontends/dib7000m.h | 15 - trunk/drivers/media/dvb/frontends/ix2505v.c | 2 +- trunk/drivers/media/dvb/frontends/mb86a20s.c | 36 +- trunk/drivers/media/dvb/mantis/mantis_pci.c | 1 + trunk/drivers/media/dvb/ttpci/av7110_ca.c | 2 +- trunk/drivers/media/radio/Kconfig | 14 + trunk/drivers/media/radio/Makefile | 1 + trunk/drivers/media/radio/radio-aimslab.c | 1 - trunk/drivers/media/radio/radio-gemtek-pci.c | 478 +++++ trunk/drivers/media/radio/radio-maxiradio.c | 4 +- trunk/drivers/media/radio/radio-wl1273.c | 2 +- .../media/radio/si470x/radio-si470x-common.c | 9 +- trunk/drivers/media/rc/ene_ir.c | 23 +- trunk/drivers/media/rc/ene_ir.h | 2 + trunk/drivers/media/rc/imon.c | 60 +- trunk/drivers/media/rc/ir-lirc-codec.c | 6 +- trunk/drivers/media/rc/ir-raw.c | 5 +- .../drivers/media/rc/keymaps/rc-dib0700-nec.c | 52 +- trunk/drivers/media/rc/keymaps/rc-rc6-mce.c | 6 - trunk/drivers/media/rc/mceusb.c | 37 +- trunk/drivers/media/rc/nuvoton-cir.c | 11 +- trunk/drivers/media/rc/nuvoton-cir.h | 7 +- trunk/drivers/media/rc/rc-main.c | 30 +- trunk/drivers/media/rc/streamzap.c | 14 +- trunk/drivers/media/video/Kconfig | 11 +- trunk/drivers/media/video/Makefile | 1 + trunk/drivers/media/video/adv7175.c | 11 - .../drivers/media/video/au0828/au0828-video.c | 28 +- trunk/drivers/media/video/bt8xx/bttv-cards.c | 39 + trunk/drivers/media/video/bt8xx/bttv.h | 1 + trunk/drivers/media/video/cafe_ccic.c | 11 +- trunk/drivers/media/video/cpia2/cpia2.h | 2 +- trunk/drivers/media/video/cpia2/cpia2_core.c | 65 +- trunk/drivers/media/video/cpia2/cpia2_v4l.c | 104 +- trunk/drivers/media/video/cx18/cx18-cards.c | 50 +- trunk/drivers/media/video/cx18/cx18-driver.c | 49 +- trunk/drivers/media/video/cx18/cx18-driver.h | 6 +- trunk/drivers/media/video/cx18/cx18-dvb.c | 38 - trunk/drivers/media/video/cx18/cx18-streams.h | 3 +- .../drivers/media/video/cx231xx/cx231xx-dvb.c | 5 +- .../drivers/media/video/cx23885/cx23885-i2c.c | 10 + .../media/video/cx25840/cx25840-core.c | 25 +- trunk/drivers/media/video/davinci/vpif.c | 177 -- trunk/drivers/media/video/davinci/vpif.h | 18 +- .../media/video/davinci/vpif_capture.c | 451 ++--- .../media/video/davinci/vpif_capture.h | 2 - .../media/video/davinci/vpif_display.c | 474 ++--- .../media/video/davinci/vpif_display.h | 2 - .../drivers/media/video/em28xx/em28xx-cards.c | 19 +- trunk/drivers/media/video/et61x251/et61x251.h | 24 + trunk/drivers/media/video/gspca/benq.c | 2 +- trunk/drivers/media/video/gspca/conex.c | 4 +- trunk/drivers/media/video/gspca/cpia1.c | 2 +- trunk/drivers/media/video/gspca/etoms.c | 4 +- trunk/drivers/media/video/gspca/finepix.c | 2 +- trunk/drivers/media/video/gspca/gl860/gl860.c | 2 +- trunk/drivers/media/video/gspca/gspca.c | 210 ++- trunk/drivers/media/video/gspca/gspca.h | 2 + trunk/drivers/media/video/gspca/jeilinj.c | 2 +- trunk/drivers/media/video/gspca/jpeg.h | 4 +- trunk/drivers/media/video/gspca/konica.c | 2 +- .../media/video/gspca/m5602/m5602_core.c | 2 +- trunk/drivers/media/video/gspca/mars.c | 2 +- trunk/drivers/media/video/gspca/mr97310a.c | 2 +- trunk/drivers/media/video/gspca/ov519.c | 8 +- trunk/drivers/media/video/gspca/ov534.c | 29 +- trunk/drivers/media/video/gspca/ov534_9.c | 2 +- trunk/drivers/media/video/gspca/pac207.c | 2 +- trunk/drivers/media/video/gspca/pac7302.c | 4 +- trunk/drivers/media/video/gspca/pac7311.c | 4 +- trunk/drivers/media/video/gspca/sn9c2028.c | 2 +- trunk/drivers/media/video/gspca/sn9c20x.c | 2 +- trunk/drivers/media/video/gspca/sonixb.c | 270 ++- trunk/drivers/media/video/gspca/sonixj.c | 155 +- trunk/drivers/media/video/gspca/spca1528.c | 2 +- trunk/drivers/media/video/gspca/spca500.c | 2 +- trunk/drivers/media/video/gspca/spca501.c | 2 +- trunk/drivers/media/video/gspca/spca505.c | 2 +- trunk/drivers/media/video/gspca/spca508.c | 2 +- trunk/drivers/media/video/gspca/spca561.c | 2 +- trunk/drivers/media/video/gspca/sq905.c | 2 +- trunk/drivers/media/video/gspca/sq905c.c | 2 +- trunk/drivers/media/video/gspca/sq930x.c | 2 +- trunk/drivers/media/video/gspca/stk014.c | 2 +- trunk/drivers/media/video/gspca/stv0680.c | 2 +- .../media/video/gspca/stv06xx/stv06xx.c | 2 +- trunk/drivers/media/video/gspca/sunplus.c | 2 +- trunk/drivers/media/video/gspca/t613.c | 2 +- trunk/drivers/media/video/gspca/tv8532.c | 2 +- trunk/drivers/media/video/gspca/vc032x.c | 2 +- trunk/drivers/media/video/gspca/xirlink_cit.c | 2 +- trunk/drivers/media/video/gspca/zc3xx.c | 33 +- trunk/drivers/media/video/hdpvr/Makefile | 4 +- trunk/drivers/media/video/hdpvr/hdpvr-core.c | 32 +- trunk/drivers/media/video/hdpvr/hdpvr-i2c.c | 149 +- trunk/drivers/media/video/hdpvr/hdpvr-video.c | 7 +- trunk/drivers/media/video/hdpvr/hdpvr.h | 8 +- trunk/drivers/media/video/ir-kbd-i2c.c | 25 +- trunk/drivers/media/video/ivtv/ivtv-i2c.c | 9 +- trunk/drivers/media/video/ivtv/ivtv-irq.c | 58 +- trunk/drivers/media/video/mem2mem_testdev.c | 1 + trunk/drivers/media/video/mt9v011.c | 54 +- trunk/drivers/media/video/mt9v011.h | 36 + trunk/drivers/media/video/ov7670.c | 74 +- .../video/pvrusb2/pvrusb2-hdw-internal.h | 2 - .../media/video/pvrusb2/pvrusb2-i2c-core.c | 61 +- trunk/drivers/media/video/s2255drv.c | 10 +- trunk/drivers/media/video/saa7115.c | 2 +- .../media/video/saa7134/saa7134-cards.c | 51 +- .../drivers/media/video/saa7134/saa7134-dvb.c | 80 +- .../media/video/sn9c102/sn9c102_devtable.h | 74 +- trunk/drivers/media/video/sr030pc30.c | 10 + trunk/drivers/media/video/tda9875.c | 411 +++++ trunk/drivers/media/video/tlg2300/pd-video.c | 13 +- trunk/drivers/media/video/v4l2-common.c | 19 +- trunk/drivers/media/video/v4l2-ctrls.c | 34 +- trunk/drivers/media/video/v4l2-dev.c | 9 +- trunk/drivers/media/video/v4l2-device.c | 16 +- trunk/drivers/media/video/v4l2-ioctl.c | 20 +- trunk/drivers/media/video/w9966.c | 1 - trunk/drivers/media/video/zoran/zoran_card.c | 2 +- trunk/drivers/memstick/core/memstick.c | 2 +- trunk/drivers/message/fusion/mptbase.h | 4 +- trunk/drivers/message/fusion/mptctl.c | 8 - trunk/drivers/message/fusion/mptscsih.c | 7 +- trunk/drivers/mfd/asic3.c | 4 +- trunk/drivers/mfd/davinci_voicecodec.c | 4 +- trunk/drivers/mfd/tps6586x.c | 10 +- trunk/drivers/mfd/ucb1x00-ts.c | 12 +- trunk/drivers/mfd/wm8994-core.c | 18 - trunk/drivers/misc/bmp085.c | 1 - trunk/drivers/misc/tifm_core.c | 2 +- trunk/drivers/misc/vmw_balloon.c | 2 +- trunk/drivers/mmc/core/core.c | 2 +- trunk/drivers/mmc/core/sdio.c | 3 +- trunk/drivers/mmc/host/bfin_sdh.c | 2 +- trunk/drivers/mmc/host/jz4740_mmc.c | 5 +- trunk/drivers/mmc/host/mmci.c | 109 +- trunk/drivers/mmc/host/mmci.h | 5 +- trunk/drivers/mmc/host/msm_sdcc.c | 52 +- trunk/drivers/mmc/host/sdhci-s3c.c | 36 - trunk/drivers/mmc/host/ushc.c | 1 + trunk/drivers/mtd/chips/cfi_cmdset_0001.c | 43 +- trunk/drivers/mtd/chips/jedec_probe.c | 35 +- trunk/drivers/mtd/maps/amd76xrom.c | 1 - trunk/drivers/mtd/mtd_blkdevs.c | 1 + trunk/drivers/mtd/nand/omap2.c | 2 +- trunk/drivers/mtd/nand/r852.c | 2 +- trunk/drivers/mtd/onenand/generic.c | 2 +- trunk/drivers/mtd/onenand/omap2.c | 2 +- trunk/drivers/mtd/sm_ftl.c | 2 +- trunk/drivers/mtd/ubi/build.c | 28 +- trunk/drivers/net/Kconfig | 2 +- trunk/drivers/net/ariadne.c | 5 + trunk/drivers/net/arm/ks8695net.c | 2 +- trunk/drivers/net/atl1c/atl1c_main.c | 1 - trunk/drivers/net/benet/be_cmds.c | 5 - trunk/drivers/net/benet/be_main.c | 4 + trunk/drivers/net/bnx2.c | 21 +- trunk/drivers/net/bnx2.h | 1 - trunk/drivers/net/bnx2x/bnx2x.h | 33 +- trunk/drivers/net/bnx2x/bnx2x_cmn.c | 87 +- trunk/drivers/net/bnx2x/bnx2x_cmn.h | 29 - trunk/drivers/net/bnx2x/bnx2x_ethtool.c | 39 +- trunk/drivers/net/bnx2x/bnx2x_hsi.h | 4 - trunk/drivers/net/bnx2x/bnx2x_init.h | 2 +- trunk/drivers/net/bnx2x/bnx2x_link.c | 234 +-- trunk/drivers/net/bnx2x/bnx2x_main.c | 96 +- trunk/drivers/net/bnx2x/bnx2x_reg.h | 4 - trunk/drivers/net/bnx2x/bnx2x_stats.c | 4 +- trunk/drivers/net/bonding/bond_3ad.c | 36 +- trunk/drivers/net/bonding/bond_3ad.h | 3 +- trunk/drivers/net/bonding/bond_alb.c | 4 - trunk/drivers/net/bonding/bond_main.c | 4 - trunk/drivers/net/can/Kconfig | 4 +- trunk/drivers/net/can/Makefile | 1 - trunk/drivers/net/can/at91_can.c | 138 +- trunk/drivers/net/can/janz-ican3.c | 2 +- trunk/drivers/net/can/mcp251x.c | 2 +- trunk/drivers/net/can/mscan/Kconfig | 2 +- trunk/drivers/net/can/pch_can.c | 5 +- trunk/drivers/net/can/softing/Kconfig | 30 - trunk/drivers/net/can/softing/Makefile | 6 - trunk/drivers/net/can/softing/softing.h | 167 -- trunk/drivers/net/can/softing/softing_cs.c | 360 ---- trunk/drivers/net/can/softing/softing_fw.c | 691 -------- trunk/drivers/net/can/softing/softing_main.c | 894 ---------- .../net/can/softing/softing_platform.h | 40 - trunk/drivers/net/cnic.c | 45 +- trunk/drivers/net/cxgb4/cxgb4_main.c | 3 +- trunk/drivers/net/cxgb4vf/cxgb4vf_main.c | 80 +- trunk/drivers/net/cxgb4vf/t4vf_hw.c | 2 +- trunk/drivers/net/davinci_emac.c | 2 +- trunk/drivers/net/depca.c | 6 +- trunk/drivers/net/dl2k.c | 4 +- trunk/drivers/net/dm9000.c | 9 +- trunk/drivers/net/dnet.c | 3 +- trunk/drivers/net/e1000/e1000_hw.c | 4 +- trunk/drivers/net/e1000/e1000_hw.h | 1 - trunk/drivers/net/e1000/e1000_osdep.h | 3 +- trunk/drivers/net/e1000e/netdev.c | 56 +- trunk/drivers/net/enc28j60.c | 2 +- trunk/drivers/net/fec.c | 3 +- trunk/drivers/net/forcedeth.c | 2 - trunk/drivers/net/gianfar.c | 2 +- trunk/drivers/net/igbvf/vf.c | 2 +- trunk/drivers/net/irda/sh_irda.c | 14 +- trunk/drivers/net/ixgbe/ixgbe_common.c | 3 - trunk/drivers/net/ixgbe/ixgbe_fcoe.c | 53 +- trunk/drivers/net/ixgbe/ixgbe_fcoe.h | 2 - trunk/drivers/net/ixgbe/ixgbe_main.c | 22 +- trunk/drivers/net/ixgbe/ixgbe_sriov.c | 2 + trunk/drivers/net/ixgbe/ixgbe_x540.c | 6 +- trunk/drivers/net/macb.c | 2 +- trunk/drivers/net/macvtap.c | 3 +- trunk/drivers/net/mlx4/main.c | 15 - trunk/drivers/net/niu.c | 61 +- trunk/drivers/net/ns83820.c | 5 +- trunk/drivers/net/pch_gbe/pch_gbe.h | 2 +- trunk/drivers/net/pch_gbe/pch_gbe_main.c | 118 +- trunk/drivers/net/pcmcia/axnet_cs.c | 6 +- trunk/drivers/net/pcmcia/fmvj18x_cs.c | 1 - trunk/drivers/net/r6040.c | 115 +- trunk/drivers/net/r8169.c | 91 +- trunk/drivers/net/sfc/ethtool.c | 22 +- trunk/drivers/net/sis900.c | 1 - trunk/drivers/net/skge.c | 3 + trunk/drivers/net/smsc911x.c | 5 - trunk/drivers/net/stmmac/stmmac_main.c | 4 +- trunk/drivers/net/tg3.c | 103 +- trunk/drivers/net/tg3.h | 3 + trunk/drivers/net/usb/cdc_ncm.c | 244 +-- trunk/drivers/net/usb/dm9601.c | 4 - trunk/drivers/net/usb/hso.c | 12 +- trunk/drivers/net/usb/kaweth.c | 1 - trunk/drivers/net/usb/usbnet.c | 4 +- trunk/drivers/net/virtio_net.c | 27 +- trunk/drivers/net/vmxnet3/vmxnet3_drv.c | 93 +- trunk/drivers/net/vmxnet3/vmxnet3_ethtool.c | 274 ++- trunk/drivers/net/vmxnet3/vmxnet3_int.h | 7 +- trunk/drivers/net/vxge/vxge-config.c | 2 +- trunk/drivers/net/wireless/ath/ath5k/base.c | 4 - trunk/drivers/net/wireless/ath/ath5k/dma.c | 4 +- trunk/drivers/net/wireless/ath/ath5k/pcu.c | 4 +- trunk/drivers/net/wireless/ath/ath5k/phy.c | 143 +- .../net/wireless/ath/ath9k/ar9002_calib.c | 10 +- .../net/wireless/ath/ath9k/ar9002_hw.c | 3 +- .../wireless/ath/ath9k/ar9003_2p2_initvals.h | 2 +- .../net/wireless/ath/ath9k/ar9003_hw.c | 4 +- trunk/drivers/net/wireless/ath/ath9k/ath9k.h | 8 +- .../drivers/net/wireless/ath/ath9k/hif_usb.c | 9 +- trunk/drivers/net/wireless/ath/ath9k/htc.h | 2 +- .../net/wireless/ath/ath9k/htc_drv_init.c | 3 + .../net/wireless/ath/ath9k/htc_drv_main.c | 21 +- .../net/wireless/ath/ath9k/htc_drv_txrx.c | 8 +- trunk/drivers/net/wireless/ath/ath9k/hw.c | 6 +- trunk/drivers/net/wireless/ath/ath9k/hw.h | 1 - trunk/drivers/net/wireless/ath/ath9k/init.c | 15 +- trunk/drivers/net/wireless/ath/ath9k/mac.c | 5 +- trunk/drivers/net/wireless/ath/ath9k/main.c | 37 +- trunk/drivers/net/wireless/ath/ath9k/xmit.c | 9 +- trunk/drivers/net/wireless/ath/carl9170/rx.c | 2 +- trunk/drivers/net/wireless/ath/carl9170/usb.c | 2 - trunk/drivers/net/wireless/iwlwifi/iwl-3945.c | 67 + trunk/drivers/net/wireless/iwlwifi/iwl-4965.c | 1 - trunk/drivers/net/wireless/iwlwifi/iwl-5000.c | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-6000.c | 2 - .../net/wireless/iwlwifi/iwl-agn-eeprom.c | 13 +- trunk/drivers/net/wireless/iwlwifi/iwl-agn.c | 6 - .../net/wireless/iwmc3200wifi/netdev.c | 2 - trunk/drivers/net/wireless/p54/p54pci.c | 14 +- trunk/drivers/net/wireless/p54/p54usb.c | 1 - trunk/drivers/net/wireless/rndis_wlan.c | 3 - trunk/drivers/net/wireless/rt2x00/rt2800pci.c | 8 - trunk/drivers/net/wireless/rt2x00/rt2800usb.c | 6 - .../net/wireless/rt2x00/rt2x00firmware.c | 1 - trunk/drivers/net/wireless/rt2x00/rt73usb.c | 1 - trunk/drivers/net/wireless/rtlwifi/efuse.c | 40 +- trunk/drivers/net/wireless/rtlwifi/pci.c | 11 +- trunk/drivers/net/wireless/wl1251/main.c | 3 - trunk/drivers/net/wireless/wl12xx/spi.c | 3 +- trunk/drivers/net/xen-netfront.c | 96 +- trunk/drivers/nfc/Kconfig | 2 +- trunk/drivers/nfc/pn544.c | 4 +- trunk/drivers/of/pdt.c | 112 +- trunk/drivers/parport/share.c | 4 +- trunk/drivers/pci/pci-sysfs.c | 3 +- trunk/drivers/pci/pcie/Kconfig | 2 +- trunk/drivers/pci/xen-pcifront.c | 31 +- trunk/drivers/pcmcia/Kconfig | 12 +- trunk/drivers/pcmcia/pcmcia_resource.c | 2 - trunk/drivers/pcmcia/pxa2xx_base.c | 2 +- trunk/drivers/pcmcia/pxa2xx_base.h | 1 - trunk/drivers/pcmcia/pxa2xx_colibri.c | 3 - trunk/drivers/pcmcia/pxa2xx_lubbock.c | 1 - trunk/drivers/platform/x86/Kconfig | 2 +- trunk/drivers/platform/x86/acer-wmi.c | 4 +- trunk/drivers/platform/x86/asus_acpi.c | 8 +- trunk/drivers/platform/x86/dell-laptop.c | 24 +- trunk/drivers/platform/x86/intel_pmic_gpio.c | 116 +- trunk/drivers/platform/x86/intel_scu_ipc.c | 8 +- .../drivers/platform/x86/intel_scu_ipcutil.c | 2 +- trunk/drivers/platform/x86/tc1100-wmi.c | 2 +- trunk/drivers/platform/x86/thinkpad_acpi.c | 8 +- trunk/drivers/pps/clients/pps-ktimer.c | 2 + trunk/drivers/pps/clients/pps_parport.c | 2 +- trunk/drivers/pps/generators/Kconfig | 2 +- .../drivers/pps/generators/pps_gen_parport.c | 2 +- trunk/drivers/pps/kapi.c | 2 +- trunk/drivers/rapidio/rio-scan.c | 2 - trunk/drivers/rapidio/rio-sysfs.c | 12 +- .../regulator/mc13xxx-regulator-core.c | 2 +- trunk/drivers/regulator/wm831x-dcdc.c | 1 - trunk/drivers/rtc/class.c | 1 - trunk/drivers/rtc/interface.c | 83 +- trunk/drivers/rtc/rtc-at32ap700x.c | 19 +- trunk/drivers/rtc/rtc-at91rm9200.c | 20 +- trunk/drivers/rtc/rtc-at91sam9.c | 20 +- trunk/drivers/rtc/rtc-bfin.c | 21 +- trunk/drivers/rtc/rtc-dev.c | 125 +- trunk/drivers/rtc/rtc-ds1286.c | 41 +- trunk/drivers/rtc/rtc-ds1305.c | 43 +- trunk/drivers/rtc/rtc-ds1307.c | 49 +- trunk/drivers/rtc/rtc-ds1374.c | 37 +- trunk/drivers/rtc/rtc-ds3232.c | 14 +- trunk/drivers/rtc/rtc-m41t80.c | 30 +- trunk/drivers/rtc/rtc-m48t59.c | 21 +- trunk/drivers/rtc/rtc-mrst.c | 31 +- trunk/drivers/rtc/rtc-msm6242.c | 2 +- trunk/drivers/rtc/rtc-mv.c | 20 +- trunk/drivers/rtc/rtc-omap.c | 28 +- trunk/drivers/rtc/rtc-proc.c | 6 +- trunk/drivers/rtc/rtc-rp5c01.c | 2 +- trunk/drivers/rtc/rtc-rs5c372.c | 48 +- trunk/drivers/rtc/rtc-s3c.c | 12 +- trunk/drivers/rtc/rtc-sa1100.c | 22 +- trunk/drivers/rtc/rtc-sh.c | 11 +- trunk/drivers/rtc/rtc-test.c | 21 +- trunk/drivers/rtc/rtc-vr41xx.c | 38 +- trunk/drivers/s390/block/dasd_alias.c | 6 - trunk/drivers/s390/block/dasd_eckd.c | 2 +- trunk/drivers/s390/block/xpram.c | 4 +- trunk/drivers/s390/char/keyboard.c | 3 +- trunk/drivers/s390/char/tape.h | 8 - trunk/drivers/s390/char/tape_34xx.c | 59 +- trunk/drivers/s390/char/tape_3590.c | 83 +- trunk/drivers/s390/cio/qdio_main.c | 4 +- trunk/drivers/s390/net/netiucv.c | 2 +- trunk/drivers/s390/net/qeth_core_main.c | 149 +- trunk/drivers/s390/net/qeth_l2_main.c | 22 +- trunk/drivers/s390/net/qeth_l3_main.c | 22 +- trunk/drivers/s390/net/smsgiucv.c | 2 +- trunk/drivers/scsi/arcmsr/arcmsr.h | 11 +- trunk/drivers/scsi/arcmsr/arcmsr_attr.c | 2 +- trunk/drivers/scsi/arcmsr/arcmsr_hba.c | 114 +- trunk/drivers/scsi/libsas/sas_scsi_host.c | 1 - trunk/drivers/scsi/mpt2sas/mpt2sas_base.c | 19 +- trunk/drivers/scsi/mpt2sas/mpt2sas_scsih.c | 64 +- trunk/drivers/scsi/qla2xxx/qla_attr.c | 5 +- trunk/drivers/scsi/qla2xxx/qla_init.c | 10 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 10 +- trunk/drivers/scsi/scsi_debug.c | 2 +- trunk/drivers/scsi/scsi_lib.c | 2 +- trunk/drivers/scsi/scsi_transport_fc.c | 2 +- trunk/drivers/{tty => }/serial/21285.c | 0 trunk/drivers/{tty => }/serial/68328serial.c | 29 +- trunk/drivers/{tty => }/serial/68328serial.h | 0 trunk/drivers/{tty => }/serial/68360serial.c | 1 - trunk/drivers/{tty => }/serial/8250.c | 3 +- trunk/drivers/{tty => }/serial/8250.h | 0 trunk/drivers/{tty => }/serial/8250_accent.c | 0 trunk/drivers/{tty => }/serial/8250_acorn.c | 0 trunk/drivers/{tty => }/serial/8250_boca.c | 0 trunk/drivers/{tty => }/serial/8250_early.c | 0 .../{tty => }/serial/8250_exar_st16c554.c | 0 .../drivers/{tty => }/serial/8250_fourport.c | 0 trunk/drivers/{tty => }/serial/8250_gsc.c | 0 trunk/drivers/{tty => }/serial/8250_hp300.c | 0 trunk/drivers/{tty => }/serial/8250_hub6.c | 0 trunk/drivers/{tty => }/serial/8250_mca.c | 0 trunk/drivers/{tty => }/serial/8250_pci.c | 0 trunk/drivers/{tty => }/serial/8250_pnp.c | 0 trunk/drivers/{tty => }/serial/Kconfig | 5 +- trunk/drivers/{tty => }/serial/Makefile | 0 .../{tty => }/serial/altera_jtaguart.c | 0 trunk/drivers/{tty => }/serial/altera_uart.c | 0 trunk/drivers/{tty => }/serial/amba-pl010.c | 0 trunk/drivers/{tty => }/serial/amba-pl011.c | 0 trunk/drivers/{tty => }/serial/apbuart.c | 0 trunk/drivers/{tty => }/serial/apbuart.h | 0 trunk/drivers/{tty => }/serial/atmel_serial.c | 0 trunk/drivers/{tty => }/serial/bcm63xx_uart.c | 0 trunk/drivers/{tty => }/serial/bfin_5xx.c | 15 +- .../{tty => }/serial/bfin_sport_uart.c | 0 .../{tty => }/serial/bfin_sport_uart.h | 0 trunk/drivers/{tty => }/serial/clps711x.c | 0 .../{tty => }/serial/cpm_uart/Makefile | 0 .../{tty => }/serial/cpm_uart/cpm_uart.h | 0 .../{tty => }/serial/cpm_uart/cpm_uart_core.c | 0 .../{tty => }/serial/cpm_uart/cpm_uart_cpm1.c | 0 .../{tty => }/serial/cpm_uart/cpm_uart_cpm1.h | 0 .../{tty => }/serial/cpm_uart/cpm_uart_cpm2.c | 0 .../{tty => }/serial/cpm_uart/cpm_uart_cpm2.h | 0 trunk/drivers/{tty => }/serial/crisv10.c | 0 trunk/drivers/{tty => }/serial/crisv10.h | 0 trunk/drivers/{tty => }/serial/dz.c | 0 trunk/drivers/{tty => }/serial/dz.h | 0 trunk/drivers/{tty => }/serial/icom.c | 0 trunk/drivers/{tty => }/serial/icom.h | 0 trunk/drivers/{tty => }/serial/ifx6x60.c | 0 trunk/drivers/{tty => }/serial/ifx6x60.h | 0 trunk/drivers/{tty => }/serial/imx.c | 0 trunk/drivers/{tty => }/serial/ioc3_serial.c | 0 trunk/drivers/{tty => }/serial/ioc4_serial.c | 0 trunk/drivers/{tty => }/serial/ip22zilog.c | 0 trunk/drivers/{tty => }/serial/ip22zilog.h | 0 trunk/drivers/{tty => }/serial/jsm/Makefile | 0 trunk/drivers/{tty => }/serial/jsm/jsm.h | 0 .../drivers/{tty => }/serial/jsm/jsm_driver.c | 0 trunk/drivers/{tty => }/serial/jsm/jsm_neo.c | 0 trunk/drivers/{tty => }/serial/jsm/jsm_tty.c | 0 trunk/drivers/{tty => }/serial/kgdboc.c | 0 trunk/drivers/{tty => }/serial/m32r_sio.c | 0 trunk/drivers/{tty => }/serial/m32r_sio.h | 0 trunk/drivers/{tty => }/serial/m32r_sio_reg.h | 0 trunk/drivers/{tty => }/serial/max3100.c | 2 +- trunk/drivers/{tty => }/serial/max3107-aava.c | 0 trunk/drivers/{tty => }/serial/max3107.c | 2 +- trunk/drivers/{tty => }/serial/max3107.h | 0 trunk/drivers/{tty => }/serial/mcf.c | 0 trunk/drivers/{tty => }/serial/mfd.c | 0 trunk/drivers/{tty => }/serial/mpc52xx_uart.c | 0 trunk/drivers/{tty => }/serial/mpsc.c | 0 trunk/drivers/{tty => }/serial/mrst_max3110.c | 0 trunk/drivers/{tty => }/serial/mrst_max3110.h | 0 trunk/drivers/{tty => }/serial/msm_serial.c | 0 trunk/drivers/{tty => }/serial/msm_serial.h | 0 trunk/drivers/{tty => }/serial/mux.c | 0 trunk/drivers/{tty => }/serial/netx-serial.c | 0 trunk/drivers/{tty => }/serial/nwpserial.c | 0 trunk/drivers/{tty => }/serial/of_serial.c | 0 trunk/drivers/{tty => }/serial/omap-serial.c | 0 trunk/drivers/{tty => }/serial/pch_uart.c | 0 trunk/drivers/{tty => }/serial/pmac_zilog.c | 0 trunk/drivers/{tty => }/serial/pmac_zilog.h | 0 trunk/drivers/{tty => }/serial/pnx8xxx_uart.c | 0 trunk/drivers/{tty => }/serial/pxa.c | 0 trunk/drivers/{tty => }/serial/s3c2400.c | 0 trunk/drivers/{tty => }/serial/s3c2410.c | 0 trunk/drivers/{tty => }/serial/s3c2412.c | 0 trunk/drivers/{tty => }/serial/s3c2440.c | 0 trunk/drivers/{tty => }/serial/s3c24a0.c | 0 trunk/drivers/{tty => }/serial/s3c6400.c | 0 trunk/drivers/{tty => }/serial/s5pv210.c | 0 trunk/drivers/{tty => }/serial/sa1100.c | 0 trunk/drivers/{tty => }/serial/samsung.c | 0 trunk/drivers/{tty => }/serial/samsung.h | 0 trunk/drivers/{tty => }/serial/sb1250-duart.c | 2 +- trunk/drivers/{tty => }/serial/sc26xx.c | 0 trunk/drivers/{tty => }/serial/serial_core.c | 0 trunk/drivers/{tty => }/serial/serial_cs.c | 1 - .../drivers/{tty => }/serial/serial_ks8695.c | 0 .../drivers/{tty => }/serial/serial_lh7a40x.c | 0 trunk/drivers/{tty => }/serial/serial_txx9.c | 0 trunk/drivers/{tty => }/serial/sh-sci.c | 0 trunk/drivers/{tty => }/serial/sh-sci.h | 0 trunk/drivers/{tty => }/serial/sn_console.c | 0 trunk/drivers/{tty => }/serial/suncore.c | 0 trunk/drivers/{tty => }/serial/suncore.h | 0 trunk/drivers/{tty => }/serial/sunhv.c | 0 trunk/drivers/{tty => }/serial/sunsab.c | 0 trunk/drivers/{tty => }/serial/sunsab.h | 0 trunk/drivers/{tty => }/serial/sunsu.c | 0 trunk/drivers/{tty => }/serial/sunzilog.c | 0 trunk/drivers/{tty => }/serial/sunzilog.h | 0 trunk/drivers/{tty => }/serial/timbuart.c | 0 trunk/drivers/{tty => }/serial/timbuart.h | 0 trunk/drivers/{tty => }/serial/uartlite.c | 0 trunk/drivers/{tty => }/serial/ucc_uart.c | 0 trunk/drivers/{tty => }/serial/vr41xx_siu.c | 0 .../drivers/{tty => }/serial/vt8500_serial.c | 0 trunk/drivers/{tty => }/serial/zs.c | 0 trunk/drivers/{tty => }/serial/zs.h | 0 trunk/drivers/sh/intc/chip.c | 6 +- trunk/drivers/spi/pxa2xx_spi_pci.c | 61 +- trunk/drivers/spi/spi_sh_msiof.c | 6 +- trunk/drivers/ssb/Kconfig | 2 +- trunk/drivers/ssb/pcmcia.c | 2 +- .../ath6kl/miscdrv/ar3kps/ar3kpsconfig.c | 4 +- .../staging/brcm80211/sys/wl_mac80211.c | 57 +- .../staging/brcm80211/sys/wlc_mac80211.c | 14 +- trunk/drivers/staging/brcm80211/sys/wlc_pub.h | 2 - trunk/drivers/staging/comedi/Kconfig | 5 +- trunk/drivers/staging/comedi/drivers/mite.c | 2 + .../drivers/staging/comedi/drivers/ni_6527.c | 4 - .../drivers/staging/comedi/drivers/ni_65xx.c | 4 - .../drivers/staging/comedi/drivers/ni_660x.c | 4 - .../drivers/staging/comedi/drivers/ni_670x.c | 4 - .../drivers/staging/comedi/drivers/ni_labpc.c | 3 +- .../staging/comedi/drivers/ni_pcidio.c | 4 - .../staging/comedi/drivers/ni_pcimio.c | 4 - trunk/drivers/staging/hv/blkvsc_drv.c | 1 - trunk/drivers/staging/hv/netvsc.c | 2 +- trunk/drivers/staging/hv/netvsc_drv.c | 2 +- trunk/drivers/staging/iio/adc/ad7476_core.c | 2 +- trunk/drivers/staging/iio/adc/ad7887_core.c | 2 +- trunk/drivers/staging/iio/adc/ad799x_core.c | 2 +- trunk/drivers/staging/iio/dac/ad5446.c | 2 +- .../staging/intel_sst/intelmid_v2_control.c | 5 +- trunk/drivers/staging/lirc/TODO.lirc_zilog | 36 +- trunk/drivers/staging/lirc/lirc_imon.c | 1 - trunk/drivers/staging/lirc/lirc_it87.c | 1 - trunk/drivers/staging/lirc/lirc_parallel.c | 19 +- trunk/drivers/staging/lirc/lirc_sasem.c | 1 - trunk/drivers/staging/lirc/lirc_serial.c | 3 +- trunk/drivers/staging/lirc/lirc_sir.c | 1 - trunk/drivers/staging/lirc/lirc_zilog.c | 678 ++++---- trunk/drivers/staging/msm/msm_fb.c | 8 +- trunk/drivers/staging/olpc_dcon/olpc_dcon.c | 10 +- trunk/drivers/staging/rt2860/rt_main_dev.c | 2 + trunk/drivers/staging/rt2860/usb_main_dev.c | 1 - trunk/drivers/staging/rtl8712/hal_init.c | 11 +- trunk/drivers/staging/rtl8712/usb_intf.c | 145 +- trunk/drivers/staging/sm7xx/smtcfb.c | 8 +- trunk/drivers/staging/speakup/kobjects.c | 2 +- .../staging/ste_rmi4/synaptics_i2c_rmi4.c | 19 +- .../drivers/staging/tidspbridge/core/io_sm.c | 8 +- .../staging/tidspbridge/core/tiomap3430.c | 15 +- .../tidspbridge/include/dspbridge/io_sm.h | 21 +- trunk/drivers/staging/tm6000/tm6000-video.c | 46 +- trunk/drivers/staging/usbip/stub.h | 1 - trunk/drivers/staging/usbip/stub_dev.c | 18 +- trunk/drivers/staging/usbip/stub_rx.c | 4 +- trunk/drivers/staging/usbip/vhci.h | 6 +- trunk/drivers/staging/usbip/vhci_hcd.c | 54 +- trunk/drivers/staging/usbip/vhci_rx.c | 50 +- .../staging/vme/bridges/Module.symvers | 0 trunk/drivers/staging/xgifb/vb_setmode.c | 6 +- trunk/drivers/staging/zram/zram_drv.c | 4 - trunk/drivers/target/Makefile | 3 +- trunk/drivers/target/target_core_configfs.c | 155 +- trunk/drivers/target/target_core_device.c | 13 +- .../target/target_core_fabric_configfs.c | 92 +- trunk/drivers/target/target_core_iblock.c | 8 +- trunk/drivers/target/target_core_mib.c | 1078 ++++++++++++ trunk/drivers/target/target_core_mib.h | 28 + trunk/drivers/target/target_core_pscsi.c | 4 +- trunk/drivers/target/target_core_tmr.c | 5 - trunk/drivers/target/target_core_tpg.c | 29 +- trunk/drivers/target/target_core_transport.c | 56 +- trunk/drivers/thermal/Kconfig | 1 + trunk/drivers/thermal/thermal_sys.c | 40 +- trunk/drivers/tty/Makefile | 2 - trunk/drivers/tty/hvc/Makefile | 12 - trunk/drivers/tty/n_gsm.c | 1 - trunk/drivers/tty/n_hdlc.c | 90 +- trunk/drivers/tty/sysrq.c | 19 +- trunk/drivers/tty/tty_io.c | 8 +- trunk/drivers/tty/vt/selection.c | 4 +- trunk/drivers/tty/vt/vc_screen.c | 16 +- trunk/drivers/tty/vt/vt.c | 135 +- trunk/drivers/tty/vt/vt_ioctl.c | 60 +- trunk/drivers/usb/class/cdc-acm.c | 1 - trunk/drivers/usb/class/cdc-wdm.c | 2 +- trunk/drivers/usb/core/Kconfig | 6 +- trunk/drivers/usb/core/endpoint.c | 2 +- trunk/drivers/usb/core/hcd-pci.c | 7 +- trunk/drivers/usb/core/hcd.c | 2 +- trunk/drivers/usb/core/hub.c | 44 +- trunk/drivers/usb/core/quirks.c | 8 - trunk/drivers/usb/gadget/Kconfig | 9 +- trunk/drivers/usb/gadget/ci13xxx_udc.c | 268 ++- trunk/drivers/usb/gadget/ci13xxx_udc.h | 9 +- trunk/drivers/usb/gadget/composite.c | 5 +- trunk/drivers/usb/gadget/f_mass_storage.c | 3 +- trunk/drivers/usb/gadget/f_phonet.c | 15 +- trunk/drivers/usb/gadget/pch_udc.c | 127 +- trunk/drivers/usb/gadget/printer.c | 19 +- trunk/drivers/usb/gadget/r8a66597-udc.c | 2 +- trunk/drivers/usb/host/Kconfig | 2 - trunk/drivers/usb/host/ehci-au1xxx.c | 2 +- trunk/drivers/usb/host/ehci-fsl.c | 13 + trunk/drivers/usb/host/ehci-fsl.h | 3 + trunk/drivers/usb/host/ehci-hcd.c | 19 +- trunk/drivers/usb/host/ehci-hub.c | 7 - trunk/drivers/usb/host/ehci-mxc.c | 25 +- trunk/drivers/usb/host/ehci-omap.c | 6 +- trunk/drivers/usb/host/ehci-pci.c | 35 +- trunk/drivers/usb/host/ehci-xilinx-of.c | 1 - trunk/drivers/usb/host/fsl-mph-dr-of.c | 11 +- trunk/drivers/usb/host/sl811-hcd.c | 1 - trunk/drivers/usb/host/xhci-dbg.c | 9 +- trunk/drivers/usb/host/xhci-mem.c | 10 +- trunk/drivers/usb/host/xhci-ring.c | 131 +- trunk/drivers/usb/host/xhci.c | 74 +- trunk/drivers/usb/host/xhci.h | 18 +- trunk/drivers/usb/misc/usbled.c | 2 +- trunk/drivers/usb/misc/uss720.c | 1 + trunk/drivers/usb/musb/blackfin.c | 1 - trunk/drivers/usb/musb/musb_core.c | 11 +- trunk/drivers/usb/musb/musb_core.h | 13 - trunk/drivers/usb/musb/musb_dma.h | 3 - trunk/drivers/usb/musb/musb_gadget.c | 71 +- trunk/drivers/usb/musb/musb_gadget.h | 8 +- trunk/drivers/usb/musb/musb_host.c | 11 +- trunk/drivers/usb/musb/musbhsdma.h | 19 +- trunk/drivers/usb/musb/omap2430.c | 1 - trunk/drivers/usb/otg/Kconfig | 2 - trunk/drivers/usb/otg/nop-usb-xceiv.c | 2 - trunk/drivers/usb/otg/ulpi.c | 2 +- trunk/drivers/usb/serial/ch341.c | 10 - trunk/drivers/usb/serial/cp210x.c | 16 +- trunk/drivers/usb/serial/digi_acceleport.c | 10 + trunk/drivers/usb/serial/ftdi_sio.c | 39 +- trunk/drivers/usb/serial/ftdi_sio_ids.h | 32 +- trunk/drivers/usb/serial/generic.c | 20 - trunk/drivers/usb/serial/io_edgeport.c | 4 +- trunk/drivers/usb/serial/io_tables.h | 1 - trunk/drivers/usb/serial/iuu_phoenix.c | 1 - trunk/drivers/usb/serial/keyspan.h | 4 - trunk/drivers/usb/serial/keyspan_pda.c | 17 + trunk/drivers/usb/serial/moto_modem.c | 1 - trunk/drivers/usb/serial/option.c | 23 +- trunk/drivers/usb/serial/oti6858.c | 1 - trunk/drivers/usb/serial/pl2303.c | 12 - trunk/drivers/usb/serial/pl2303.h | 1 - trunk/drivers/usb/serial/qcaux.c | 3 - trunk/drivers/usb/serial/siemens_mpi.c | 1 - trunk/drivers/usb/serial/sierra.c | 3 - trunk/drivers/usb/serial/spcp8x5.c | 7 +- trunk/drivers/usb/serial/ti_usb_3410_5052.c | 2 +- trunk/drivers/usb/serial/usb-serial.c | 8 +- trunk/drivers/usb/serial/usb_debug.c | 1 - trunk/drivers/usb/serial/usb_wwan.c | 15 +- trunk/drivers/usb/serial/visor.c | 12 - trunk/drivers/usb/storage/unusual_cypress.h | 5 - trunk/drivers/usb/storage/unusual_devs.h | 32 - trunk/drivers/vhost/net.c | 9 +- trunk/drivers/vhost/vhost.h | 6 +- trunk/drivers/video/Kconfig | 2 +- trunk/drivers/video/arkfb.c | 12 +- trunk/drivers/video/aty/aty128fb.c | 12 +- trunk/drivers/video/aty/atyfb_base.c | 10 +- trunk/drivers/video/aty/radeon_pm.c | 10 +- trunk/drivers/video/backlight/88pm860x_bl.c | 4 +- trunk/drivers/video/backlight/ltv350qv.c | 9 +- trunk/drivers/video/bf537-lq035.c | 58 +- trunk/drivers/video/chipsfb.c | 8 +- trunk/drivers/video/console/Kconfig | 2 +- trunk/drivers/video/console/fbcon.c | 42 +- trunk/drivers/video/console/vgacon.c | 6 +- trunk/drivers/video/da8xx-fb.c | 11 +- trunk/drivers/video/fbmem.c | 12 +- trunk/drivers/video/fbsysfs.c | 20 +- trunk/drivers/video/geode/gxfb_core.c | 8 +- trunk/drivers/video/geode/lxfb_core.c | 8 +- trunk/drivers/video/i810/i810_main.c | 8 +- trunk/drivers/video/jz4740_fb.c | 8 +- trunk/drivers/video/mx3fb.c | 8 +- trunk/drivers/video/nuc900fb.c | 6 +- trunk/drivers/video/nvidia/nvidia.c | 8 +- trunk/drivers/video/ps3fb.c | 16 +- trunk/drivers/video/pxa168fb.c | 6 +- trunk/drivers/video/pxa3xx-gcu.c | 4 +- trunk/drivers/video/s3fb.c | 16 +- trunk/drivers/video/savage/savagefb_driver.c | 8 +- trunk/drivers/video/sh_mobile_hdmi.c | 8 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 4 +- trunk/drivers/video/sm501fb.c | 8 +- trunk/drivers/video/tmiofb.c | 10 +- trunk/drivers/video/via/viafbdev.c | 8 +- trunk/drivers/video/vt8623fb.c | 12 +- trunk/drivers/video/xen-fbfront.c | 4 +- trunk/drivers/virtio/virtio_pci.c | 20 +- trunk/drivers/w1/masters/omap_hdq.c | 28 +- trunk/drivers/watchdog/Kconfig | 6 +- trunk/drivers/watchdog/Makefile | 2 +- trunk/drivers/watchdog/cpwd.c | 2 +- trunk/drivers/watchdog/hpwdt.c | 4 +- .../watchdog/{m54xx_wdt.c => m548x_wdt.c} | 50 +- trunk/drivers/watchdog/sbc_fitpc2_wdt.c | 7 +- trunk/drivers/watchdog/sch311x_wdt.c | 2 +- trunk/drivers/watchdog/w83697ug_wdt.c | 2 +- trunk/drivers/xen/balloon.c | 16 +- trunk/drivers/xen/events.c | 342 ++-- trunk/drivers/xen/manage.c | 143 +- trunk/drivers/xen/platform-pci.c | 3 + trunk/drivers/xen/xenfs/xenbus.c | 31 +- trunk/fs/Kconfig | 4 +- trunk/fs/Makefile | 2 - trunk/fs/afs/write.c | 1 - trunk/fs/aio.c | 52 +- trunk/fs/block_dev.c | 30 +- trunk/fs/btrfs/acl.c | 6 - trunk/fs/btrfs/compression.c | 27 +- trunk/fs/btrfs/ctree.h | 12 - trunk/fs/btrfs/disk-io.c | 15 +- trunk/fs/btrfs/export.c | 10 +- trunk/fs/btrfs/extent-tree.c | 130 +- trunk/fs/btrfs/extent_io.c | 219 +-- trunk/fs/btrfs/extent_io.h | 2 +- trunk/fs/btrfs/extent_map.c | 4 +- trunk/fs/btrfs/file-item.c | 5 - trunk/fs/btrfs/file.c | 117 +- trunk/fs/btrfs/free-space-cache.c | 162 +- trunk/fs/btrfs/inode.c | 173 +- trunk/fs/btrfs/ioctl.c | 36 +- trunk/fs/btrfs/lzo.c | 21 +- trunk/fs/btrfs/ordered-data.c | 2 +- trunk/fs/btrfs/print-tree.c | 1 - trunk/fs/btrfs/relocation.c | 43 +- trunk/fs/btrfs/super.c | 16 +- trunk/fs/btrfs/transaction.c | 5 - trunk/fs/btrfs/tree-log.c | 35 +- trunk/fs/btrfs/volumes.c | 34 +- trunk/fs/ceph/caps.c | 43 +- trunk/fs/ceph/dir.c | 27 +- trunk/fs/ceph/inode.c | 12 +- trunk/fs/ceph/mds_client.c | 10 +- trunk/fs/ceph/snap.c | 14 +- trunk/fs/ceph/super.c | 2 - trunk/fs/ceph/xattr.c | 3 - trunk/fs/cifs/Kconfig | 1 - trunk/fs/cifs/Makefile | 2 +- trunk/fs/cifs/README | 5 - trunk/fs/cifs/cifs_debug.c | 10 +- trunk/fs/cifs/cifs_dfs_ref.c | 10 +- trunk/fs/cifs/cifs_fs_sb.h | 1 - trunk/fs/cifs/cifs_unicode.c | 127 +- trunk/fs/cifs/cifsacl.c | 17 +- trunk/fs/cifs/cifsencrypt.c | 38 +- trunk/fs/cifs/cifsencrypt.h | 33 + trunk/fs/cifs/cifsfs.c | 55 +- trunk/fs/cifs/cifsfs.h | 19 +- trunk/fs/cifs/cifsglob.h | 101 +- trunk/fs/cifs/cifspdu.h | 62 +- trunk/fs/cifs/cifsproto.h | 20 +- trunk/fs/cifs/cifssmb.c | 121 +- trunk/fs/cifs/connect.c | 250 ++- trunk/fs/cifs/file.c | 496 ++---- trunk/fs/cifs/inode.c | 8 +- trunk/fs/cifs/link.c | 59 +- trunk/fs/cifs/md4.c | 205 +++ trunk/fs/cifs/md5.c | 366 ++++ trunk/fs/cifs/md5.h | 38 + trunk/fs/cifs/misc.c | 189 +- trunk/fs/cifs/netmisc.c | 12 +- trunk/fs/cifs/readdir.c | 3 + trunk/fs/cifs/sess.c | 23 +- trunk/fs/cifs/smbdes.c | 1 + trunk/fs/cifs/smbencrypt.c | 92 +- trunk/fs/cifs/transport.c | 481 +++-- trunk/fs/compat.c | 69 +- trunk/fs/dcache.c | 125 +- trunk/fs/direct-io.c | 10 +- trunk/fs/dlm/lowcomms.c | 6 +- trunk/fs/ecryptfs/dentry.c | 22 +- trunk/fs/ecryptfs/ecryptfs_kernel.h | 3 +- trunk/fs/ecryptfs/file.c | 1 - trunk/fs/ecryptfs/inode.c | 138 +- trunk/fs/eventfd.c | 12 +- trunk/fs/eventpoll.c | 111 +- trunk/fs/exec.c | 18 +- trunk/fs/exofs/inode.c | 2 + trunk/fs/exofs/namei.c | 8 +- trunk/fs/exportfs/expfs.c | 11 +- trunk/fs/ext2/namei.c | 9 +- trunk/fs/ext3/namei.c | 7 + trunk/fs/ext3/super.c | 26 +- trunk/fs/ext4/ext4.h | 10 - trunk/fs/ext4/extents.c | 10 +- trunk/fs/ext4/file.c | 60 +- trunk/fs/ext4/mballoc.c | 100 +- trunk/fs/ext4/namei.c | 7 + trunk/fs/ext4/page-io.c | 36 +- trunk/fs/ext4/super.c | 93 +- trunk/fs/fat/inode.c | 4 +- trunk/fs/fat/namei_vfat.c | 4 +- trunk/fs/fcntl.c | 37 +- trunk/fs/fhandle.c | 265 --- trunk/fs/file_table.c | 57 +- trunk/fs/fuse/dir.c | 9 +- trunk/fs/fuse/file.c | 52 +- trunk/fs/fuse/fuse_i.h | 6 +- trunk/fs/fuse/inode.c | 4 +- trunk/fs/gfs2/dentry.c | 2 +- trunk/fs/gfs2/export.c | 8 +- trunk/fs/gfs2/glock.c | 4 +- trunk/fs/gfs2/inode.c | 72 +- trunk/fs/gfs2/inode.h | 1 + trunk/fs/gfs2/main.c | 11 +- trunk/fs/gfs2/super.c | 1 - trunk/fs/hfs/dir.c | 50 +- trunk/fs/hfsplus/extents.c | 4 +- trunk/fs/hfsplus/part_tbl.c | 4 +- trunk/fs/hfsplus/super.c | 106 +- trunk/fs/hfsplus/wrapper.c | 4 +- trunk/fs/inode.c | 31 +- trunk/fs/internal.h | 15 +- trunk/fs/ioctl.c | 7 - trunk/fs/isofs/export.c | 8 +- trunk/fs/jbd2/journal.c | 9 +- trunk/fs/jbd2/transaction.c | 21 +- trunk/fs/jfs/namei.c | 5 +- trunk/fs/lockd/host.c | 9 +- trunk/fs/minix/namei.c | 8 +- trunk/fs/namei.c | 1545 +++++++++-------- trunk/fs/namespace.c | 18 +- trunk/fs/nfs/callback.c | 109 +- trunk/fs/nfs/callback.h | 4 +- trunk/fs/nfs/callback_proc.c | 12 +- trunk/fs/nfs/callback_xdr.c | 5 +- trunk/fs/nfs/client.c | 15 +- trunk/fs/nfs/delegation.c | 6 +- trunk/fs/nfs/direct.c | 34 +- trunk/fs/nfs/inode.c | 33 +- trunk/fs/nfs/internal.h | 3 +- trunk/fs/nfs/nfs3acl.c | 4 +- trunk/fs/nfs/nfs3xdr.c | 5 +- trunk/fs/nfs/nfs4_fs.h | 10 +- trunk/fs/nfs/nfs4filelayoutdev.c | 13 +- trunk/fs/nfs/nfs4proc.c | 161 +- trunk/fs/nfs/nfs4state.c | 35 +- trunk/fs/nfs/nfs4xdr.c | 13 +- trunk/fs/nfs/nfsroot.c | 29 +- trunk/fs/nfs/pnfs.c | 2 +- trunk/fs/nfs/unlink.c | 2 +- trunk/fs/nfs/write.c | 4 +- trunk/fs/nfs_common/nfsacl.c | 54 +- trunk/fs/nfsctl.c | 21 +- trunk/fs/nfsd/nfs4callback.c | 8 +- trunk/fs/nfsd/nfs4state.c | 187 +- trunk/fs/nfsd/nfs4xdr.c | 12 +- trunk/fs/nfsd/state.h | 5 +- trunk/fs/nfsd/vfs.c | 21 +- trunk/fs/nilfs2/btnode.c | 5 + trunk/fs/nilfs2/btnode.h | 1 + trunk/fs/nilfs2/mdt.c | 4 +- trunk/fs/nilfs2/namei.c | 8 +- trunk/fs/nilfs2/page.c | 13 + trunk/fs/nilfs2/page.h | 1 + trunk/fs/nilfs2/segment.c | 3 +- trunk/fs/nilfs2/super.c | 5 +- trunk/fs/ntfs/mft.c | 11 +- trunk/fs/ocfs2/dcache.c | 2 +- trunk/fs/ocfs2/export.c | 8 +- trunk/fs/ocfs2/journal.h | 6 +- trunk/fs/ocfs2/refcounttree.c | 9 +- trunk/fs/ocfs2/super.c | 33 +- trunk/fs/open.c | 136 +- trunk/fs/partitions/ldm.c | 5 - trunk/fs/partitions/mac.c | 17 +- trunk/fs/partitions/osf.c | 12 +- trunk/fs/pipe.c | 10 +- trunk/fs/posix_acl.c | 17 +- trunk/fs/proc/Kconfig | 6 +- trunk/fs/proc/array.c | 3 + trunk/fs/proc/base.c | 30 + trunk/fs/proc/consoles.c | 4 +- trunk/fs/proc/inode.c | 8 +- trunk/fs/proc/proc_devtree.c | 2 +- trunk/fs/proc/proc_sysctl.c | 7 +- trunk/fs/quota/dquot.c | 18 +- trunk/fs/quota/quota.c | 41 +- trunk/fs/reiserfs/inode.c | 7 +- trunk/fs/reiserfs/namei.c | 6 +- trunk/fs/reiserfs/super.c | 17 +- trunk/fs/reiserfs/xattr.c | 2 + trunk/fs/squashfs/block.c | 8 - trunk/fs/squashfs/xz_wrapper.c | 6 + trunk/fs/squashfs/zlib_wrapper.c | 6 + trunk/fs/stat.c | 7 +- trunk/fs/statfs.c | 176 +- trunk/fs/super.c | 5 - trunk/fs/sysfs/Kconfig | 2 +- trunk/fs/sysv/namei.c | 8 +- trunk/fs/ubifs/dir.c | 18 + trunk/fs/udf/namei.c | 18 +- trunk/fs/ufs/namei.c | 9 +- trunk/fs/xfs/linux-2.6/xfs_discard.c | 2 - trunk/fs/xfs/linux-2.6/xfs_export.c | 4 +- trunk/fs/xfs/linux-2.6/xfs_ioctl.c | 31 +- trunk/fs/xfs/quota/xfs_qm.c | 46 +- trunk/fs/xfs/xfs_alloc.h | 16 - trunk/fs/xfs/xfs_bmap.c | 61 +- trunk/fs/xfs/xfs_buf_item.c | 12 +- trunk/fs/xfs/xfs_extfree_item.c | 3 +- trunk/fs/xfs/xfs_fsops.c | 3 - trunk/fs/xfs/xfs_iomap.c | 7 +- trunk/fs/xfs/xfs_log.h | 2 +- trunk/fs/xfs/xfs_log_cil.c | 15 +- trunk/fs/xfs/xfs_trans.c | 41 +- trunk/include/acpi/acexcep.h | 2 +- trunk/include/acpi/acnames.h | 2 +- trunk/include/acpi/acoutput.h | 2 +- trunk/include/acpi/acpi.h | 2 +- trunk/include/acpi/acpiosxf.h | 2 +- trunk/include/acpi/acpixf.h | 4 +- trunk/include/acpi/acrestyp.h | 2 +- trunk/include/acpi/actbl.h | 2 +- trunk/include/acpi/actbl1.h | 2 +- trunk/include/acpi/actbl2.h | 2 +- trunk/include/acpi/actypes.h | 2 +- trunk/include/acpi/platform/acenv.h | 2 +- trunk/include/acpi/platform/acgcc.h | 2 +- trunk/include/acpi/platform/aclinux.h | 2 +- trunk/include/asm-generic/fcntl.h | 4 - trunk/include/asm-generic/futex.h | 7 +- trunk/include/asm-generic/pgtable.h | 2 - trunk/include/asm-generic/unistd.h | 6 +- trunk/include/asm-generic/vmlinux.lds.h | 31 +- trunk/include/drm/drmP.h | 4 +- trunk/include/drm/drm_crtc.h | 7 - trunk/include/drm/drm_pciids.h | 1 + trunk/include/drm/radeon_drm.h | 1 - trunk/include/keys/rxrpc-type.h | 1 + trunk/include/linux/Kbuild | 1 - trunk/include/linux/acpi.h | 3 + trunk/include/linux/acpi_io.h | 16 - trunk/include/linux/blkdev.h | 5 +- trunk/include/linux/blktrace_api.h | 1 + trunk/include/linux/caif/Kbuild | 2 - trunk/include/linux/ceph/messenger.h | 2 +- trunk/include/linux/console.h | 6 +- trunk/include/linux/dcbnl.h | 2 +- trunk/include/linux/debugobjects.h | 5 +- trunk/include/linux/exportfs.h | 9 +- trunk/include/linux/fcntl.h | 1 - trunk/include/linux/file.h | 2 - trunk/include/linux/freezer.h | 2 +- trunk/include/linux/fs.h | 28 +- trunk/include/linux/gfp.h | 13 +- trunk/include/linux/huge_mm.h | 3 +- trunk/include/linux/ieee80211.h | 2 +- trunk/include/linux/input/bu21013.h | 4 + trunk/include/linux/input/matrix_keypad.h | 4 +- trunk/include/linux/interrupt.h | 3 +- trunk/include/linux/irq.h | 3 +- trunk/include/linux/irqdesc.h | 14 + trunk/include/linux/kernel.h | 34 +- trunk/include/linux/klist.h | 2 +- trunk/include/linux/kmemcheck.h | 2 +- trunk/include/linux/kthread.h | 2 +- trunk/include/linux/list.h | 12 +- trunk/include/linux/lockdep.h | 11 +- trunk/include/linux/memcontrol.h | 9 - trunk/include/linux/mfd/wm8994/core.h | 1 - trunk/include/linux/mm.h | 2 - trunk/include/linux/mmc/sh_mmcif.h | 4 +- trunk/include/linux/module.h | 31 +- trunk/include/linux/moduleparam.h | 6 +- trunk/include/linux/mroute.h | 1 - trunk/include/linux/mroute6.h | 1 - trunk/include/linux/namei.h | 7 +- trunk/include/linux/netdevice.h | 3 - trunk/include/linux/nfs_fs_sb.h | 10 +- trunk/include/linux/nfsacl.h | 4 +- trunk/include/linux/oprofile.h | 13 +- trunk/include/linux/plist.h | 47 +- trunk/include/linux/pm.h | 2 - trunk/include/linux/pm_wakeup.h | 25 +- trunk/include/linux/posix_acl.h | 1 - trunk/include/linux/ptrace.h | 3 + trunk/include/linux/quota.h | 5 +- trunk/include/linux/quotaops.h | 4 +- trunk/include/linux/res_counter.h | 20 - trunk/include/linux/rio_regs.h | 4 +- trunk/include/linux/rtc.h | 15 +- trunk/include/linux/rwlock_types.h | 8 + trunk/include/linux/rwsem-spinlock.h | 31 +- trunk/include/linux/rwsem.h | 53 +- trunk/include/linux/sched.h | 2 +- trunk/include/linux/security.h | 6 +- trunk/include/linux/spinlock_types.h | 8 + trunk/include/linux/sunrpc/bc_xprt.h | 13 + trunk/include/linux/sunrpc/sched.h | 1 - trunk/include/linux/sunrpc/svc_xprt.h | 1 + trunk/include/linux/syscalls.h | 36 +- trunk/include/linux/sysctl.h | 14 +- trunk/include/linux/sysrq.h | 3 - trunk/include/linux/thermal.h | 8 - trunk/include/linux/tracepoint.h | 35 +- trunk/include/linux/usb/cdc.h | 23 +- trunk/include/linux/usb/hcd.h | 1 - trunk/include/linux/usb/msm_hsusb_hw.h | 4 + trunk/include/linux/usb/serial.h | 3 - trunk/include/linux/virtio_config.h | 5 +- trunk/include/linux/virtio_console.h | 3 +- trunk/include/linux/workqueue.h | 8 +- trunk/include/media/mt9v011.h | 17 - trunk/include/media/rc-core.h | 3 - trunk/include/media/saa7146.h | 2 +- trunk/include/media/v4l2-common.h | 13 +- trunk/include/media/v4l2-ctrls.h | 7 +- trunk/include/media/v4l2-subdev.h | 23 +- trunk/include/net/bluetooth/hci_core.h | 1 - trunk/include/net/genetlink.h | 3 +- trunk/include/net/ipv6.h | 12 - .../net/netfilter/nf_conntrack_ecache.h | 3 + trunk/include/net/netfilter/nf_tproxy_core.h | 12 +- trunk/include/net/sch_generic.h | 10 +- trunk/include/net/sctp/user.h | 1 - trunk/include/net/sock.h | 2 - trunk/include/pcmcia/ds.h | 1 - trunk/include/scsi/scsi.h | 1 - trunk/include/sound/wm8903.h | 10 +- trunk/include/target/target_core_base.h | 28 +- trunk/include/target/target_core_transport.h | 4 - trunk/include/trace/events/block.h | 6 +- trunk/include/trace/ftrace.h | 24 +- trunk/include/xen/events.h | 8 +- trunk/include/xen/interface/io/blkif.h | 37 +- trunk/include/xen/interface/xen.h | 4 +- trunk/include/xen/xen-ops.h | 6 +- trunk/init/Kconfig | 72 +- trunk/init/calibrate.c | 6 +- trunk/init/main.c | 13 +- trunk/kernel/audit_watch.c | 85 +- trunk/kernel/capability.c | 2 +- trunk/kernel/cpuset.c | 7 +- trunk/kernel/cred.c | 18 +- trunk/kernel/futex.c | 147 +- trunk/kernel/hrtimer.c | 6 - trunk/kernel/irq/Kconfig | 3 + trunk/kernel/irq/handle.c | 111 ++ trunk/kernel/irq/internals.h | 6 - trunk/kernel/irq/irqdesc.c | 11 +- trunk/kernel/irq/manage.c | 13 +- trunk/kernel/irq/migration.c | 14 +- trunk/kernel/irq/pm.c | 3 + trunk/kernel/irq/resend.c | 2 +- trunk/kernel/lockdep.c | 18 +- trunk/kernel/module.c | 16 +- trunk/kernel/params.c | 65 +- trunk/kernel/perf_event.c | 29 +- trunk/kernel/power/main.c | 2 +- trunk/kernel/power/process.c | 6 +- trunk/kernel/power/snapshot.c | 7 +- trunk/kernel/printk.c | 154 +- trunk/kernel/ptrace.c | 8 +- trunk/kernel/rtmutex-debug.c | 1 + trunk/kernel/rtmutex-tester.c | 40 +- trunk/kernel/rtmutex.c | 318 ++-- trunk/kernel/rtmutex_common.h | 16 +- trunk/kernel/sched.c | 27 +- trunk/kernel/sched_autogroup.c | 32 - trunk/kernel/sched_autogroup.h | 4 - trunk/kernel/sched_debug.c | 42 +- trunk/kernel/sched_fair.c | 126 +- trunk/kernel/sched_rt.c | 16 +- trunk/kernel/smp.c | 62 +- trunk/kernel/sys.c | 3 +- trunk/kernel/sys_ni.c | 5 - trunk/kernel/sysctl.c | 18 +- trunk/kernel/sysctl_binary.c | 19 +- trunk/kernel/time/tick-broadcast.c | 10 - trunk/kernel/time/tick-common.c | 6 +- trunk/kernel/time/tick-internal.h | 3 - trunk/kernel/time/tick-sched.c | 7 +- trunk/kernel/time/timer_list.c | 4 +- trunk/kernel/timer.c | 37 +- trunk/kernel/trace/blktrace.c | 23 +- trunk/kernel/trace/trace_events.c | 12 +- trunk/kernel/trace/trace_export.c | 6 +- trunk/kernel/trace/trace_irqsoff.c | 8 + trunk/kernel/trace/trace_syscalls.c | 19 +- trunk/kernel/tracepoint.c | 31 +- trunk/kernel/watchdog.c | 53 +- trunk/kernel/workqueue.c | 63 +- trunk/lib/Kconfig.debug | 8 +- trunk/lib/debugobjects.c | 9 +- trunk/lib/list_debug.c | 39 +- trunk/lib/nlattr.c | 2 +- trunk/lib/plist.c | 135 +- trunk/lib/radix-tree.c | 7 +- trunk/lib/rbtree.c | 3 - trunk/lib/rwsem.c | 10 +- trunk/lib/swiotlb.c | 6 +- trunk/lib/textsearch.c | 10 +- trunk/lib/xz/Kconfig | 12 +- trunk/mm/Kconfig | 2 +- trunk/mm/compaction.c | 11 - trunk/mm/huge_memory.c | 83 +- trunk/mm/kmemleak-test.c | 6 +- trunk/mm/kmemleak.c | 13 +- trunk/mm/memblock.c | 10 +- trunk/mm/memcontrol.c | 266 +-- trunk/mm/memory-failure.c | 94 +- trunk/mm/memory.c | 34 +- trunk/mm/mempolicy.c | 16 +- trunk/mm/migrate.c | 15 +- trunk/mm/mlock.c | 7 - trunk/mm/mremap.c | 4 +- trunk/mm/page_alloc.c | 23 +- trunk/mm/pgtable-generic.c | 1 - trunk/mm/rmap.c | 54 +- trunk/mm/shmem.c | 4 +- trunk/mm/swapfile.c | 2 +- trunk/mm/truncate.c | 13 +- trunk/mm/vmscan.c | 40 +- trunk/net/Makefile | 4 +- trunk/net/batman-adv/main.h | 6 +- trunk/net/batman-adv/packet.h | 14 +- trunk/net/batman-adv/types.h | 4 +- trunk/net/batman-adv/unicast.c | 21 +- trunk/net/batman-adv/vis.c | 14 +- trunk/net/bluetooth/hci_conn.c | 16 +- trunk/net/bluetooth/hci_core.c | 4 - trunk/net/bluetooth/hci_event.c | 9 +- trunk/net/bluetooth/l2cap.c | 85 +- trunk/net/bluetooth/rfcomm/core.c | 3 +- trunk/net/bluetooth/rfcomm/tty.c | 2 - trunk/net/bridge/Kconfig | 1 - trunk/net/bridge/br_fdb.c | 4 +- trunk/net/bridge/br_input.c | 2 +- trunk/net/bridge/br_multicast.c | 42 +- trunk/net/bridge/br_private.h | 3 +- trunk/net/caif/cfcnfg.c | 9 +- trunk/net/caif/chnl_net.c | 4 +- trunk/net/can/bcm.c | 3 - trunk/net/can/raw.c | 3 - trunk/net/ceph/messenger.c | 133 +- trunk/net/ceph/pagevec.c | 18 +- trunk/net/core/dev.c | 62 +- trunk/net/core/dev_addr_lists.c | 2 +- trunk/net/core/ethtool.c | 2 +- trunk/net/core/pktgen.c | 2 +- trunk/net/core/rtnetlink.c | 8 +- trunk/net/core/scm.c | 2 +- trunk/net/core/skbuff.c | 9 +- trunk/net/dcb/dcbnl.c | 24 +- trunk/net/dccp/input.c | 7 +- trunk/net/dns_resolver/dns_key.c | 20 +- trunk/net/dsa/dsa.c | 2 +- trunk/net/econet/af_econet.c | 4 +- trunk/net/ipv4/af_inet.c | 16 - trunk/net/ipv4/arp.c | 11 +- trunk/net/ipv4/devinet.c | 32 +- trunk/net/ipv4/inet_diag.c | 2 +- trunk/net/ipv4/inet_timewait_sock.c | 2 - trunk/net/ipv4/inetpeer.c | 2 +- trunk/net/ipv4/ip_gre.c | 3 +- trunk/net/ipv4/ipip.c | 2 +- trunk/net/ipv4/ipmr.c | 76 - trunk/net/ipv4/netfilter/arpt_mangle.c | 6 +- trunk/net/ipv4/raw.c | 19 - trunk/net/ipv4/route.c | 7 - trunk/net/ipv4/tcp_input.c | 7 +- trunk/net/ipv4/tcp_ipv4.c | 1 + trunk/net/ipv4/tcp_output.c | 2 +- trunk/net/ipv6/addrconf.c | 84 +- trunk/net/ipv6/ip6_tunnel.c | 1 - trunk/net/ipv6/ip6mr.c | 75 - trunk/net/ipv6/netfilter/ip6t_LOG.c | 2 +- trunk/net/ipv6/raw.c | 19 - trunk/net/ipv6/route.c | 37 +- trunk/net/ipv6/sit.c | 2 +- trunk/net/ipv6/sysctl_net_ipv6.c | 9 +- trunk/net/ipv6/xfrm6_policy.c | 6 - trunk/net/mac80211/Kconfig | 6 +- trunk/net/mac80211/agg-rx.c | 11 +- trunk/net/mac80211/cfg.c | 2 - trunk/net/mac80211/ieee80211_i.h | 2 +- trunk/net/mac80211/iface.c | 1 - trunk/net/mac80211/main.c | 12 +- trunk/net/mac80211/mlme.c | 6 - trunk/net/mac80211/status.c | 7 +- trunk/net/mac80211/tx.c | 5 +- trunk/net/mac80211/util.c | 2 - trunk/net/netfilter/core.c | 3 +- trunk/net/netfilter/ipvs/ip_vs_ctl.c | 4 +- trunk/net/netfilter/nf_conntrack_core.c | 11 +- trunk/net/netfilter/nf_conntrack_ecache.c | 3 - trunk/net/netfilter/nf_conntrack_netlink.c | 5 +- trunk/net/netfilter/nf_log.c | 4 - trunk/net/netfilter/nf_tproxy_core.c | 27 +- trunk/net/netfilter/xt_TPROXY.c | 22 +- trunk/net/netfilter/xt_iprange.c | 16 +- trunk/net/netfilter/xt_socket.c | 13 +- trunk/net/netlink/af_netlink.c | 18 +- trunk/net/netlink/genetlink.c | 2 +- trunk/net/rds/ib_send.c | 5 +- trunk/net/rds/loop.c | 11 +- trunk/net/rfkill/Kconfig | 4 +- trunk/net/rxrpc/ar-input.c | 1 - trunk/net/rxrpc/ar-key.c | 8 +- trunk/net/sched/sch_cbq.c | 3 +- trunk/net/sched/sch_drr.c | 2 +- trunk/net/sched/sch_dsmark.c | 2 +- trunk/net/sched/sch_fifo.c | 5 +- trunk/net/sched/sch_generic.c | 1 - trunk/net/sched/sch_hfsc.c | 2 +- trunk/net/sched/sch_htb.c | 12 +- trunk/net/sched/sch_multiq.c | 2 +- trunk/net/sched/sch_netem.c | 3 +- trunk/net/sched/sch_prio.c | 2 +- trunk/net/sched/sch_red.c | 11 +- trunk/net/sched/sch_sfq.c | 5 +- trunk/net/sched/sch_tbf.c | 2 +- trunk/net/sched/sch_teql.c | 3 +- trunk/net/sctp/sm_make_chunk.c | 10 +- trunk/net/sctp/socket.c | 4 +- trunk/net/sunrpc/sched.c | 75 +- trunk/net/sunrpc/svcsock.c | 4 +- .../net/sunrpc/xprtrdma/svc_rdma_transport.c | 1 - trunk/net/sunrpc/xprtsock.c | 3 +- trunk/net/unix/af_unix.c | 19 +- trunk/net/unix/garbage.c | 2 +- trunk/net/wireless/Kconfig | 2 +- trunk/net/wireless/wext-compat.c | 4 +- trunk/net/x25/x25_facilities.c | 28 +- trunk/net/x25/x25_in.c | 14 +- trunk/net/x25/x25_link.c | 5 +- trunk/net/xfrm/xfrm_policy.c | 7 +- trunk/net/xfrm/xfrm_user.c | 2 +- trunk/scripts/basic/fixdep.c | 21 +- trunk/scripts/checkpatch.pl | 5 + trunk/scripts/mod/sumversion.c | 19 +- trunk/scripts/package/builddeb | 6 +- trunk/scripts/rt-tester/rt-tester.py | 2 + .../scripts/rt-tester/t2-l1-2rt-sameprio.tst | 5 + trunk/scripts/rt-tester/t2-l1-pi.tst | 5 + trunk/scripts/rt-tester/t2-l1-signal.tst | 5 + .../scripts/rt-tester/t2-l2-2rt-deadlock.tst | 5 + trunk/scripts/rt-tester/t3-l1-pi-1rt.tst | 5 + trunk/scripts/rt-tester/t3-l1-pi-2rt.tst | 5 + trunk/scripts/rt-tester/t3-l1-pi-3rt.tst | 5 + trunk/scripts/rt-tester/t3-l1-pi-signal.tst | 5 + trunk/scripts/rt-tester/t3-l1-pi-steal.tst | 5 + trunk/scripts/rt-tester/t3-l2-pi.tst | 5 + trunk/scripts/rt-tester/t4-l2-pi-deboost.tst | 5 + .../t5-l4-pi-boost-deboost-setsched.tst | 5 + .../rt-tester/t5-l4-pi-boost-deboost.tst | 5 + trunk/security/keys/Makefile | 4 +- trunk/security/keys/compat.c | 17 +- .../keys/{encrypted.c => encrypted_defined.c} | 2 +- .../keys/{encrypted.h => encrypted_defined.h} | 0 trunk/security/keys/gc.c | 14 +- trunk/security/keys/internal.h | 32 +- trunk/security/keys/key.c | 328 ++-- trunk/security/keys/keyctl.c | 355 ++-- trunk/security/keys/keyring.c | 326 ++-- trunk/security/keys/permission.c | 33 +- trunk/security/keys/proc.c | 17 +- trunk/security/keys/process_keys.c | 135 +- trunk/security/keys/request_key.c | 166 +- trunk/security/keys/request_key_auth.c | 62 +- .../keys/{trusted.c => trusted_defined.c} | 54 +- .../keys/{trusted.h => trusted_defined.h} | 0 trunk/security/keys/user_defined.c | 32 +- trunk/security/security.c | 5 +- trunk/security/selinux/hooks.c | 6 +- trunk/security/selinux/ss/conditional.c | 2 +- trunk/security/selinux/ss/policydb.c | 4 +- trunk/sound/arm/aaci.c | 56 +- trunk/sound/atmel/ac97c.c | 5 +- trunk/sound/core/hrtimer.c | 7 +- trunk/sound/core/jack.c | 1 - trunk/sound/drivers/mtpav.c | 3 +- trunk/sound/oss/Makefile | 4 +- trunk/sound/pci/au88x0/au88x0_core.c | 14 +- trunk/sound/pci/azt3328.c | 38 +- trunk/sound/pci/hda/hda_eld.c | 2 +- trunk/sound/pci/hda/hda_intel.c | 3 +- trunk/sound/pci/hda/patch_cirrus.c | 2 - trunk/sound/pci/hda/patch_conexant.c | 217 +-- trunk/sound/pci/hda/patch_hdmi.c | 7 - trunk/sound/pci/hda/patch_realtek.c | 66 +- trunk/sound/pci/hda/patch_sigmatel.c | 15 +- trunk/sound/pci/hda/patch_via.c | 2 +- trunk/sound/pci/ice1712/delta.c | 7 - trunk/sound/pci/oxygen/oxygen.h | 2 - trunk/sound/pci/oxygen/oxygen_mixer.c | 2 - trunk/sound/pci/oxygen/xonar_cs43xx.c | 2 +- trunk/sound/pci/oxygen/xonar_dg.c | 36 - trunk/sound/pcmcia/pdaudiocf/pdaudiocf.h | 2 +- trunk/sound/pcmcia/vx/vxp_ops.c | 2 +- trunk/sound/soc/atmel/snd-soc-afeb9260.c | 2 +- trunk/sound/soc/blackfin/Kconfig | 11 +- trunk/sound/soc/blackfin/bf5xx-ac97.c | 4 +- trunk/sound/soc/blackfin/bf5xx-ssm2602.c | 2 +- trunk/sound/soc/blackfin/bf5xx-tdm.c | 10 +- trunk/sound/soc/codecs/cq93vc.c | 2 +- trunk/sound/soc/codecs/cx20442.c | 3 - trunk/sound/soc/codecs/wm8903.c | 2 +- trunk/sound/soc/codecs/wm8903.h | 2 +- trunk/sound/soc/codecs/wm8978.c | 14 +- trunk/sound/soc/codecs/wm8994.c | 273 +-- trunk/sound/soc/codecs/wm8995.c | 2 +- trunk/sound/soc/codecs/wm9081.c | 5 - trunk/sound/soc/codecs/wm_hubs.c | 18 +- trunk/sound/soc/davinci/davinci-evm.c | 20 +- trunk/sound/soc/imx/eukrea-tlv320.c | 2 +- trunk/sound/soc/omap/am3517evm.c | 2 +- trunk/sound/soc/omap/ams-delta.c | 2 + trunk/sound/soc/pxa/corgi.c | 4 +- trunk/sound/soc/pxa/e740_wm9705.c | 4 +- trunk/sound/soc/pxa/e750_wm9705.c | 4 +- trunk/sound/soc/pxa/e800_wm9712.c | 4 +- trunk/sound/soc/pxa/em-x270.c | 4 +- trunk/sound/soc/pxa/mioa701_wm9713.c | 4 +- trunk/sound/soc/pxa/palm27x.c | 4 +- trunk/sound/soc/pxa/poodle.c | 2 +- trunk/sound/soc/pxa/spitz.c | 4 +- trunk/sound/soc/pxa/tosa.c | 4 +- trunk/sound/soc/pxa/z2.c | 3 +- trunk/sound/soc/pxa/zylonite.c | 4 +- .../sound/soc/samsung/neo1973_gta02_wm8753.c | 6 +- trunk/sound/soc/samsung/neo1973_wm8753.c | 6 +- .../sound/soc/samsung/s3c24xx_simtec_hermes.c | 4 +- .../soc/samsung/s3c24xx_simtec_tlv320aic23.c | 4 +- trunk/sound/soc/samsung/s3c24xx_uda134x.c | 2 +- trunk/sound/soc/soc-core.c | 5 +- trunk/sound/soc/soc-dapm.c | 31 +- trunk/sound/usb/caiaq/audio.c | 2 +- trunk/sound/usb/caiaq/midi.c | 2 +- trunk/sound/usb/card.c | 4 - trunk/sound/usb/mixer.c | 4 +- trunk/sound/usb/pcm.c | 7 +- trunk/sound/usb/quirks-table.h | 7 - trunk/sound/usb/quirks.c | 3 +- trunk/sound/usb/usbaudio.h | 1 - trunk/tools/perf/builtin-record.c | 4 +- trunk/tools/perf/builtin-timechart.c | 6 +- trunk/tools/perf/builtin-top.c | 2 +- trunk/tools/perf/util/event.c | 18 +- trunk/tools/perf/util/event.h | 6 +- trunk/tools/perf/util/evsel.c | 2 +- trunk/tools/perf/util/header.c | 11 +- trunk/tools/perf/util/hist.c | 7 +- trunk/tools/perf/util/svghelper.c | 6 +- trunk/tools/perf/util/symbol.c | 2 +- trunk/tools/power/x86/turbostat/turbostat.c | 200 +-- trunk/usr/Kconfig | 18 +- 2528 files changed, 20959 insertions(+), 29853 deletions(-) delete mode 100644 trunk/Documentation/ABI/testing/sysfs-platform-at91 rename trunk/Documentation/{devicetree => powerpc}/booting-without-of.txt (90%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/4xx/cpm.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/4xx/emac.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/4xx/ndfc.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/4xx/ppc440spe-adma.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/4xx/reboot.txt (100%) rename trunk/Documentation/{devicetree/bindings/net => powerpc/dts-bindings}/can/sja1000.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc/fsl => powerpc/dts-bindings}/ecm.txt (100%) rename trunk/Documentation/{devicetree/bindings => powerpc/dts-bindings}/eeprom.txt (100%) rename trunk/Documentation/{devicetree/bindings/pci => powerpc/dts-bindings/fsl}/83xx-512x-pci.txt (100%) rename trunk/Documentation/{devicetree/bindings/gpio => powerpc/dts-bindings/fsl}/8xxx_gpio.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/board.txt (100%) rename trunk/Documentation/{devicetree/bindings/net/can/mpc5xxx-mscan.txt => powerpc/dts-bindings/fsl/can.txt} (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/cpm.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/cpm/brg.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/cpm/i2c.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/cpm/pic.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/cpm/usb.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/gpio.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/network.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/qe.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/qe/firmware.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/qe/par_io.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/qe/pincfg.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/qe/ucc.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/qe/usb.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/cpm_qe/serial.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/diu.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/dma.txt (100%) rename trunk/Documentation/{devicetree/bindings/mmc/fsl-esdhc.txt => powerpc/dts-bindings/fsl/esdhc.txt} (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/gtm.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/guts.txt (100%) rename trunk/Documentation/{devicetree/bindings/i2c/fsl-i2c.txt => powerpc/dts-bindings/fsl/i2c.txt} (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/lbc.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/mcm.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/mcu-mpc8349emitx.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/mpc5121-psc.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/mpc5200.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/mpic.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/msi-pic.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/pmc.txt (100%) rename trunk/Documentation/{devicetree/bindings/ata/fsl-sata.txt => powerpc/dts-bindings/fsl/sata.txt} (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/sec.txt (100%) rename trunk/Documentation/{devicetree/bindings/spi/fsl-spi.txt => powerpc/dts-bindings/fsl/spi.txt} (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/fsl/ssi.txt (100%) rename trunk/Documentation/{devicetree/bindings/net/fsl-tsec-phy.txt => powerpc/dts-bindings/fsl/tsec.txt} (100%) rename trunk/Documentation/{devicetree/bindings/mtd/fsl-upm-nand.txt => powerpc/dts-bindings/fsl/upm-nand.txt} (100%) rename trunk/Documentation/{devicetree/bindings/usb/fsl-usb.txt => powerpc/dts-bindings/fsl/usb.txt} (100%) rename trunk/Documentation/{devicetree/bindings => powerpc/dts-bindings}/gpio/gpio.txt (100%) rename trunk/Documentation/{devicetree/bindings => powerpc/dts-bindings}/gpio/led.txt (100%) rename trunk/Documentation/{devicetree/bindings/net/mdio-gpio.txt => powerpc/dts-bindings/gpio/mdio.txt} (100%) rename trunk/Documentation/{devicetree/bindings => powerpc/dts-bindings}/marvell.txt (100%) rename trunk/Documentation/{devicetree/bindings/mmc => powerpc/dts-bindings}/mmc-spi-slot.txt (100%) rename trunk/Documentation/{devicetree/bindings/mtd => powerpc/dts-bindings}/mtd-physmap.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/nintendo/gamecube.txt (100%) rename trunk/Documentation/{devicetree/bindings/powerpc => powerpc/dts-bindings}/nintendo/wii.txt (100%) rename trunk/Documentation/{devicetree/bindings/net => powerpc/dts-bindings}/phy.txt (100%) rename trunk/Documentation/{devicetree/bindings/spi => powerpc/dts-bindings}/spi-bus.txt (100%) rename trunk/Documentation/{devicetree/bindings/usb => powerpc/dts-bindings}/usb-ehci.txt (100%) rename trunk/Documentation/{devicetree/bindings => powerpc/dts-bindings}/xilinx.txt (100%) delete mode 100644 trunk/arch/arm/mach-tegra/include/mach/kbc.h create mode 100644 trunk/arch/arm/plat-s5p/include/plat/sysmmu.h delete mode 100644 trunk/arch/m68knommu/lib/memmove.c delete mode 100644 trunk/arch/x86/include/asm/ce4100.h create mode 100644 trunk/arch/x86/include/asm/system_64.h rename trunk/drivers/{tty/hvc => char}/hvc_beat.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_console.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_console.h (100%) rename trunk/drivers/{tty/hvc => char}/hvc_dcc.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_irq.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_iseries.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_iucv.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_rtas.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_tile.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_udbg.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_vio.c (100%) rename trunk/drivers/{tty/hvc => char}/hvc_xen.c (100%) rename trunk/drivers/{tty/hvc => char}/hvcs.c (100%) rename trunk/drivers/{tty/hvc => char}/hvsi.c (100%) delete mode 100644 trunk/drivers/input/keyboard/tegra-kbc.c create mode 100644 trunk/drivers/media/radio/radio-gemtek-pci.c create mode 100644 trunk/drivers/media/video/mt9v011.h create mode 100644 trunk/drivers/media/video/tda9875.c delete mode 100644 trunk/drivers/net/can/softing/Kconfig delete mode 100644 trunk/drivers/net/can/softing/Makefile delete mode 100644 trunk/drivers/net/can/softing/softing.h delete mode 100644 trunk/drivers/net/can/softing/softing_cs.c delete mode 100644 trunk/drivers/net/can/softing/softing_fw.c delete mode 100644 trunk/drivers/net/can/softing/softing_main.c delete mode 100644 trunk/drivers/net/can/softing/softing_platform.h rename trunk/drivers/{tty => }/serial/21285.c (100%) rename trunk/drivers/{tty => }/serial/68328serial.c (98%) rename trunk/drivers/{tty => }/serial/68328serial.h (100%) rename trunk/drivers/{tty => }/serial/68360serial.c (99%) rename trunk/drivers/{tty => }/serial/8250.c (99%) rename trunk/drivers/{tty => }/serial/8250.h (100%) rename trunk/drivers/{tty => }/serial/8250_accent.c (100%) rename trunk/drivers/{tty => }/serial/8250_acorn.c (100%) rename trunk/drivers/{tty => }/serial/8250_boca.c (100%) rename trunk/drivers/{tty => }/serial/8250_early.c (100%) rename trunk/drivers/{tty => }/serial/8250_exar_st16c554.c (100%) rename trunk/drivers/{tty => }/serial/8250_fourport.c (100%) rename trunk/drivers/{tty => }/serial/8250_gsc.c (100%) rename trunk/drivers/{tty => }/serial/8250_hp300.c (100%) rename trunk/drivers/{tty => }/serial/8250_hub6.c (100%) rename trunk/drivers/{tty => }/serial/8250_mca.c (100%) rename trunk/drivers/{tty => }/serial/8250_pci.c (100%) rename trunk/drivers/{tty => }/serial/8250_pnp.c (100%) rename trunk/drivers/{tty => }/serial/Kconfig (99%) rename trunk/drivers/{tty => }/serial/Makefile (100%) rename trunk/drivers/{tty => }/serial/altera_jtaguart.c (100%) rename trunk/drivers/{tty => }/serial/altera_uart.c (100%) rename trunk/drivers/{tty => }/serial/amba-pl010.c (100%) rename trunk/drivers/{tty => }/serial/amba-pl011.c (100%) rename trunk/drivers/{tty => }/serial/apbuart.c (100%) rename trunk/drivers/{tty => }/serial/apbuart.h (100%) rename trunk/drivers/{tty => }/serial/atmel_serial.c (100%) rename trunk/drivers/{tty => }/serial/bcm63xx_uart.c (100%) rename trunk/drivers/{tty => }/serial/bfin_5xx.c (99%) rename trunk/drivers/{tty => }/serial/bfin_sport_uart.c (100%) rename trunk/drivers/{tty => }/serial/bfin_sport_uart.h (100%) rename trunk/drivers/{tty => }/serial/clps711x.c (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/Makefile (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/cpm_uart.h (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/cpm_uart_core.c (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/cpm_uart_cpm1.c (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/cpm_uart_cpm1.h (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/cpm_uart_cpm2.c (100%) rename trunk/drivers/{tty => }/serial/cpm_uart/cpm_uart_cpm2.h (100%) rename trunk/drivers/{tty => }/serial/crisv10.c (100%) rename trunk/drivers/{tty => }/serial/crisv10.h (100%) rename trunk/drivers/{tty => }/serial/dz.c (100%) rename trunk/drivers/{tty => }/serial/dz.h (100%) rename trunk/drivers/{tty => }/serial/icom.c (100%) rename trunk/drivers/{tty => }/serial/icom.h (100%) rename trunk/drivers/{tty => }/serial/ifx6x60.c (100%) rename trunk/drivers/{tty => }/serial/ifx6x60.h (100%) rename trunk/drivers/{tty => }/serial/imx.c (100%) rename trunk/drivers/{tty => }/serial/ioc3_serial.c (100%) rename trunk/drivers/{tty => }/serial/ioc4_serial.c (100%) rename trunk/drivers/{tty => }/serial/ip22zilog.c (100%) rename trunk/drivers/{tty => }/serial/ip22zilog.h (100%) rename trunk/drivers/{tty => }/serial/jsm/Makefile (100%) rename trunk/drivers/{tty => }/serial/jsm/jsm.h (100%) rename trunk/drivers/{tty => }/serial/jsm/jsm_driver.c (100%) rename trunk/drivers/{tty => }/serial/jsm/jsm_neo.c (100%) rename trunk/drivers/{tty => }/serial/jsm/jsm_tty.c (100%) rename trunk/drivers/{tty => }/serial/kgdboc.c (100%) rename trunk/drivers/{tty => }/serial/m32r_sio.c (100%) rename trunk/drivers/{tty => }/serial/m32r_sio.h (100%) rename trunk/drivers/{tty => }/serial/m32r_sio_reg.h (100%) rename trunk/drivers/{tty => }/serial/max3100.c (99%) rename trunk/drivers/{tty => }/serial/max3107-aava.c (100%) rename trunk/drivers/{tty => }/serial/max3107.c (99%) rename trunk/drivers/{tty => }/serial/max3107.h (100%) rename trunk/drivers/{tty => }/serial/mcf.c (100%) rename trunk/drivers/{tty => }/serial/mfd.c (100%) rename trunk/drivers/{tty => }/serial/mpc52xx_uart.c (100%) rename trunk/drivers/{tty => }/serial/mpsc.c (100%) rename trunk/drivers/{tty => }/serial/mrst_max3110.c (100%) rename trunk/drivers/{tty => }/serial/mrst_max3110.h (100%) rename trunk/drivers/{tty => }/serial/msm_serial.c (100%) rename trunk/drivers/{tty => }/serial/msm_serial.h (100%) rename trunk/drivers/{tty => }/serial/mux.c (100%) rename trunk/drivers/{tty => }/serial/netx-serial.c (100%) rename trunk/drivers/{tty => }/serial/nwpserial.c (100%) rename trunk/drivers/{tty => }/serial/of_serial.c (100%) rename trunk/drivers/{tty => }/serial/omap-serial.c (100%) rename trunk/drivers/{tty => }/serial/pch_uart.c (100%) rename trunk/drivers/{tty => }/serial/pmac_zilog.c (100%) rename trunk/drivers/{tty => }/serial/pmac_zilog.h (100%) rename trunk/drivers/{tty => }/serial/pnx8xxx_uart.c (100%) rename trunk/drivers/{tty => }/serial/pxa.c (100%) rename trunk/drivers/{tty => }/serial/s3c2400.c (100%) rename trunk/drivers/{tty => }/serial/s3c2410.c (100%) rename trunk/drivers/{tty => }/serial/s3c2412.c (100%) rename trunk/drivers/{tty => }/serial/s3c2440.c (100%) rename trunk/drivers/{tty => }/serial/s3c24a0.c (100%) rename trunk/drivers/{tty => }/serial/s3c6400.c (100%) rename trunk/drivers/{tty => }/serial/s5pv210.c (100%) rename trunk/drivers/{tty => }/serial/sa1100.c (100%) rename trunk/drivers/{tty => }/serial/samsung.c (100%) rename trunk/drivers/{tty => }/serial/samsung.h (100%) rename trunk/drivers/{tty => }/serial/sb1250-duart.c (99%) rename trunk/drivers/{tty => }/serial/sc26xx.c (100%) rename trunk/drivers/{tty => }/serial/serial_core.c (100%) rename trunk/drivers/{tty => }/serial/serial_cs.c (99%) rename trunk/drivers/{tty => }/serial/serial_ks8695.c (100%) rename trunk/drivers/{tty => }/serial/serial_lh7a40x.c (100%) rename trunk/drivers/{tty => }/serial/serial_txx9.c (100%) rename trunk/drivers/{tty => }/serial/sh-sci.c (100%) rename trunk/drivers/{tty => }/serial/sh-sci.h (100%) rename trunk/drivers/{tty => }/serial/sn_console.c (100%) rename trunk/drivers/{tty => }/serial/suncore.c (100%) rename trunk/drivers/{tty => }/serial/suncore.h (100%) rename trunk/drivers/{tty => }/serial/sunhv.c (100%) rename trunk/drivers/{tty => }/serial/sunsab.c (100%) rename trunk/drivers/{tty => }/serial/sunsab.h (100%) rename trunk/drivers/{tty => }/serial/sunsu.c (100%) rename trunk/drivers/{tty => }/serial/sunzilog.c (100%) rename trunk/drivers/{tty => }/serial/sunzilog.h (100%) rename trunk/drivers/{tty => }/serial/timbuart.c (100%) rename trunk/drivers/{tty => }/serial/timbuart.h (100%) rename trunk/drivers/{tty => }/serial/uartlite.c (100%) rename trunk/drivers/{tty => }/serial/ucc_uart.c (100%) rename trunk/drivers/{tty => }/serial/vr41xx_siu.c (100%) rename trunk/drivers/{tty => }/serial/vt8500_serial.c (100%) rename trunk/drivers/{tty => }/serial/zs.c (100%) rename trunk/drivers/{tty => }/serial/zs.h (100%) create mode 100644 trunk/drivers/staging/vme/bridges/Module.symvers create mode 100644 trunk/drivers/target/target_core_mib.c create mode 100644 trunk/drivers/target/target_core_mib.h delete mode 100644 trunk/drivers/tty/hvc/Makefile rename trunk/drivers/watchdog/{m54xx_wdt.c => m548x_wdt.c} (80%) create mode 100644 trunk/fs/cifs/cifsencrypt.h create mode 100644 trunk/fs/cifs/md4.c create mode 100644 trunk/fs/cifs/md5.c create mode 100644 trunk/fs/cifs/md5.h delete mode 100644 trunk/fs/fhandle.c delete mode 100644 trunk/include/linux/acpi_io.h delete mode 100644 trunk/include/linux/caif/Kbuild delete mode 100644 trunk/include/media/mt9v011.h rename trunk/security/keys/{encrypted.c => encrypted_defined.c} (99%) rename trunk/security/keys/{encrypted.h => encrypted_defined.h} (100%) rename trunk/security/keys/{trusted.c => trusted_defined.c} (98%) rename trunk/security/keys/{trusted.h => trusted_defined.h} (100%) diff --git a/[refs] b/[refs] index c716f5043161..8781d09cff43 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0586bed3e8563c2eb89bc7256e30ce633ae06cfb +refs/heads/master: dda99116969142cc41e945a1047a419b937536af diff --git a/trunk/.gitignore b/trunk/.gitignore index 5d56a3fd0de6..8faa6c02b39e 100644 --- a/trunk/.gitignore +++ b/trunk/.gitignore @@ -28,7 +28,6 @@ modules.builtin *.gz *.bz2 *.lzma -*.xz *.lzo *.patch *.gcno diff --git a/trunk/.mailmap b/trunk/.mailmap index 1eba28acab64..581fd39193a2 100644 --- a/trunk/.mailmap +++ b/trunk/.mailmap @@ -23,7 +23,6 @@ Andy Adamson Arnaud Patard Arnd Bergmann Axel Dyks -Axel Lin Ben Gardner Ben M Cahill Björn Steinbrink diff --git a/trunk/Documentation/ABI/testing/sysfs-platform-at91 b/trunk/Documentation/ABI/testing/sysfs-platform-at91 deleted file mode 100644 index 4cc6a865ae66..000000000000 --- a/trunk/Documentation/ABI/testing/sysfs-platform-at91 +++ /dev/null @@ -1,25 +0,0 @@ -What: /sys/devices/platform/at91_can/net//mb0_id -Date: January 2011 -KernelVersion: 2.6.38 -Contact: Marc Kleine-Budde -Description: - Value representing the can_id of mailbox 0. - - Default: 0x7ff (standard frame) - - Due to a chip bug (errata 50.2.6.3 & 50.3.5.3 in - "AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09") the - contents of mailbox 0 may be send under certain - conditions (even if disabled or in rx mode). - - The workaround in the errata suggests not to use the - mailbox and load it with an unused identifier. - - In order to use an extended can_id add the - CAN_EFF_FLAG (0x80000000U) to the can_id. Example: - - - standard id 0x7ff: - echo 0x7ff > /sys/class/net/can0/mb0_id - - - extended id 0x1fffffff: - echo 0x9fffffff > /sys/class/net/can0/mb0_id diff --git a/trunk/Documentation/DocBook/device-drivers.tmpl b/trunk/Documentation/DocBook/device-drivers.tmpl index 36f63d4a0a06..35447e081736 100644 --- a/trunk/Documentation/DocBook/device-drivers.tmpl +++ b/trunk/Documentation/DocBook/device-drivers.tmpl @@ -217,8 +217,8 @@ X!Isound/sound_firmware.c 16x50 UART Driver !Iinclude/linux/serial_core.h -!Edrivers/tty/serial/serial_core.c -!Edrivers/tty/serial/8250.c +!Edrivers/serial/serial_core.c +!Edrivers/serial/8250.c diff --git a/trunk/Documentation/DocBook/drm.tmpl b/trunk/Documentation/DocBook/drm.tmpl index c27915893974..2861055afd7a 100644 --- a/trunk/Documentation/DocBook/drm.tmpl +++ b/trunk/Documentation/DocBook/drm.tmpl @@ -73,8 +73,8 @@ services. - The core of every DRM driver is struct drm_driver. Drivers - will typically statically initialize a drm_driver structure, + The core of every DRM driver is struct drm_device. Drivers + will typically statically initialize a drm_device structure, then pass it to drm_init() at load time. @@ -84,7 +84,7 @@ Driver initialization Before calling the DRM initialization routines, the driver must - first create and fill out a struct drm_driver structure. + first create and fill out a struct drm_device structure. static struct drm_driver driver = { diff --git a/trunk/Documentation/DocBook/dvb/dvbapi.xml b/trunk/Documentation/DocBook/dvb/dvbapi.xml index ad8678d48916..e3a97fdd62a6 100644 --- a/trunk/Documentation/DocBook/dvb/dvbapi.xml +++ b/trunk/Documentation/DocBook/dvb/dvbapi.xml @@ -28,7 +28,7 @@ Convergence GmbH - 2009-2011 + 2009-2010 Mauro Carvalho Chehab diff --git a/trunk/Documentation/DocBook/filesystems.tmpl b/trunk/Documentation/DocBook/filesystems.tmpl index f51f28531b8d..5e87ad58c0b5 100644 --- a/trunk/Documentation/DocBook/filesystems.tmpl +++ b/trunk/Documentation/DocBook/filesystems.tmpl @@ -82,11 +82,6 @@ - - Events based on file descriptors -!Efs/eventfd.c - - The Filesystem for Exporting Kernel Objects !Efs/sysfs/file.c diff --git a/trunk/Documentation/DocBook/media.tmpl b/trunk/Documentation/DocBook/media.tmpl index a99088aae1aa..f11048d4053f 100644 --- a/trunk/Documentation/DocBook/media.tmpl +++ b/trunk/Documentation/DocBook/media.tmpl @@ -28,7 +28,7 @@ LINUX MEDIA INFRASTRUCTURE API - 2009-2011 + 2009-2010 LinuxTV Developers @@ -86,7 +86,7 @@ Foundation. A copy of the license is included in the chapter entitled - 2009-2011 + 2009-2010 Mauro Carvalho Chehab diff --git a/trunk/Documentation/DocBook/v4l/dev-rds.xml b/trunk/Documentation/DocBook/v4l/dev-rds.xml index 2427f54397e7..360d2737e649 100644 --- a/trunk/Documentation/DocBook/v4l/dev-rds.xml +++ b/trunk/Documentation/DocBook/v4l/dev-rds.xml @@ -75,7 +75,6 @@ as follows:
- RDS datastructures struct <structname>v4l2_rds_data</structname> @@ -130,11 +129,10 @@ as follows:
Block defines - + - - + V4L2_RDS_BLOCK_MSK diff --git a/trunk/Documentation/DocBook/v4l/v4l2.xml b/trunk/Documentation/DocBook/v4l/v4l2.xml index 9288af96de34..839e93e875ae 100644 --- a/trunk/Documentation/DocBook/v4l/v4l2.xml +++ b/trunk/Documentation/DocBook/v4l/v4l2.xml @@ -100,7 +100,6 @@ Remote Controller chapter. 2008 2009 2010 - 2011 Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab @@ -382,7 +381,7 @@ and discussions on the V4L mailing list. Video for Linux Two API Specification - Revision 2.6.38 + Revision 2.6.33 &sub-common; diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index b3f35e5f9c95..8c594c45b6a1 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -357,6 +357,14 @@ Who: Dave Jones , Matthew Garrett ----------------------------- +What: __do_IRQ all in one fits nothing interrupt handler +When: 2.6.32 +Why: __do_IRQ was kept for easy migration to the type flow handlers. + More than two years of migration time is enough. +Who: Thomas Gleixner + +----------------------------- + What: fakephp and associated sysfs files in /sys/bus/pci/slots/ When: 2011 Why: In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to @@ -603,19 +611,3 @@ Why: The adm9240, w83792d and w83793 hardware monitoring drivers have Who: Jean Delvare ---------------------------- - -What: noswapaccount kernel command line parameter -When: 2.6.40 -Why: The original implementation of memsw feature enabled by - CONFIG_CGROUP_MEM_RES_CTLR_SWAP could be disabled by the noswapaccount - kernel parameter (introduced in 2.6.29-rc1). Later on, this decision - turned out to be not ideal because we cannot have the feature compiled - in and disabled by default and let only interested to enable it - (e.g. general distribution kernels might need it). Therefore we have - added swapaccount[=0|1] parameter (introduced in 2.6.37) which provides - the both possibilities. If we remove noswapaccount we will have - less command line parameters with the same functionality and we - can also cleanup the parameter handling a bit (). -Who: Michal Hocko - ----------------------------- diff --git a/trunk/Documentation/filesystems/ntfs.txt b/trunk/Documentation/filesystems/ntfs.txt index 933bc66ccff1..6ef8cf3bc9a3 100644 --- a/trunk/Documentation/filesystems/ntfs.txt +++ b/trunk/Documentation/filesystems/ntfs.txt @@ -460,8 +460,6 @@ Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. 2.1.30: - Fix writev() (it kept writing the first segment over and over again instead of moving onto subsequent segments). - - Fix crash in ntfs_mft_record_alloc() when mapping the new extent mft - record failed. 2.1.29: - Fix a deadlock when mounting read-write. 2.1.28: diff --git a/trunk/Documentation/hwmon/jc42 b/trunk/Documentation/hwmon/jc42 index a22ecf48f255..0e76ef12e4c6 100644 --- a/trunk/Documentation/hwmon/jc42 +++ b/trunk/Documentation/hwmon/jc42 @@ -51,8 +51,7 @@ Supported chips: * JEDEC JC 42.4 compliant temperature sensor chips Prefix: 'jc42' Addresses scanned: I2C 0x18 - 0x1f - Datasheet: - http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf + Datasheet: - Author: Guenter Roeck @@ -61,11 +60,7 @@ Author: Description ----------- -This driver implements support for JEDEC JC 42.4 compliant temperature sensors, -which are used on many DDR3 memory modules for mobile devices and servers. Some -systems use the sensor to prevent memory overheating by automatically throttling -the memory controller. - +This driver implements support for JEDEC JC 42.4 compliant temperature sensors. The driver auto-detects the chips listed above, but can be manually instantiated to support other JC 42.4 compliant chips. @@ -86,19 +81,15 @@ limits. The chip supports only a single register to configure the hysteresis, which applies to all limits. This register can be written by writing into temp1_crit_hyst. Other hysteresis attributes are read-only. -If the BIOS has configured the sensor for automatic temperature management, it -is likely that it has locked the registers, i.e., that the temperature limits -cannot be changed. - Sysfs entries ------------- temp1_input Temperature (RO) -temp1_min Minimum temperature (RO or RW) -temp1_max Maximum temperature (RO or RW) -temp1_crit Critical high temperature (RO or RW) +temp1_min Minimum temperature (RW) +temp1_max Maximum temperature (RW) +temp1_crit Critical high temperature (RW) -temp1_crit_hyst Critical hysteresis temperature (RO or RW) +temp1_crit_hyst Critical hysteresis temperature (RW) temp1_max_hyst Maximum hysteresis temperature (RO) temp1_min_alarm Temperature low alarm diff --git a/trunk/Documentation/hwmon/k10temp b/trunk/Documentation/hwmon/k10temp index d2b56a4fd1f5..6526eee525a6 100644 --- a/trunk/Documentation/hwmon/k10temp +++ b/trunk/Documentation/hwmon/k10temp @@ -9,8 +9,6 @@ Supported chips: Socket S1G3: Athlon II, Sempron, Turion II * AMD Family 11h processors: Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) -* AMD Family 12h processors: "Llano" -* AMD Family 14h processors: "Brazos" (C/E/G-Series) Prefix: 'k10temp' Addresses scanned: PCI space @@ -19,14 +17,10 @@ Supported chips: http://support.amd.com/us/Processor_TechDocs/31116.pdf BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors: http://support.amd.com/us/Processor_TechDocs/41256.pdf - BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Models 00h-0Fh Processors: - http://support.amd.com/us/Processor_TechDocs/43170.pdf Revision Guide for AMD Family 10h Processors: http://support.amd.com/us/Processor_TechDocs/41322.pdf Revision Guide for AMD Family 11h Processors: http://support.amd.com/us/Processor_TechDocs/41788.pdf - Revision Guide for AMD Family 14h Models 00h-0Fh Processors: - http://support.amd.com/us/Processor_TechDocs/47534.pdf AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks: http://support.amd.com/us/Processor_TechDocs/43373.pdf AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet: @@ -40,7 +34,7 @@ Description ----------- This driver permits reading of the internal temperature sensor of AMD -Family 10h/11h/12h/14h processors. +Family 10h and 11h processors. All these processors have a sensor, but on those for Socket F or AM2+, the sensor may return inconsistent values (erratum 319). The driver diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index f4a04c0c7edc..b72e071a3e5b 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -43,11 +43,11 @@ parameter is applicable: AVR32 AVR32 architecture is enabled. AX25 Appropriate AX.25 support is enabled. BLACKFIN Blackfin architecture is enabled. - DRM Direct Rendering Management support is enabled. - DYNAMIC_DEBUG Build in debug messages and enable them at runtime EDD BIOS Enhanced Disk Drive Services (EDD) is enabled EFI EFI Partitioning (GPT) is enabled EIDE EIDE/ATAPI support is enabled. + DRM Direct Rendering Management support is enabled. + DYNAMIC_DEBUG Build in debug messages and enable them at runtime FB The frame buffer device is enabled. GCOV GCOV profiling is enabled. HW Appropriate hardware is enabled. @@ -144,11 +144,6 @@ a fixed number of characters. This limit depends on the architecture and is between 256 and 4096 characters. It is defined in the file ./include/asm/setup.h as COMMAND_LINE_SIZE. -Finally, the [KMG] suffix is commonly described after a number of kernel -parameter values. These 'K', 'M', and 'G' letters represent the _binary_ -multipliers 'Kilo', 'Mega', and 'Giga', equalling 2^10, 2^20, and 2^30 -bytes respectively. Such letter suffixes can also be entirely omitted. - acpi= [HW,ACPI,X86] Advanced Configuration and Power Interface @@ -550,20 +545,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted. Format: ,,,[,] - crashkernel=size[KMG][@offset[KMG]] - [KNL] Using kexec, Linux can switch to a 'crash kernel' - upon panic. This parameter reserves the physical - memory region [offset, offset + size] for that kernel - image. If '@offset' is omitted, then a suitable offset - is selected automatically. Check - Documentation/kdump/kdump.txt for further details. + crashkernel=nn[KMG]@ss[KMG] + [KNL] Reserve a chunk of physical memory to + hold a kernel to switch to with kexec on panic. crashkernel=range1:size1[,range2:size2,...][@offset] [KNL] Same as above, but depends on the memory in the running system. The syntax of range is start-[end] where start and end are both a memory unit (amount[KMG]). See also - Documentation/kdump/kdump.txt for an example. + Documentation/kdump/kdump.txt for a example. cs89x0_dma= [HW,NET] Format: @@ -1271,9 +1262,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. 6 (KERN_INFO) informational 7 (KERN_DEBUG) debug-level messages - log_buf_len=n[KMG] Sets the size of the printk ring buffer, - in bytes. n must be a power of two. The default - size is set in the kernel config file. + log_buf_len=n Sets the size of the printk ring buffer, in bytes. + Format: { n | nk | nM } + n must be a power of two. The default size + is set in the kernel config file. logo.nologo [FB] Disables display of the built-in Linux logo. This may be used to provide more screen space for diff --git a/trunk/Documentation/lguest/lguest.c b/trunk/Documentation/lguest/lguest.c index d9da7e148538..dc73bc54cc4e 100644 --- a/trunk/Documentation/lguest/lguest.c +++ b/trunk/Documentation/lguest/lguest.c @@ -39,9 +39,6 @@ #include #include #include -#include -#include - #include #include #include @@ -301,27 +298,20 @@ static void *map_zeroed_pages(unsigned int num) /* * We use a private mapping (ie. if we write to the page, it will be - * copied). We allocate an extra two pages PROT_NONE to act as guard - * pages against read/write attempts that exceed allocated space. + * copied). */ - addr = mmap(NULL, getpagesize() * (num+2), - PROT_NONE, MAP_PRIVATE, fd, 0); - + addr = mmap(NULL, getpagesize() * num, + PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, fd, 0); if (addr == MAP_FAILED) err(1, "Mmapping %u pages of /dev/zero", num); - if (mprotect(addr + getpagesize(), getpagesize() * num, - PROT_READ|PROT_WRITE) == -1) - err(1, "mprotect rw %u pages failed", num); - /* * One neat mmap feature is that you can close the fd, and it * stays mapped. */ close(fd); - /* Return address after PROT_NONE page */ - return addr + getpagesize(); + return addr; } /* Get some more pages for a device. */ @@ -353,7 +343,7 @@ static void map_at(int fd, void *addr, unsigned long offset, unsigned long len) * done to it. This allows us to share untouched memory between * Guests. */ - if (mmap(addr, len, PROT_READ|PROT_WRITE, + if (mmap(addr, len, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_FIXED|MAP_PRIVATE, fd, offset) != MAP_FAILED) return; @@ -583,10 +573,10 @@ static void *_check_pointer(unsigned long addr, unsigned int size, unsigned int line) { /* - * Check if the requested address and size exceeds the allocated memory, - * or addr + size wraps around. + * We have to separately check addr and addr+size, because size could + * be huge and addr + size might wrap around. */ - if ((addr + size) > guest_limit || (addr + size) < addr) + if (addr >= guest_limit || addr + size >= guest_limit) errx(1, "%s:%i: Invalid address %#lx", __FILE__, line, addr); /* * We return a pointer for the caller's convenience, now we know it's @@ -1882,8 +1872,6 @@ static struct option opts[] = { { "block", 1, NULL, 'b' }, { "rng", 0, NULL, 'r' }, { "initrd", 1, NULL, 'i' }, - { "username", 1, NULL, 'u' }, - { "chroot", 1, NULL, 'c' }, { NULL }, }; static void usage(void) @@ -1906,12 +1894,6 @@ int main(int argc, char *argv[]) /* If they specify an initrd file to load. */ const char *initrd_name = NULL; - /* Password structure for initgroups/setres[gu]id */ - struct passwd *user_details = NULL; - - /* Directory to chroot to */ - char *chroot_path = NULL; - /* Save the args: we "reboot" by execing ourselves again. */ main_args = argv; @@ -1968,14 +1950,6 @@ int main(int argc, char *argv[]) case 'i': initrd_name = optarg; break; - case 'u': - user_details = getpwnam(optarg); - if (!user_details) - err(1, "getpwnam failed, incorrect username?"); - break; - case 'c': - chroot_path = optarg; - break; default: warnx("Unknown argument %s", argv[optind]); usage(); @@ -2047,37 +2021,6 @@ int main(int argc, char *argv[]) /* If we exit via err(), this kills all the threads, restores tty. */ atexit(cleanup_devices); - /* If requested, chroot to a directory */ - if (chroot_path) { - if (chroot(chroot_path) != 0) - err(1, "chroot(\"%s\") failed", chroot_path); - - if (chdir("/") != 0) - err(1, "chdir(\"/\") failed"); - - verbose("chroot done\n"); - } - - /* If requested, drop privileges */ - if (user_details) { - uid_t u; - gid_t g; - - u = user_details->pw_uid; - g = user_details->pw_gid; - - if (initgroups(user_details->pw_name, g) != 0) - err(1, "initgroups failed"); - - if (setresgid(g, g, g) != 0) - err(1, "setresgid failed"); - - if (setresuid(u, u, u) != 0) - err(1, "setresuid failed"); - - verbose("Dropping privileges completed\n"); - } - /* Finally, run the Guest. This doesn't return. */ run_guest(); } diff --git a/trunk/Documentation/lguest/lguest.txt b/trunk/Documentation/lguest/lguest.txt index dad99978a6a8..6ccaf8e1a00e 100644 --- a/trunk/Documentation/lguest/lguest.txt +++ b/trunk/Documentation/lguest/lguest.txt @@ -117,11 +117,6 @@ Running Lguest: for general information on how to get bridging to work. -- Random number generation. Using the --rng option will provide a - /dev/hwrng in the guest that will read from the host's /dev/random. - Use this option in conjunction with rng-tools (see ../hw_random.txt) - to provide entropy to the guest kernel's /dev/random. - There is a helpful mailing list at http://ozlabs.org/mailman/listinfo/lguest Good luck! diff --git a/trunk/Documentation/networking/00-INDEX b/trunk/Documentation/networking/00-INDEX index 4edd78dfb362..fe5c099b8fc8 100644 --- a/trunk/Documentation/networking/00-INDEX +++ b/trunk/Documentation/networking/00-INDEX @@ -40,6 +40,8 @@ decnet.txt - info on using the DECnet networking layer in Linux. depca.txt - the Digital DEPCA/EtherWORKS DE1?? and DE2?? LANCE Ethernet driver +dgrs.txt + - the Digi International RightSwitch SE-X Ethernet driver dmfe.txt - info on the Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver. e100.txt @@ -48,6 +50,8 @@ e1000.txt - info on Intel's E1000 line of gigabit ethernet boards eql.txt - serial IP load balancing +ethertap.txt + - the Ethertap user space packet reception and transmission driver ewrk3.txt - the Digital EtherWORKS 3 DE203/4/5 Ethernet driver filter.txt @@ -100,6 +104,8 @@ tuntap.txt - TUN/TAP device driver, allowing user space Rx/Tx of packets. vortex.txt - info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards. +wavelan.txt + - AT&T GIS (nee NCR) WaveLAN card: An Ethernet-like radio transceiver x25.txt - general info on X.25 development. x25-iface.txt diff --git a/trunk/Documentation/networking/Makefile b/trunk/Documentation/networking/Makefile index 24c308dd3fd1..5aba7a33aeeb 100644 --- a/trunk/Documentation/networking/Makefile +++ b/trunk/Documentation/networking/Makefile @@ -4,8 +4,6 @@ obj- := dummy.o # List of programs to build hostprogs-y := ifenslave -HOSTCFLAGS_ifenslave.o += -I$(objtree)/usr/include - # Tell kbuild to always build the programs always := $(hostprogs-y) diff --git a/trunk/Documentation/networking/bonding.txt b/trunk/Documentation/networking/bonding.txt index 25d2f4141d27..5dc638791d97 100644 --- a/trunk/Documentation/networking/bonding.txt +++ b/trunk/Documentation/networking/bonding.txt @@ -49,8 +49,7 @@ Table of Contents 3.3 Configuring Bonding Manually with Ifenslave 3.3.1 Configuring Multiple Bonds Manually 3.4 Configuring Bonding Manually via Sysfs -3.5 Configuration with Interfaces Support -3.6 Overriding Configuration for Special Cases +3.5 Overriding Configuration for Special Cases 4. Querying Bonding Configuration 4.1 Bonding Configuration @@ -162,8 +161,8 @@ onwards) do not have /usr/include/linux symbolically linked to the default kernel source include directory. SECOND IMPORTANT NOTE: - If you plan to configure bonding using sysfs or using the -/etc/network/interfaces file, you do not need to use ifenslave. + If you plan to configure bonding using sysfs, you do not need +to use ifenslave. 2. Bonding Driver Options ========================= @@ -780,26 +779,22 @@ resend_igmp You can configure bonding using either your distro's network initialization scripts, or manually using either ifenslave or the -sysfs interface. Distros generally use one of three packages for the -network initialization scripts: initscripts, sysconfig or interfaces. -Recent versions of these packages have support for bonding, while older +sysfs interface. Distros generally use one of two packages for the +network initialization scripts: initscripts or sysconfig. Recent +versions of these packages have support for bonding, while older versions do not. We will first describe the options for configuring bonding for -distros using versions of initscripts, sysconfig and interfaces with full -or partial support for bonding, then provide information on enabling +distros using versions of initscripts and sysconfig with full or +partial support for bonding, then provide information on enabling bonding without support from the network initialization scripts (i.e., older versions of initscripts or sysconfig). - If you're unsure whether your distro uses sysconfig, -initscripts or interfaces, or don't know if it's new enough, have no fear. + If you're unsure whether your distro uses sysconfig or +initscripts, or don't know if it's new enough, have no fear. Determining this is fairly straightforward. - First, look for a file called interfaces in /etc/network directory. -If this file is present in your system, then your system use interfaces. See -Configuration with Interfaces Support. - - Else, issue the command: + First, issue the command: $ rpm -qf /sbin/ifup @@ -1332,62 +1327,8 @@ echo 2000 > /sys/class/net/bond1/bonding/arp_interval echo +eth2 > /sys/class/net/bond1/bonding/slaves echo +eth3 > /sys/class/net/bond1/bonding/slaves -3.5 Configuration with Interfaces Support ------------------------------------------ - - This section applies to distros which use /etc/network/interfaces file -to describe network interface configuration, most notably Debian and it's -derivatives. - - The ifup and ifdown commands on Debian don't support bonding out of -the box. The ifenslave-2.6 package should be installed to provide bonding -support. Once installed, this package will provide bond-* options to be used -into /etc/network/interfaces. - - Note that ifenslave-2.6 package will load the bonding module and use -the ifenslave command when appropriate. - -Example Configurations ----------------------- - -In /etc/network/interfaces, the following stanza will configure bond0, in -active-backup mode, with eth0 and eth1 as slaves. - -auto bond0 -iface bond0 inet dhcp - bond-slaves eth0 eth1 - bond-mode active-backup - bond-miimon 100 - bond-primary eth0 eth1 - -If the above configuration doesn't work, you might have a system using -upstart for system startup. This is most notably true for recent -Ubuntu versions. The following stanza in /etc/network/interfaces will -produce the same result on those systems. - -auto bond0 -iface bond0 inet dhcp - bond-slaves none - bond-mode active-backup - bond-miimon 100 - -auto eth0 -iface eth0 inet manual - bond-master bond0 - bond-primary eth0 eth1 - -auto eth1 -iface eth1 inet manual - bond-master bond0 - bond-primary eth0 eth1 - -For a full list of bond-* supported options in /etc/network/interfaces and some -more advanced examples tailored to you particular distros, see the files in -/usr/share/doc/ifenslave-2.6. - -3.6 Overriding Configuration for Special Cases +3.5 Overriding Configuration for Special Cases ---------------------------------------------- - When using the bonding driver, the physical port which transmits a frame is typically selected by the bonding driver, and is not relevant to the user or system administrator. The output port is simply selected using the policies of diff --git a/trunk/Documentation/networking/dns_resolver.txt b/trunk/Documentation/networking/dns_resolver.txt index 04ca06325b08..aefd1e681804 100644 --- a/trunk/Documentation/networking/dns_resolver.txt +++ b/trunk/Documentation/networking/dns_resolver.txt @@ -61,6 +61,7 @@ before the more general line given above as the first match is the one taken. create dns_resolver foo:* * /usr/sbin/dns.foo %k + ===== USAGE ===== @@ -103,14 +104,6 @@ implemented in the module can be called after doing: returned also. -=============================== -READING DNS KEYS FROM USERSPACE -=============================== - -Keys of dns_resolver type can be read from userspace using keyctl_read() or -"keyctl read/print/pipe". - - ========= MECHANISM ========= diff --git a/trunk/Documentation/networking/ip-sysctl.txt b/trunk/Documentation/networking/ip-sysctl.txt index ac3b4a726a1a..d99940dcfc44 100644 --- a/trunk/Documentation/networking/ip-sysctl.txt +++ b/trunk/Documentation/networking/ip-sysctl.txt @@ -187,7 +187,7 @@ tcp_cookie_size - INTEGER tcp_dsack - BOOLEAN Allows TCP to send "duplicate" SACKs. -tcp_ecn - INTEGER +tcp_ecn - BOOLEAN Enable Explicit Congestion Notification (ECN) in TCP. ECN is only used when both ends of the TCP flow support it. It is useful to avoid losses due to congestion (when the bottleneck router supports diff --git a/trunk/Documentation/devicetree/booting-without-of.txt b/trunk/Documentation/powerpc/booting-without-of.txt similarity index 90% rename from trunk/Documentation/devicetree/booting-without-of.txt rename to trunk/Documentation/powerpc/booting-without-of.txt index 28b1c9d3d351..7400d7555dc3 100644 --- a/trunk/Documentation/devicetree/booting-without-of.txt +++ b/trunk/Documentation/powerpc/booting-without-of.txt @@ -13,6 +13,7 @@ Table of Contents I - Introduction 1) Entry point for arch/powerpc + 2) Board support II - The DT block format 1) Header @@ -40,6 +41,13 @@ Table of Contents VI - System-on-a-chip devices and nodes 1) Defining child nodes of an SOC 2) Representing devices without a current OF specification + a) PHY nodes + b) Interrupt controllers + c) 4xx/Axon EMAC ethernet nodes + d) Xilinx IP cores + e) USB EHCI controllers + f) MDIO on GPIOs + g) SPI busses VII - Specifying interrupt information for devices 1) interrupts property @@ -115,7 +123,7 @@ Revision Information I - Introduction ================ -During the development of the Linux/ppc64 kernel, and more +During the recent development of the Linux/ppc64 kernel, and more specifically, the addition of new platform types outside of the old IBM pSeries/iSeries pair, it was decided to enforce some strict rules regarding the kernel entry and bootloader <-> kernel interfaces, in @@ -138,7 +146,7 @@ section III, but, for example, the kernel does not require you to create a node for every PCI device in the system. It is a requirement to have a node for PCI host bridges in order to provide interrupt routing informations and memory/IO ranges, among others. It is also -recommended to define nodes for on chip devices and other buses that +recommended to define nodes for on chip devices and other busses that don't specifically fit in an existing OF specification. This creates a great flexibility in the way the kernel can then probe those and match drivers to device, without having to hard code all sorts of tables. It @@ -150,7 +158,7 @@ it with special cases. 1) Entry point for arch/powerpc ------------------------------- - There is one single entry point to the kernel, at the start + There is one and one single entry point to the kernel, at the start of the kernel image. That entry point supports two calling conventions: @@ -202,6 +210,12 @@ it with special cases. with all CPUs. The way to do that with method b) will be described in a later revision of this document. + +2) Board support +---------------- + +64-bit kernels: + Board supports (platforms) are not exclusive config options. An arbitrary set of board supports can be built in a single kernel image. The kernel will "know" what set of functions to use for a @@ -220,11 +234,48 @@ it with special cases. containing the various callbacks that the generic code will use to get to your platform specific code - A kernel image may support multiple platforms, but only if the + c) Add a reference to your "ppc_md" structure in the + "machines" table in arch/powerpc/kernel/setup_64.c if you are + a 64-bit platform. + + d) request and get assigned a platform number (see PLATFORM_* + constants in arch/powerpc/include/asm/processor.h + +32-bit embedded kernels: + + Currently, board support is essentially an exclusive config option. + The kernel is configured for a single platform. Part of the reason + for this is to keep kernels on embedded systems small and efficient; + part of this is due to the fact the code is already that way. In the + future, a kernel may support multiple platforms, but only if the platforms feature the same core architecture. A single kernel build cannot support both configurations with Book E and configurations with classic Powerpc architectures. + 32-bit embedded platforms that are moved into arch/powerpc using a + flattened device tree should adopt the merged tree practice of + setting ppc_md up dynamically, even though the kernel is currently + built with support for only a single platform at a time. This allows + unification of the setup code, and will make it easier to go to a + multiple-platform-support model in the future. + +NOTE: I believe the above will be true once Ben's done with the merge +of the boot sequences.... someone speak up if this is wrong! + + To add a 32-bit embedded platform support, follow the instructions + for 64-bit platforms above, with the exception that the Kconfig + option should be set up such that the kernel builds exclusively for + the platform selected. The processor type for the platform should + enable another config option to select the specific board + supported. + +NOTE: If Ben doesn't merge the setup files, may need to change this to +point to setup_32.c + + + I will describe later the boot process and various callbacks that + your platform should implement. + II - The DT block format ======================== @@ -249,8 +300,8 @@ the block to RAM before passing it to the kernel. 1) Header --------- - The kernel is passed the physical address pointing to an area of memory - that is roughly described in include/linux/of_fdt.h by the structure + The kernel is entered with r3 pointing to an area of memory that is + roughly described in arch/powerpc/include/asm/prom.h by the structure boot_param_header: struct boot_param_header { @@ -288,7 +339,7 @@ struct boot_param_header { All values in this header are in big endian format, the various fields in this header are defined more precisely below. All "offset" values are in bytes from the start of the header; that is - from the physical base address of the device tree block. + from the value of r3. - magic @@ -386,7 +437,7 @@ struct boot_param_header { ------------------------------ - base -> | struct boot_param_header | + r3 -> | struct boot_param_header | ------------------------------ | (alignment gap) (*) | ------------------------------ @@ -406,7 +457,7 @@ struct boot_param_header { -----> ------------------------------ | | - --- (base + totalsize) + --- (r3 + totalsize) (*) The alignment gaps are not necessarily present; their presence and size are dependent on the various alignment requirements of @@ -449,7 +500,7 @@ the device-tree structure. It is typically used to represent "path" in the device-tree. More details about the actual format of these will be below. -The kernel generic code does not make any formal use of the +The kernel powerpc generic code does not make any formal use of the unit address (though some board support code may do) so the only real requirement here for the unit address is to ensure uniqueness of the node unit name at a given level of the tree. Nodes with no notion @@ -467,21 +518,20 @@ path to the root node is "/". Every node which actually represents an actual device (that is, a node which isn't only a virtual "container" for more nodes, like "/cpus" -is) is also required to have a "compatible" property indicating the -specific hardware and an optional list of devices it is fully -backwards compatible with. +is) is also required to have a "device_type" property indicating the +type of node . Finally, every node that can be referenced from a property in another -node is required to have either a "phandle" or a "linux,phandle" -property. Real Open Firmware implementations provide a unique -"phandle" value for every node that the "prom_init()" trampoline code -turns into "linux,phandle" properties. However, this is made optional -if the flattened device tree is used directly. An example of a node +node is required to have a "linux,phandle" property. Real open +firmware implementations provide a unique "phandle" value for every +node that the "prom_init()" trampoline code turns into +"linux,phandle" properties. However, this is made optional if the +flattened device tree is used directly. An example of a node referencing another node via "phandle" is when laying out the interrupt tree which will be described in a further version of this document. -The "phandle" property is a 32-bit value that uniquely +This "linux, phandle" property is a 32-bit value that uniquely identifies a node. You are free to use whatever values or system of values, internal pointers, or whatever to generate these, the only requirement is that every node for which you provide that property has @@ -644,7 +694,7 @@ made of 3 cells, the bottom two containing the actual address itself while the top cell contains address space indication, flags, and pci bus & device numbers. -For buses that support dynamic allocation, it's the accepted practice +For busses that support dynamic allocation, it's the accepted practice to then not provide the address in "reg" (keep it 0) though while providing a flag indicating the address is dynamically allocated, and then, to provide a separate "assigned-addresses" property that @@ -661,7 +711,7 @@ prom_parse.c file of the recent kernels for your bus type. The "reg" property only defines addresses and sizes (if #size-cells is non-0) within a given bus. In order to translate addresses upward (that is into parent bus addresses, and possibly into CPU physical -addresses), all buses must contain a "ranges" property. If the +addresses), all busses must contain a "ranges" property. If the "ranges" property is missing at a given level, it's assumed that translation isn't possible, i.e., the registers are not visible on the parent bus. The format of the "ranges" property for a bus is a list @@ -677,9 +727,9 @@ example, for a PCI host controller, that would be a CPU address. For a PCI<->ISA bridge, that would be a PCI address. It defines the base address in the parent bus where the beginning of that range is mapped. -For new 64-bit board support, I recommend either the 2/2 format or +For a new 64-bit powerpc board, I recommend either the 2/2 format or Apple's 2/1 format which is slightly more compact since sizes usually -fit in a single 32-bit word. New 32-bit board support should use a +fit in a single 32-bit word. New 32-bit powerpc boards should use a 1/1 format, unless the processor supports physical addresses greater than 32-bits, in which case a 2/1 format is recommended. @@ -704,7 +754,7 @@ of their actual names. While earlier users of Open Firmware like OldWorld macintoshes tended to use the actual device name for the "name" property, it's nowadays considered a good practice to use a name that is closer to the device -class (often equal to device_type). For example, nowadays, Ethernet +class (often equal to device_type). For example, nowadays, ethernet controllers are named "ethernet", an additional "model" property defining precisely the chip type/model, and "compatible" property defining the family in case a single driver can driver more than one @@ -722,7 +772,7 @@ is present). 4) Note about node and property names and character set ------------------------------------------------------- -While Open Firmware provides more flexible usage of 8859-1, this +While open firmware provides more flexible usage of 8859-1, this specification enforces more strict rules. Nodes and properties should be comprised only of ASCII characters 'a' to 'z', '0' to '9', ',', '.', '_', '+', '#', '?', and '-'. Node names additionally @@ -742,7 +792,7 @@ address which can extend beyond that limit. -------------------------------- These are all that are currently required. However, it is strongly recommended that you expose PCI host bridges as documented in the - PCI binding to Open Firmware, and your interrupt tree as documented + PCI binding to open firmware, and your interrupt tree as documented in OF interrupt tree specification. a) The root node @@ -752,12 +802,20 @@ address which can extend beyond that limit. - model : this is your board name/model - #address-cells : address representation for "root" devices - #size-cells: the size representation for "root" devices + - device_type : This property shouldn't be necessary. However, if + you decide to create a device_type for your root node, make sure it + is _not_ "chrp" unless your platform is a pSeries or PAPR compliant + one for 64-bit, or a CHRP-type machine for 32-bit as this will + matched by the kernel this way. + + Additionally, some recommended properties are: + - compatible : the board "family" generally finds its way here, for example, if you have 2 board models with a similar layout, that typically get driven by the same platform code in the - kernel, you would specify the exact board model in the - compatible property followed by an entry that represents the SoC - model. + kernel, you would use a different "model" property but put a + value in "compatible". The kernel doesn't directly use that + value but it is generally useful. The root node is also generally where you add additional properties specific to your board like the serial number if any, that sort of @@ -783,11 +841,8 @@ address which can extend beyond that limit. So under /cpus, you are supposed to create a node for every CPU on the machine. There is no specific restriction on the name of the - CPU, though it's common to call it ,. For + CPU, though It's common practice to call it PowerPC,. For example, Apple uses PowerPC,G5 while IBM uses PowerPC,970FX. - However, the Generic Names convention suggests that it would be - better to simply use 'cpu' for each cpu node and use the compatible - property to identify the specific cpu core. Required properties: @@ -868,7 +923,7 @@ compatibility. e) The /chosen node - This node is a bit "special". Normally, that's where Open Firmware + This node is a bit "special". Normally, that's where open firmware puts some variable environment information, like the arguments, or the default input/output devices. @@ -885,7 +940,11 @@ compatibility. console device if any. Typically, if you have serial devices on your board, you may want to put the full path to the one set as the default console in the firmware here, for the kernel to pick - it up as its own default console. + it up as its own default console. If you look at the function + set_preferred_console() in arch/ppc64/kernel/setup.c, you'll see + that the kernel tries to find out the default console and has + knowledge of various types like 8250 serial ports. You may want + to extend this function to add your own. Note that u-boot creates and fills in the chosen node for platforms that use it. @@ -896,23 +955,23 @@ compatibility. f) the /soc node - This node is used to represent a system-on-a-chip (SoC) and must be - present if the processor is a SoC. The top-level soc node contains - information that is global to all devices on the SoC. The node name - should contain a unit address for the SoC, which is the base address - of the memory-mapped register set for the SoC. The name of an SoC + This node is used to represent a system-on-a-chip (SOC) and must be + present if the processor is a SOC. The top-level soc node contains + information that is global to all devices on the SOC. The node name + should contain a unit address for the SOC, which is the base address + of the memory-mapped register set for the SOC. The name of an soc node should start with "soc", and the remainder of the name should represent the part number for the soc. For example, the MPC8540's soc node would be called "soc8540". Required properties: + - device_type : Should be "soc" - ranges : Should be defined as specified in 1) to describe the - translation of SoC addresses for memory mapped SoC registers. - - bus-frequency: Contains the bus frequency for the SoC node. + translation of SOC addresses for memory mapped SOC registers. + - bus-frequency: Contains the bus frequency for the SOC node. Typically, the value of this field is filled in by the boot loader. - - compatible : Exact model of the SoC Recommended properties: @@ -1096,13 +1155,12 @@ while all this has been defined and implemented. - An example of code for iterating nodes & retrieving properties directly from the flattened tree format can be found in the kernel - file drivers/of/fdt.c. Look at the of_scan_flat_dt() function, + file arch/ppc64/kernel/prom.c, look at scan_flat_dt() function, its usage in early_init_devtree(), and the corresponding various early_init_dt_scan_*() callbacks. That code can be re-used in a GPL bootloader, and as the author of that code, I would be happy to discuss possible free licensing to any vendor who wishes to integrate all or part of this code into a non-GPL bootloader. - (reference needed; who is 'I' here? ---gcl Jan 31, 2011) @@ -1145,19 +1203,18 @@ MPC8540. 2) Representing devices without a current OF specification ---------------------------------------------------------- -Currently, there are many devices on SoCs that do not have a standard -representation defined as part of the Open Firmware specifications, -mainly because the boards that contain these SoCs are not currently -booted using Open Firmware. Binding documentation for new devices -should be added to the Documentation/devicetree/bindings directory. -That directory will expand as device tree support is added to more and -more SoCs. - +Currently, there are many devices on SOCs that do not have a standard +representation pre-defined as part of the open firmware +specifications, mainly because the boards that contain these SOCs are +not currently booted using open firmware. This section contains +descriptions for the SOC devices for which new nodes have been +defined; this list will expand as more and more SOC-containing +platforms are moved over to use the flattened-device-tree model. VII - Specifying interrupt information for devices =================================================== -The device tree represents the buses and devices of a hardware +The device tree represents the busses and devices of a hardware system in a form similar to the physical bus topology of the hardware. diff --git a/trunk/Documentation/devicetree/bindings/powerpc/4xx/cpm.txt b/trunk/Documentation/powerpc/dts-bindings/4xx/cpm.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/4xx/cpm.txt rename to trunk/Documentation/powerpc/dts-bindings/4xx/cpm.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/4xx/emac.txt b/trunk/Documentation/powerpc/dts-bindings/4xx/emac.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/4xx/emac.txt rename to trunk/Documentation/powerpc/dts-bindings/4xx/emac.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/4xx/ndfc.txt b/trunk/Documentation/powerpc/dts-bindings/4xx/ndfc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/4xx/ndfc.txt rename to trunk/Documentation/powerpc/dts-bindings/4xx/ndfc.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/4xx/ppc440spe-adma.txt b/trunk/Documentation/powerpc/dts-bindings/4xx/ppc440spe-adma.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/4xx/ppc440spe-adma.txt rename to trunk/Documentation/powerpc/dts-bindings/4xx/ppc440spe-adma.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/4xx/reboot.txt b/trunk/Documentation/powerpc/dts-bindings/4xx/reboot.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/4xx/reboot.txt rename to trunk/Documentation/powerpc/dts-bindings/4xx/reboot.txt diff --git a/trunk/Documentation/devicetree/bindings/net/can/sja1000.txt b/trunk/Documentation/powerpc/dts-bindings/can/sja1000.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/net/can/sja1000.txt rename to trunk/Documentation/powerpc/dts-bindings/can/sja1000.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/ecm.txt b/trunk/Documentation/powerpc/dts-bindings/ecm.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/ecm.txt rename to trunk/Documentation/powerpc/dts-bindings/ecm.txt diff --git a/trunk/Documentation/devicetree/bindings/eeprom.txt b/trunk/Documentation/powerpc/dts-bindings/eeprom.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/eeprom.txt rename to trunk/Documentation/powerpc/dts-bindings/eeprom.txt diff --git a/trunk/Documentation/devicetree/bindings/pci/83xx-512x-pci.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/pci/83xx-512x-pci.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt diff --git a/trunk/Documentation/devicetree/bindings/gpio/8xxx_gpio.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/gpio/8xxx_gpio.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/board.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/board.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/board.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/board.txt diff --git a/trunk/Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/can.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/can.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/brg.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/brg.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/brg.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/brg.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/i2c.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/i2c.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/pic.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/pic.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/pic.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/pic.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/usb.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/usb.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/cpm/usb.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/cpm/usb.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/gpio.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/gpio.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/gpio.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/gpio.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/network.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/network.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/firmware.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/firmware.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/firmware.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/firmware.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/par_io.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/par_io.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/par_io.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/par_io.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/pincfg.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/pincfg.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/ucc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/ucc.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/ucc.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/usb.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/usb.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/usb.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe/usb.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/serial.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/serial.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/serial.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/cpm_qe/serial.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/diu.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/diu.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/diu.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/diu.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/dma.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/dma.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/dma.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/dma.txt diff --git a/trunk/Documentation/devicetree/bindings/mmc/fsl-esdhc.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/esdhc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/mmc/fsl-esdhc.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/esdhc.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/gtm.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/gtm.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/gtm.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/gtm.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/guts.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/guts.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/guts.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/guts.txt diff --git a/trunk/Documentation/devicetree/bindings/i2c/fsl-i2c.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/i2c.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/i2c/fsl-i2c.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/i2c.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/lbc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/lbc.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mcm.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/mcm.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/mcm.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/mcm.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mcu-mpc8349emitx.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/mcu-mpc8349emitx.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/mcu-mpc8349emitx.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/mcu-mpc8349emitx.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpc5121-psc.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/mpc5121-psc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/mpc5121-psc.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/mpc5121-psc.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpc5200.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/mpc5200.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/mpc5200.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/mpc5200.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/mpic.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/mpic.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/msi-pic.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/msi-pic.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/pmc.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/pmc.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/pmc.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/pmc.txt diff --git a/trunk/Documentation/devicetree/bindings/ata/fsl-sata.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/sata.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/ata/fsl-sata.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/sata.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/sec.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/sec.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/sec.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/sec.txt diff --git a/trunk/Documentation/devicetree/bindings/spi/fsl-spi.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/spi.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/spi/fsl-spi.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/spi.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/fsl/ssi.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/ssi.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/fsl/ssi.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/ssi.txt diff --git a/trunk/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/tsec.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/tsec.txt diff --git a/trunk/Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/upm-nand.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/upm-nand.txt diff --git a/trunk/Documentation/devicetree/bindings/usb/fsl-usb.txt b/trunk/Documentation/powerpc/dts-bindings/fsl/usb.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/usb/fsl-usb.txt rename to trunk/Documentation/powerpc/dts-bindings/fsl/usb.txt diff --git a/trunk/Documentation/devicetree/bindings/gpio/gpio.txt b/trunk/Documentation/powerpc/dts-bindings/gpio/gpio.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/gpio/gpio.txt rename to trunk/Documentation/powerpc/dts-bindings/gpio/gpio.txt diff --git a/trunk/Documentation/devicetree/bindings/gpio/led.txt b/trunk/Documentation/powerpc/dts-bindings/gpio/led.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/gpio/led.txt rename to trunk/Documentation/powerpc/dts-bindings/gpio/led.txt diff --git a/trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt b/trunk/Documentation/powerpc/dts-bindings/gpio/mdio.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/net/mdio-gpio.txt rename to trunk/Documentation/powerpc/dts-bindings/gpio/mdio.txt diff --git a/trunk/Documentation/devicetree/bindings/marvell.txt b/trunk/Documentation/powerpc/dts-bindings/marvell.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/marvell.txt rename to trunk/Documentation/powerpc/dts-bindings/marvell.txt diff --git a/trunk/Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt b/trunk/Documentation/powerpc/dts-bindings/mmc-spi-slot.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt rename to trunk/Documentation/powerpc/dts-bindings/mmc-spi-slot.txt diff --git a/trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/trunk/Documentation/powerpc/dts-bindings/mtd-physmap.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/mtd/mtd-physmap.txt rename to trunk/Documentation/powerpc/dts-bindings/mtd-physmap.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/nintendo/gamecube.txt b/trunk/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/nintendo/gamecube.txt rename to trunk/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt diff --git a/trunk/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt b/trunk/Documentation/powerpc/dts-bindings/nintendo/wii.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt rename to trunk/Documentation/powerpc/dts-bindings/nintendo/wii.txt diff --git a/trunk/Documentation/devicetree/bindings/net/phy.txt b/trunk/Documentation/powerpc/dts-bindings/phy.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/net/phy.txt rename to trunk/Documentation/powerpc/dts-bindings/phy.txt diff --git a/trunk/Documentation/devicetree/bindings/spi/spi-bus.txt b/trunk/Documentation/powerpc/dts-bindings/spi-bus.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/spi/spi-bus.txt rename to trunk/Documentation/powerpc/dts-bindings/spi-bus.txt diff --git a/trunk/Documentation/devicetree/bindings/usb/usb-ehci.txt b/trunk/Documentation/powerpc/dts-bindings/usb-ehci.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/usb/usb-ehci.txt rename to trunk/Documentation/powerpc/dts-bindings/usb-ehci.txt diff --git a/trunk/Documentation/devicetree/bindings/xilinx.txt b/trunk/Documentation/powerpc/dts-bindings/xilinx.txt similarity index 100% rename from trunk/Documentation/devicetree/bindings/xilinx.txt rename to trunk/Documentation/powerpc/dts-bindings/xilinx.txt diff --git a/trunk/Documentation/scheduler/sched-stats.txt b/trunk/Documentation/scheduler/sched-stats.txt index 1cd5d51bc761..01e69404ee5e 100644 --- a/trunk/Documentation/scheduler/sched-stats.txt +++ b/trunk/Documentation/scheduler/sched-stats.txt @@ -1,7 +1,3 @@ -Version 15 of schedstats dropped counters for some sched_yield: -yld_exp_empty, yld_act_empty and yld_both_empty. Otherwise, it is -identical to version 14. - Version 14 of schedstats includes support for sched_domains, which hit the mainline kernel in 2.6.20 although it is identical to the stats from version 12 which was in the kernel from 2.6.13-2.6.19 (version 13 never saw a kernel @@ -32,25 +28,32 @@ to write their own scripts, the fields are described here. CPU statistics -------------- -cpu 1 2 3 4 5 6 7 8 9 +cpu 1 2 3 4 5 6 7 8 9 10 11 12 + +NOTE: In the sched_yield() statistics, the active queue is considered empty + if it has only one process in it, since obviously the process calling + sched_yield() is that process. -First field is a sched_yield() statistic: - 1) # of times sched_yield() was called +First four fields are sched_yield() statistics: + 1) # of times both the active and the expired queue were empty + 2) # of times just the active queue was empty + 3) # of times just the expired queue was empty + 4) # of times sched_yield() was called Next three are schedule() statistics: - 2) # of times we switched to the expired queue and reused it - 3) # of times schedule() was called - 4) # of times schedule() left the processor idle + 5) # of times we switched to the expired queue and reused it + 6) # of times schedule() was called + 7) # of times schedule() left the processor idle Next two are try_to_wake_up() statistics: - 5) # of times try_to_wake_up() was called - 6) # of times try_to_wake_up() was called to wake up the local cpu + 8) # of times try_to_wake_up() was called + 9) # of times try_to_wake_up() was called to wake up the local cpu Next three are statistics describing scheduling latency: - 7) sum of all time spent running by tasks on this processor (in jiffies) - 8) sum of all time spent waiting to run by tasks on this processor (in + 10) sum of all time spent running by tasks on this processor (in jiffies) + 11) sum of all time spent waiting to run by tasks on this processor (in jiffies) - 9) # of timeslices run on this cpu + 12) # of timeslices run on this cpu Domain statistics diff --git a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt index 0caf77e59be4..16ae4300c747 100644 --- a/trunk/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/trunk/Documentation/sound/alsa/HD-Audio-Models.txt @@ -296,7 +296,6 @@ Conexant 5066 ============= laptop Basic Laptop config (default) hp-laptop HP laptops, e g G60 - asus Asus K52JU, Lenovo G560 dell-laptop Dell laptops dell-vostro Dell Vostro olpc-xo-1_5 OLPC XO 1.5 diff --git a/trunk/Documentation/sound/alsa/soc/codec.txt b/trunk/Documentation/sound/alsa/soc/codec.txt index bce23a4a7875..37ba3a72cb76 100644 --- a/trunk/Documentation/sound/alsa/soc/codec.txt +++ b/trunk/Documentation/sound/alsa/soc/codec.txt @@ -27,38 +27,42 @@ ASoC Codec driver breakdown 1 - Codec DAI and PCM configuration ----------------------------------- -Each codec driver must have a struct snd_soc_dai_driver to define its DAI and +Each codec driver must have a struct snd_soc_codec_dai to define its DAI and PCM capabilities and operations. This struct is exported so that it can be registered with the core by your machine driver. e.g. -static struct snd_soc_dai_ops wm8731_dai_ops = { - .prepare = wm8731_pcm_prepare, - .hw_params = wm8731_hw_params, - .shutdown = wm8731_shutdown, - .digital_mute = wm8731_mute, - .set_sysclk = wm8731_set_dai_sysclk, - .set_fmt = wm8731_set_dai_fmt, -}; - -struct snd_soc_dai_driver wm8731_dai = { - .name = "wm8731-hifi", +struct snd_soc_codec_dai wm8731_dai = { + .name = "WM8731", + /* playback capabilities */ .playback = { .stream_name = "Playback", .channels_min = 1, .channels_max = 2, .rates = WM8731_RATES, .formats = WM8731_FORMATS,}, + /* capture capabilities */ .capture = { .stream_name = "Capture", .channels_min = 1, .channels_max = 2, .rates = WM8731_RATES, .formats = WM8731_FORMATS,}, - .ops = &wm8731_dai_ops, - .symmetric_rates = 1, + /* pcm operations - see section 4 below */ + .ops = { + .prepare = wm8731_pcm_prepare, + .hw_params = wm8731_hw_params, + .shutdown = wm8731_shutdown, + }, + /* DAI operations - see DAI.txt */ + .dai_ops = { + .digital_mute = wm8731_mute, + .set_sysclk = wm8731_set_dai_sysclk, + .set_fmt = wm8731_set_dai_fmt, + } }; +EXPORT_SYMBOL_GPL(wm8731_dai); 2 - Codec control IO @@ -182,14 +186,13 @@ when the mute is applied or freed. i.e. -static int wm8974_mute(struct snd_soc_dai *dai, int mute) +static int wm8974_mute(struct snd_soc_codec *codec, + struct snd_soc_codec_dai *dai, int mute) { - struct snd_soc_codec *codec = dai->codec; - u16 mute_reg = snd_soc_read(codec, WM8974_DAC) & 0xffbf; - - if (mute) - snd_soc_write(codec, WM8974_DAC, mute_reg | 0x40); + u16 mute_reg = wm8974_read_reg_cache(codec, WM8974_DAC) & 0xffbf; + if(mute) + wm8974_write(codec, WM8974_DAC, mute_reg | 0x40); else - snd_soc_write(codec, WM8974_DAC, mute_reg); + wm8974_write(codec, WM8974_DAC, mute_reg); return 0; } diff --git a/trunk/Documentation/sound/alsa/soc/machine.txt b/trunk/Documentation/sound/alsa/soc/machine.txt index 3e2ec9cbf397..2524c75557df 100644 --- a/trunk/Documentation/sound/alsa/soc/machine.txt +++ b/trunk/Documentation/sound/alsa/soc/machine.txt @@ -12,8 +12,6 @@ the following struct:- struct snd_soc_card { char *name; - ... - int (*probe)(struct platform_device *pdev); int (*remove)(struct platform_device *pdev); @@ -24,13 +22,12 @@ struct snd_soc_card { int (*resume_pre)(struct platform_device *pdev); int (*resume_post)(struct platform_device *pdev); - ... + /* machine stream operations */ + struct snd_soc_ops *ops; /* CPU <--> Codec DAI links */ struct snd_soc_dai_link *dai_link; int num_links; - - ... }; probe()/remove() @@ -45,6 +42,11 @@ of any machine audio tasks that have to be done before or after the codec, DAIs and DMA is suspended and resumed. Optional. +Machine operations +------------------ +The machine specific audio operations can be set here. Again this is optional. + + Machine DAI Configuration ------------------------- The machine DAI configuration glues all the codec and CPU DAIs together. It can @@ -59,10 +61,8 @@ struct snd_soc_dai_link is used to set up each DAI in your machine. e.g. static struct snd_soc_dai_link corgi_dai = { .name = "WM8731", .stream_name = "WM8731", - .cpu_dai_name = "pxa-is2-dai", - .codec_dai_name = "wm8731-hifi", - .platform_name = "pxa-pcm-audio", - .codec_name = "wm8713-codec.0-001a", + .cpu_dai = &pxa_i2s_dai, + .codec_dai = &wm8731_dai, .init = corgi_wm8731_init, .ops = &corgi_ops, }; @@ -77,6 +77,26 @@ static struct snd_soc_card snd_soc_corgi = { }; +Machine Audio Subsystem +----------------------- + +The machine soc device glues the platform, machine and codec driver together. +Private data can also be set here. e.g. + +/* corgi audio private data */ +static struct wm8731_setup_data corgi_wm8731_setup = { + .i2c_address = 0x1b, +}; + +/* corgi audio subsystem */ +static struct snd_soc_device corgi_snd_devdata = { + .machine = &snd_soc_corgi, + .platform = &pxa2xx_soc_platform, + .codec_dev = &soc_codec_dev_wm8731, + .codec_data = &corgi_wm8731_setup, +}; + + Machine Power Map ----------------- diff --git a/trunk/Documentation/sound/alsa/soc/platform.txt b/trunk/Documentation/sound/alsa/soc/platform.txt index d57efad37e0a..06d835987c6a 100644 --- a/trunk/Documentation/sound/alsa/soc/platform.txt +++ b/trunk/Documentation/sound/alsa/soc/platform.txt @@ -20,10 +20,9 @@ struct snd_soc_ops { int (*trigger)(struct snd_pcm_substream *, int); }; -The platform driver exports its DMA functionality via struct -snd_soc_platform_driver:- +The platform driver exports its DMA functionality via struct snd_soc_platform:- -struct snd_soc_platform_driver { +struct snd_soc_platform { char *name; int (*probe)(struct platform_device *pdev); @@ -35,13 +34,6 @@ struct snd_soc_platform_driver { int (*pcm_new)(struct snd_card *, struct snd_soc_codec_dai *, struct snd_pcm *); void (*pcm_free)(struct snd_pcm *); - /* - * For platform caused delay reporting. - * Optional. - */ - snd_pcm_sframes_t (*delay)(struct snd_pcm_substream *, - struct snd_soc_dai *); - /* platform stream ops */ struct snd_pcm_ops *pcm_ops; }; diff --git a/trunk/Documentation/spinlocks.txt b/trunk/Documentation/spinlocks.txt index 2e3c64b1a6a5..178c831b907d 100644 --- a/trunk/Documentation/spinlocks.txt +++ b/trunk/Documentation/spinlocks.txt @@ -86,7 +86,7 @@ to change the variables it has to get an exclusive write lock. The routines look the same as above: - rwlock_t xxx_lock = __RW_LOCK_UNLOCKED(xxx_lock); + rwlock_t xxx_lock = RW_LOCK_UNLOCKED; unsigned long flags; @@ -196,3 +196,25 @@ appropriate: For static initialization, use DEFINE_SPINLOCK() / DEFINE_RWLOCK() or __SPIN_LOCK_UNLOCKED() / __RW_LOCK_UNLOCKED() as appropriate. + +SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED are deprecated. These interfere +with lockdep state tracking. + +Most of the time, you can simply turn: + static spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; +into: + static DEFINE_SPINLOCK(xxx_lock); + +Static structure member variables go from: + + struct foo bar { + .lock = SPIN_LOCK_UNLOCKED; + }; + +to: + + struct foo bar { + .lock = __SPIN_LOCK_UNLOCKED(bar.lock); + }; + +Declaration of static rw_locks undergo a similar transformation. diff --git a/trunk/Documentation/video4linux/v4l2-controls.txt b/trunk/Documentation/video4linux/v4l2-controls.txt index 881e7f44491b..8773778d23fc 100644 --- a/trunk/Documentation/video4linux/v4l2-controls.txt +++ b/trunk/Documentation/video4linux/v4l2-controls.txt @@ -285,9 +285,6 @@ implement g_volatile_ctrl like this: The 'new value' union is not used in g_volatile_ctrl. In general controls that need to implement g_volatile_ctrl are read-only controls. -Note that if one or more controls in a control cluster are marked as volatile, -then all the controls in the cluster are seen as volatile. - To mark a control as volatile you have to set the is_volatile flag: ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...); @@ -465,15 +462,6 @@ pointer to the v4l2_ctrl_ops struct that is used for that cluster. Obviously, all controls in the cluster array must be initialized to either a valid control or to NULL. -In rare cases you might want to know which controls of a cluster actually -were set explicitly by the user. For this you can check the 'is_new' flag of -each control. For example, in the case of a volume/mute cluster the 'is_new' -flag of the mute control would be set if the user called VIDIOC_S_CTRL for -mute only. If the user would call VIDIOC_S_EXT_CTRLS for both mute and volume -controls, then the 'is_new' flag would be 1 for both controls. - -The 'is_new' flag is always 1 when called from v4l2_ctrl_handler_setup(). - VIDIOC_LOG_STATUS Support ========================= diff --git a/trunk/Documentation/workqueue.txt b/trunk/Documentation/workqueue.txt index 01c513fac40e..996a27d9b8db 100644 --- a/trunk/Documentation/workqueue.txt +++ b/trunk/Documentation/workqueue.txt @@ -190,9 +190,9 @@ resources, scheduled and executed. * Long running CPU intensive workloads which can be better managed by the system scheduler. - WQ_FREEZABLE + WQ_FREEZEABLE - A freezable wq participates in the freeze phase of the system + A freezeable wq participates in the freeze phase of the system suspend operations. Work items on the wq are drained and no new work item starts execution until thawed. diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index f1bc3dc6b369..1af022e63668 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -162,7 +162,7 @@ L: linux-serial@vger.kernel.org W: http://serial.sourceforge.net S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git -F: drivers/tty/serial/8250* +F: drivers/serial/8250* F: include/linux/serial_8250.h 8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.] @@ -624,15 +624,11 @@ M: Lennert Buytenhek L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained -ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES +ARM/ATMEL AT91RM9200 ARM ARCHITECTURE M: Andrew Victor -M: Nicolas Ferre -M: Jean-Christophe Plagniol-Villard L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) W: http://maxim.org.za/at91_26.html -W: http://www.linux4sam.org -S: Supported -F: arch/arm/mach-at91/ +S: Maintained ARM/BCMRING ARM ARCHITECTURE M: Jiandong Zheng @@ -885,15 +881,15 @@ S: Supported ARM/QUALCOMM MSM MACHINE SUPPORT M: David Brown -M: Daniel Walker +M: Daniel Walker M: Bryan Huntsman L: linux-arm-msm@vger.kernel.org F: arch/arm/mach-msm/ F: drivers/video/msm/ F: drivers/mmc/host/msm_sdcc.c F: drivers/mmc/host/msm_sdcc.h -F: drivers/tty/serial/msm_serial.h -F: drivers/tty/serial/msm_serial.c +F: drivers/serial/msm_serial.h +F: drivers/serial/msm_serial.c T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git S: Maintained @@ -978,8 +974,6 @@ S: Maintained F: arch/arm/plat-samsung/ F: arch/arm/plat-s3c24xx/ F: arch/arm/plat-s5p/ -F: drivers/*/*s3c2410* -F: drivers/*/*/*s3c2410* ARM/S3C2410 ARM ARCHITECTURE M: Ben Dooks @@ -1010,15 +1004,6 @@ L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers) S: Maintained F: arch/arm/mach-s5p*/ -ARM/SAMSUNG MOBILE MACHINE SUPPORT -M: Kyungmin Park -L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Maintained -F: arch/arm/mach-s5pv210/mach-aquila.c -F: arch/arm/mach-s5pv210/mach-goni.c -F: arch/arm/mach-exynos4/mach-universal_c210.c -F: arch/arm/mach-exynos4/mach-nuri.c - ARM/SAMSUNG S5P SERIES FIMC SUPPORT M: Kyungmin Park M: Sylwester Nawrocki @@ -1271,7 +1256,7 @@ F: drivers/mmc/host/atmel-mci-regs.h ATMEL AT91 / AT32 SERIAL DRIVER M: Nicolas Ferre S: Supported -F: drivers/tty/serial/atmel_serial.c +F: drivers/serial/atmel_serial.c ATMEL LCDFB DRIVER M: Nicolas Ferre @@ -1427,7 +1412,7 @@ M: Sonic Zhang L: uclinux-dist-devel@blackfin.uclinux.org W: http://blackfin.uclinux.org S: Supported -F: drivers/tty/serial/bfin_5xx.c +F: drivers/serial/bfin_5xx.c BLACKFIN WATCHDOG DRIVER M: Mike Frysinger @@ -1476,7 +1461,6 @@ F: include/net/bluetooth/ BONDING DRIVER M: Jay Vosburgh -M: Andy Gospodarek L: netdev@vger.kernel.org W: http://sourceforge.net/projects/bonding/ S: Supported @@ -1702,13 +1686,6 @@ M: Andy Whitcroft S: Supported F: scripts/checkpatch.pl -CHINESE DOCUMENTATION -M: Harry Wei -L: xiyoulinuxkernelgroup@googlegroups.com -L: linux-kernel@zh-kernel.org (moderated for non-subscribers) -S: Maintained -F: Documentation/zh_CN/ - CISCO VIC ETHERNET NIC DRIVER M: Vasanthy Kolluri M: Roopa Prabhu @@ -1900,7 +1877,7 @@ L: linux-cris-kernel@axis.com W: http://developer.axis.com S: Maintained F: arch/cris/ -F: drivers/tty/serial/crisv10.* +F: drivers/serial/crisv10.* CRYPTO API M: Herbert Xu @@ -2043,7 +2020,7 @@ F: Documentation/scsi/dc395x.txt F: drivers/scsi/dc395x.* DCCP PROTOCOL -M: Gerrit Renker +M: Arnaldo Carvalho de Melo L: dccp@vger.kernel.org W: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp S: Maintained @@ -2143,7 +2120,6 @@ S: Supported F: fs/dlm/ DMA GENERIC OFFLOAD ENGINE SUBSYSTEM -M: Vinod Koul M: Dan Williams S: Supported F: drivers/dma/ @@ -2240,7 +2216,7 @@ F: drivers/net/wan/dscc4.c DZ DECSTATION DZ11 SERIAL DRIVER M: "Maciej W. Rozycki" S: Maintained -F: drivers/tty/serial/dz.* +F: drivers/serial/dz.* EATA-DMA SCSI DRIVER M: Michael Neuffer @@ -2667,7 +2643,7 @@ FREESCALE QUICC ENGINE UCC UART DRIVER M: Timur Tabi L: linuxppc-dev@lists.ozlabs.org S: Supported -F: drivers/tty/serial/ucc_uart.c +F: drivers/serial/ucc_uart.c FREESCALE SOC SOUND DRIVERS M: Timur Tabi @@ -2792,15 +2768,6 @@ F: Documentation/isdn/README.gigaset F: drivers/isdn/gigaset/ F: include/linux/gigaset_dev.h -GPIO SUBSYSTEM -M: Grant Likely -L: linux-kernel@vger.kernel.org -S: Maintained -T: git git://git.secretlab.ca/git/linux-2.6.git -F: Documentation/gpio/gpio.txt -F: drivers/gpio/ -F: include/linux/gpio* - GRETH 10/100/1G Ethernet MAC device driver M: Kristoffer Glembo L: netdev@vger.kernel.org @@ -2890,6 +2857,7 @@ M: Guenter Roeck L: lm-sensors@lm-sensors.org W: http://www.lm-sensors.org/ T: quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-hwmon/ +T: quilt kernel.org/pub/linux/kernel/people/groeck/linux-staging/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git S: Maintained F: Documentation/hwmon/ @@ -3167,12 +3135,6 @@ S: Maintained F: net/ieee802154/ F: drivers/ieee802154/ -IKANOS/ADI EAGLE ADSL USB DRIVER -M: Matthieu Castet -M: Stanislaw Gruszka -S: Maintained -F: drivers/usb/atm/ueagle-atm.c - INTEGRITY MEASUREMENT ARCHITECTURE (IMA) M: Mimi Zohar S: Supported @@ -3184,7 +3146,7 @@ S: Orphan F: drivers/video/imsttfb.c INFINIBAND SUBSYSTEM -M: Roland Dreier +M: Roland Dreier M: Sean Hefty M: Hal Rosenstock L: linux-rdma@vger.kernel.org @@ -3361,6 +3323,7 @@ F: drivers/net/wimax/i2400m/ F: include/linux/wimax/i2400m.h INTEL WIRELESS WIFI LINK (iwlwifi) +M: Reinette Chatre M: Wey-Yi Guy M: Intel Linux Wireless L: linux-wireless@vger.kernel.org @@ -3387,7 +3350,7 @@ IOC3 SERIAL DRIVER M: Pat Gefre L: linux-serial@vger.kernel.org S: Maintained -F: drivers/tty/serial/ioc3_serial.c +F: drivers/serial/ioc3_serial.c IP MASQUERADING M: Juanjo Ciarlante @@ -3529,7 +3492,7 @@ F: drivers/hwmon/jc42.c F: Documentation/hwmon/jc42 JFS FILESYSTEM -M: Dave Kleikamp +M: Dave Kleikamp L: jfs-discussion@lists.sourceforge.net W: http://jfs.sourceforge.net/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git @@ -3564,7 +3527,7 @@ JSM Neo PCI based serial card M: Breno Leitao L: linux-serial@vger.kernel.org S: Maintained -F: drivers/tty/serial/jsm/ +F: drivers/serial/jsm/ K10TEMP HARDWARE MONITORING DRIVER M: Clemens Ladisch @@ -3707,28 +3670,6 @@ F: include/linux/key-type.h F: include/keys/ F: security/keys/ -KEYS-TRUSTED -M: David Safford -M: Mimi Zohar -L: linux-security-module@vger.kernel.org -L: keyrings@linux-nfs.org -S: Supported -F: Documentation/keys-trusted-encrypted.txt -F: include/keys/trusted-type.h -F: security/keys/trusted.c -F: security/keys/trusted.h - -KEYS-ENCRYPTED -M: Mimi Zohar -M: David Safford -L: linux-security-module@vger.kernel.org -L: keyrings@linux-nfs.org -S: Supported -F: Documentation/keys-trusted-encrypted.txt -F: include/keys/encrypted-type.h -F: security/keys/encrypted.c -F: security/keys/encrypted.h - KGDB / KDB /debug_core M: Jason Wessel W: http://kgdb.wiki.kernel.org/ @@ -3736,7 +3677,7 @@ L: kgdb-bugreport@lists.sourceforge.net S: Maintained F: Documentation/DocBook/kgdb.tmpl F: drivers/misc/kgdbts.c -F: drivers/tty/serial/kgdboc.c +F: drivers/serial/kgdboc.c F: include/linux/kdb.h F: include/linux/kgdb.h F: kernel/debug/ @@ -4292,7 +4233,10 @@ S: Maintained F: net/sched/sch_netem.c NETERION 10GbE DRIVERS (s2io/vxge) -M: Jon Mason +M: Ramkrishna Vepa +M: Sivakumar Subramani +M: Sreenivasa Honnur +M: Jon Mason L: netdev@vger.kernel.org W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous @@ -4614,7 +4558,7 @@ F: drivers/i2c/busses/i2c-ocores.c OPEN FIRMWARE AND FLATTENED DEVICE TREE M: Grant Likely -L: devicetree-discuss@lists.ozlabs.org (moderated for non-subscribers) +L: devicetree-discuss@lists.ozlabs.org W: http://fdt.secretlab.ca T: git git://git.secretlab.ca/git/linux-2.6.git S: Maintained @@ -5178,7 +5122,6 @@ F: drivers/char/random.c RAPIDIO SUBSYSTEM M: Matt Porter -M: Alexandre Bounine S: Maintained F: drivers/rapidio/ @@ -5281,7 +5224,7 @@ S: Maintained F: drivers/net/wireless/rtl818x/rtl8180/ RTL8187 WIRELESS DRIVER -M: Herton Ronaldo Krzesinski +M: Herton Ronaldo Krzesinski M: Hin-Tak Leung M: Larry Finger L: linux-wireless@vger.kernel.org @@ -5575,11 +5518,12 @@ S: Supported F: drivers/scsi/be2iscsi/ SERVER ENGINES 10Gbps NIC - BladeEngine 2 DRIVER -M: Sathya Perla -M: Subbu Seetharaman -M: Ajit Khaparde +M: Sathya Perla +M: Subbu Seetharaman +M: Sarveshwar Bandi +M: Ajit Khaparde L: netdev@vger.kernel.org -W: http://www.emulex.com +W: http://www.serverengines.com S: Supported F: drivers/net/benet/ @@ -5601,7 +5545,7 @@ M: Pat Gefre L: linux-ia64@vger.kernel.org S: Supported F: Documentation/ia64/serial.txt -F: drivers/tty/serial/ioc?_serial.c +F: drivers/serial/ioc?_serial.c F: include/linux/ioc?.h SGI VISUAL WORKSTATION 320 AND 540 @@ -5623,7 +5567,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained F: Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen F: arch/arm/mach-lh7a40x/ -F: drivers/tty/serial/serial_lh7a40x.c +F: drivers/serial/serial_lh7a40x.c F: drivers/usb/gadget/lh7a40* F: drivers/usb/host/ohci-lh7a40* @@ -5639,20 +5583,18 @@ F: include/linux/sfi*.h SIMTEC EB110ATX (Chalice CATS) P: Ben Dooks -P: Vincent Sanders -M: Simtec Linux Team +M: Vincent Sanders W: http://www.simtec.co.uk/products/EB110ATX/ S: Supported SIMTEC EB2410ITX (BAST) P: Ben Dooks -P: Vincent Sanders -M: Simtec Linux Team +M: Vincent Sanders W: http://www.simtec.co.uk/products/EB2410ITX/ S: Supported -F: arch/arm/mach-s3c2410/mach-bast.c -F: arch/arm/mach-s3c2410/bast-ide.c -F: arch/arm/mach-s3c2410/bast-irq.c +F: arch/arm/mach-s3c2410/ +F: drivers/*/*s3c2410* +F: drivers/*/*/*s3c2410* TI DAVINCI MACHINE SUPPORT M: Kevin Hilman @@ -5845,14 +5787,14 @@ L: sparclinux@vger.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git S: Maintained -F: drivers/tty/serial/suncore.c -F: drivers/tty/serial/suncore.h -F: drivers/tty/serial/sunhv.c -F: drivers/tty/serial/sunsab.c -F: drivers/tty/serial/sunsab.h -F: drivers/tty/serial/sunsu.c -F: drivers/tty/serial/sunzilog.c -F: drivers/tty/serial/sunzilog.h +F: drivers/serial/suncore.c +F: drivers/serial/suncore.h +F: drivers/serial/sunhv.c +F: drivers/serial/sunsab.c +F: drivers/serial/sunsab.h +F: drivers/serial/sunsu.c +F: drivers/serial/sunzilog.c +F: drivers/serial/sunzilog.h SPEAR PLATFORM SUPPORT M: Viresh Kumar @@ -6119,7 +6061,7 @@ S: Maintained F: security/tomoyo/ TOPSTAR LAPTOP EXTRAS DRIVER -M: Herton Ronaldo Krzesinski +M: Herton Ronaldo Krzesinski L: platform-driver-x86@vger.kernel.org S: Maintained F: drivers/platform/x86/topstar-laptop.c @@ -6182,8 +6124,8 @@ TTY LAYER M: Greg Kroah-Hartman S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git -F: drivers/tty/* -F: drivers/tty/serial/serial_core.c +F: drivers/char/tty_* +F: drivers/serial/serial_core.c F: include/linux/serial_core.h F: include/linux/serial.h F: include/linux/tty.h @@ -6627,16 +6569,6 @@ S: Maintained F: drivers/char/virtio_console.c F: include/linux/virtio_console.h -VIRTIO CORE, NET AND BLOCK DRIVERS -M: Rusty Russell -M: "Michael S. Tsirkin" -L: virtualization@lists.linux-foundation.org -S: Maintained -F: drivers/virtio/ -F: drivers/net/virtio_net.c -F: drivers/block/virtio_blk.c -F: include/linux/virtio_*.h - VIRTIO HOST (VHOST) M: "Michael S. Tsirkin" L: kvm@vger.kernel.org @@ -6810,12 +6742,12 @@ S: Maintained F: drivers/net/wireless/wl1251/* WL1271 WIRELESS DRIVER -M: Luciano Coelho +M: Luciano Coelho L: linux-wireless@vger.kernel.org -W: http://wireless.kernel.org/en/users/Drivers/wl12xx +W: http://wireless.kernel.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git S: Maintained -F: drivers/net/wireless/wl12xx/ +F: drivers/net/wireless/wl12xx/wl1271* F: include/linux/wl12xx.h WL3501 WIRELESS PCMCIA CARD DRIVER @@ -6938,7 +6870,7 @@ XILINX UARTLITE SERIAL DRIVER M: Peter Korsgaard L: linux-serial@vger.kernel.org S: Maintained -F: drivers/tty/serial/uartlite.c +F: drivers/serial/uartlite.c YAM DRIVER FOR AX.25 M: Jean-Paul Roubelat @@ -6984,7 +6916,7 @@ F: drivers/media/video/zoran/ ZS DECSTATION Z85C30 SERIAL DRIVER M: "Maciej W. Rozycki" S: Maintained -F: drivers/tty/serial/zs.* +F: drivers/serial/zs.* GRE DEMULTIPLEXER DRIVER M: Dmitry Kozlov diff --git a/trunk/Makefile b/trunk/Makefile index d6592b63c8cb..abb49bf8596e 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 38 -EXTRAVERSION = +EXTRAVERSION = -rc1 NAME = Flesh-Eating Bats with Fangs # *DOCUMENTATION* diff --git a/trunk/arch/alpha/Kconfig b/trunk/arch/alpha/Kconfig index cc31bec2e316..fc95ee1bcf6f 100644 --- a/trunk/arch/alpha/Kconfig +++ b/trunk/arch/alpha/Kconfig @@ -8,10 +8,6 @@ config ALPHA select HAVE_IRQ_WORK select HAVE_PERF_EVENTS select HAVE_DMA_ATTRS - select HAVE_GENERIC_HARDIRQS - select GENERIC_IRQ_PROBE - select AUTO_IRQ_AFFINITY if SMP - select GENERIC_HARDIRQS_NO_DEPRECATED help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, @@ -72,6 +68,22 @@ config GENERIC_IOMAP bool default n +config GENERIC_HARDIRQS_NO__DO_IRQ + def_bool y + +config GENERIC_HARDIRQS + bool + default y + +config GENERIC_IRQ_PROBE + bool + default y + +config AUTO_IRQ_AFFINITY + bool + depends on SMP + default y + source "init/Kconfig" source "kernel/Kconfig.freezer" diff --git a/trunk/arch/alpha/include/asm/futex.h b/trunk/arch/alpha/include/asm/futex.h index e8a761aee088..945de222ab91 100644 --- a/trunk/arch/alpha/include/asm/futex.h +++ b/trunk/arch/alpha/include/asm/futex.h @@ -29,7 +29,7 @@ : "r" (uaddr), "r"(oparg) \ : "memory") -static inline int futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) +static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) { int op = (encoded_op >> 28) & 7; int cmp = (encoded_op >> 24) & 15; @@ -39,7 +39,7 @@ static inline int futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) oparg = 1 << oparg; - if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) + if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) return -EFAULT; pagefault_disable(); @@ -81,23 +81,21 @@ static inline int futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) } static inline int -futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, - u32 oldval, u32 newval) +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) { - int ret = 0, cmp; - u32 prev; + int prev, cmp; - if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) + if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) return -EFAULT; __asm__ __volatile__ ( __ASM_SMP_MB - "1: ldl_l %1,0(%3)\n" - " cmpeq %1,%4,%2\n" - " beq %2,3f\n" - " mov %5,%2\n" - "2: stl_c %2,0(%3)\n" - " beq %2,4f\n" + "1: ldl_l %0,0(%2)\n" + " cmpeq %0,%3,%1\n" + " beq %1,3f\n" + " mov %4,%1\n" + "2: stl_c %1,0(%2)\n" + " beq %1,4f\n" "3: .subsection 2\n" "4: br 1b\n" " .previous\n" @@ -107,12 +105,11 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, " .long 2b-.\n" " lda $31,3b-2b(%0)\n" " .previous\n" - : "+r"(ret), "=&r"(prev), "=&r"(cmp) + : "=&r"(prev), "=&r"(cmp) : "r"(uaddr), "r"((long)oldval), "r"(newval) : "memory"); - *uval = prev; - return ret; + return prev; } #endif /* __KERNEL__ */ diff --git a/trunk/arch/alpha/include/asm/rwsem.h b/trunk/arch/alpha/include/asm/rwsem.h index a83bbea62c67..1570c0b54336 100644 --- a/trunk/arch/alpha/include/asm/rwsem.h +++ b/trunk/arch/alpha/include/asm/rwsem.h @@ -13,13 +13,44 @@ #ifdef __KERNEL__ #include +#include +#include +struct rwsem_waiter; + +extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem); +extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem); +extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *); +extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem); + +/* + * the semaphore definition + */ +struct rw_semaphore { + long count; #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L #define RWSEM_ACTIVE_BIAS 0x0000000000000001L #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL #define RWSEM_WAITING_BIAS (-0x0000000100000000L) #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS #define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) + spinlock_t wait_lock; + struct list_head wait_list; +}; + +#define __RWSEM_INITIALIZER(name) \ + { RWSEM_UNLOCKED_VALUE, SPIN_LOCK_UNLOCKED, \ + LIST_HEAD_INIT((name).wait_list) } + +#define DECLARE_RWSEM(name) \ + struct rw_semaphore name = __RWSEM_INITIALIZER(name) + +static inline void init_rwsem(struct rw_semaphore *sem) +{ + sem->count = RWSEM_UNLOCKED_VALUE; + spin_lock_init(&sem->wait_lock); + INIT_LIST_HEAD(&sem->wait_list); +} static inline void __down_read(struct rw_semaphore *sem) { @@ -219,5 +250,10 @@ static inline long rwsem_atomic_update(long val, struct rw_semaphore *sem) #endif } +static inline int rwsem_is_locked(struct rw_semaphore *sem) +{ + return (sem->count != 0); +} + #endif /* __KERNEL__ */ #endif /* _ALPHA_RWSEM_H */ diff --git a/trunk/arch/alpha/kernel/irq.c b/trunk/arch/alpha/kernel/irq.c index a19d60082299..9ab234f48dd8 100644 --- a/trunk/arch/alpha/kernel/irq.c +++ b/trunk/arch/alpha/kernel/irq.c @@ -44,16 +44,11 @@ static char irq_user_affinity[NR_IRQS]; int irq_select_affinity(unsigned int irq) { - struct irq_data *data = irq_get_irq_data(irq); - struct irq_chip *chip; + struct irq_desc *desc = irq_to_desc[irq]; static int last_cpu; int cpu = last_cpu + 1; - if (!data) - return 1; - chip = irq_data_get_irq_chip(data); - - if (!chip->irq_set_affinity || irq_user_affinity[irq]) + if (!desc || !get_irq_desc_chip(desc)->set_affinity || irq_user_affinity[irq]) return 1; while (!cpu_possible(cpu) || @@ -61,8 +56,8 @@ int irq_select_affinity(unsigned int irq) cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0); last_cpu = cpu; - cpumask_copy(data->affinity, cpumask_of(cpu)); - chip->irq_set_affinity(data, cpumask_of(cpu), false); + cpumask_copy(desc->affinity, cpumask_of(cpu)); + get_irq_desc_chip(desc)->set_affinity(irq, cpumask_of(cpu)); return 0; } #endif /* CONFIG_SMP */ diff --git a/trunk/arch/alpha/kernel/irq_alpha.c b/trunk/arch/alpha/kernel/irq_alpha.c index 411ca11d0a18..2d0679b60939 100644 --- a/trunk/arch/alpha/kernel/irq_alpha.c +++ b/trunk/arch/alpha/kernel/irq_alpha.c @@ -228,9 +228,14 @@ struct irqaction timer_irqaction = { void __init init_rtc_irq(void) { - set_irq_chip_and_handler_name(RTC_IRQ, &no_irq_chip, - handle_simple_irq, "RTC"); - setup_irq(RTC_IRQ, &timer_irqaction); + struct irq_desc *desc = irq_to_desc(RTC_IRQ); + + if (desc) { + desc->status |= IRQ_DISABLED; + set_irq_chip_and_handler_name(RTC_IRQ, &no_irq_chip, + handle_simple_irq, "RTC"); + setup_irq(RTC_IRQ, &timer_irqaction); + } } /* Dummy irqactions. */ diff --git a/trunk/arch/alpha/kernel/irq_i8259.c b/trunk/arch/alpha/kernel/irq_i8259.c index c7cc9813e45f..956ea0ed1694 100644 --- a/trunk/arch/alpha/kernel/irq_i8259.c +++ b/trunk/arch/alpha/kernel/irq_i8259.c @@ -33,10 +33,10 @@ i8259_update_irq_hw(unsigned int irq, unsigned long mask) } inline void -i8259a_enable_irq(struct irq_data *d) +i8259a_enable_irq(unsigned int irq) { spin_lock(&i8259_irq_lock); - i8259_update_irq_hw(d->irq, cached_irq_mask &= ~(1 << d->irq)); + i8259_update_irq_hw(irq, cached_irq_mask &= ~(1 << irq)); spin_unlock(&i8259_irq_lock); } @@ -47,18 +47,16 @@ __i8259a_disable_irq(unsigned int irq) } void -i8259a_disable_irq(struct irq_data *d) +i8259a_disable_irq(unsigned int irq) { spin_lock(&i8259_irq_lock); - __i8259a_disable_irq(d->irq); + __i8259a_disable_irq(irq); spin_unlock(&i8259_irq_lock); } void -i8259a_mask_and_ack_irq(struct irq_data *d) +i8259a_mask_and_ack_irq(unsigned int irq) { - unsigned int irq = d->irq; - spin_lock(&i8259_irq_lock); __i8259a_disable_irq(irq); @@ -73,9 +71,9 @@ i8259a_mask_and_ack_irq(struct irq_data *d) struct irq_chip i8259a_irq_type = { .name = "XT-PIC", - .irq_unmask = i8259a_enable_irq, - .irq_mask = i8259a_disable_irq, - .irq_mask_ack = i8259a_mask_and_ack_irq, + .unmask = i8259a_enable_irq, + .mask = i8259a_disable_irq, + .mask_ack = i8259a_mask_and_ack_irq, }; void __init diff --git a/trunk/arch/alpha/kernel/irq_impl.h b/trunk/arch/alpha/kernel/irq_impl.h index d507a234b05d..b63ccd7386f1 100644 --- a/trunk/arch/alpha/kernel/irq_impl.h +++ b/trunk/arch/alpha/kernel/irq_impl.h @@ -31,9 +31,11 @@ extern void init_rtc_irq(void); extern void common_init_isa_dma(void); -extern void i8259a_enable_irq(struct irq_data *d); -extern void i8259a_disable_irq(struct irq_data *d); -extern void i8259a_mask_and_ack_irq(struct irq_data *d); +extern void i8259a_enable_irq(unsigned int); +extern void i8259a_disable_irq(unsigned int); +extern void i8259a_mask_and_ack_irq(unsigned int); +extern unsigned int i8259a_startup_irq(unsigned int); +extern void i8259a_end_irq(unsigned int); extern struct irq_chip i8259a_irq_type; extern void init_i8259a_irqs(void); diff --git a/trunk/arch/alpha/kernel/irq_pyxis.c b/trunk/arch/alpha/kernel/irq_pyxis.c index b30227fa7f5f..2863458c853e 100644 --- a/trunk/arch/alpha/kernel/irq_pyxis.c +++ b/trunk/arch/alpha/kernel/irq_pyxis.c @@ -29,21 +29,21 @@ pyxis_update_irq_hw(unsigned long mask) } static inline void -pyxis_enable_irq(struct irq_data *d) +pyxis_enable_irq(unsigned int irq) { - pyxis_update_irq_hw(cached_irq_mask |= 1UL << (d->irq - 16)); + pyxis_update_irq_hw(cached_irq_mask |= 1UL << (irq - 16)); } static void -pyxis_disable_irq(struct irq_data *d) +pyxis_disable_irq(unsigned int irq) { - pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (d->irq - 16))); + pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16))); } static void -pyxis_mask_and_ack_irq(struct irq_data *d) +pyxis_mask_and_ack_irq(unsigned int irq) { - unsigned long bit = 1UL << (d->irq - 16); + unsigned long bit = 1UL << (irq - 16); unsigned long mask = cached_irq_mask &= ~bit; /* Disable the interrupt. */ @@ -58,9 +58,9 @@ pyxis_mask_and_ack_irq(struct irq_data *d) static struct irq_chip pyxis_irq_type = { .name = "PYXIS", - .irq_mask_ack = pyxis_mask_and_ack_irq, - .irq_mask = pyxis_disable_irq, - .irq_unmask = pyxis_enable_irq, + .mask_ack = pyxis_mask_and_ack_irq, + .mask = pyxis_disable_irq, + .unmask = pyxis_enable_irq, }; void @@ -103,7 +103,7 @@ init_pyxis_irqs(unsigned long ignore_mask) if ((ignore_mask >> i) & 1) continue; set_irq_chip_and_handler(i, &pyxis_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); + irq_to_desc(i)->status |= IRQ_LEVEL; } setup_irq(16+7, &isa_cascade_irqaction); diff --git a/trunk/arch/alpha/kernel/irq_srm.c b/trunk/arch/alpha/kernel/irq_srm.c index 82a47bba41c4..0e57e828b413 100644 --- a/trunk/arch/alpha/kernel/irq_srm.c +++ b/trunk/arch/alpha/kernel/irq_srm.c @@ -18,27 +18,27 @@ DEFINE_SPINLOCK(srm_irq_lock); static inline void -srm_enable_irq(struct irq_data *d) +srm_enable_irq(unsigned int irq) { spin_lock(&srm_irq_lock); - cserve_ena(d->irq - 16); + cserve_ena(irq - 16); spin_unlock(&srm_irq_lock); } static void -srm_disable_irq(struct irq_data *d) +srm_disable_irq(unsigned int irq) { spin_lock(&srm_irq_lock); - cserve_dis(d->irq - 16); + cserve_dis(irq - 16); spin_unlock(&srm_irq_lock); } /* Handle interrupts from the SRM, assuming no additional weirdness. */ static struct irq_chip srm_irq_type = { .name = "SRM", - .irq_unmask = srm_enable_irq, - .irq_mask = srm_disable_irq, - .irq_mask_ack = srm_disable_irq, + .unmask = srm_enable_irq, + .mask = srm_disable_irq, + .mask_ack = srm_disable_irq, }; void __init @@ -52,7 +52,7 @@ init_srm_irqs(long max, unsigned long ignore_mask) if (i < 64 && ((ignore_mask >> i) & 1)) continue; set_irq_chip_and_handler(i, &srm_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); + irq_to_desc(i)->status |= IRQ_LEVEL; } } diff --git a/trunk/arch/alpha/kernel/osf_sys.c b/trunk/arch/alpha/kernel/osf_sys.c index 376f22130791..fe698b5045e9 100644 --- a/trunk/arch/alpha/kernel/osf_sys.c +++ b/trunk/arch/alpha/kernel/osf_sys.c @@ -230,24 +230,44 @@ linux_to_osf_statfs(struct kstatfs *linux_stat, struct osf_statfs __user *osf_st return copy_to_user(osf_stat, &tmp_stat, bufsiz) ? -EFAULT : 0; } -SYSCALL_DEFINE3(osf_statfs, const char __user *, pathname, - struct osf_statfs __user *, buffer, unsigned long, bufsiz) +static int +do_osf_statfs(struct path *path, struct osf_statfs __user *buffer, + unsigned long bufsiz) { struct kstatfs linux_stat; - int error = user_statfs(pathname, &linux_stat); + int error = vfs_statfs(path, &linux_stat); if (!error) error = linux_to_osf_statfs(&linux_stat, buffer, bufsiz); return error; } +SYSCALL_DEFINE3(osf_statfs, const char __user *, pathname, + struct osf_statfs __user *, buffer, unsigned long, bufsiz) +{ + struct path path; + int retval; + + retval = user_path(pathname, &path); + if (!retval) { + retval = do_osf_statfs(&path, buffer, bufsiz); + path_put(&path); + } + return retval; +} + SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd, struct osf_statfs __user *, buffer, unsigned long, bufsiz) { - struct kstatfs linux_stat; - int error = fd_statfs(fd, &linux_stat); - if (!error) - error = linux_to_osf_statfs(&linux_stat, buffer, bufsiz); - return error; + struct file *file; + int retval; + + retval = -EBADF; + file = fget(fd); + if (file) { + retval = do_osf_statfs(&file->f_path, buffer, bufsiz); + fput(file); + } + return retval; } /* diff --git a/trunk/arch/alpha/kernel/sys_alcor.c b/trunk/arch/alpha/kernel/sys_alcor.c index 88d95e872f55..7bef61768236 100644 --- a/trunk/arch/alpha/kernel/sys_alcor.c +++ b/trunk/arch/alpha/kernel/sys_alcor.c @@ -44,31 +44,31 @@ alcor_update_irq_hw(unsigned long mask) } static inline void -alcor_enable_irq(struct irq_data *d) +alcor_enable_irq(unsigned int irq) { - alcor_update_irq_hw(cached_irq_mask |= 1UL << (d->irq - 16)); + alcor_update_irq_hw(cached_irq_mask |= 1UL << (irq - 16)); } static void -alcor_disable_irq(struct irq_data *d) +alcor_disable_irq(unsigned int irq) { - alcor_update_irq_hw(cached_irq_mask &= ~(1UL << (d->irq - 16))); + alcor_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16))); } static void -alcor_mask_and_ack_irq(struct irq_data *d) +alcor_mask_and_ack_irq(unsigned int irq) { - alcor_disable_irq(d); + alcor_disable_irq(irq); /* On ALCOR/XLT, need to dismiss interrupt via GRU. */ - *(vuip)GRU_INT_CLEAR = 1 << (d->irq - 16); mb(); + *(vuip)GRU_INT_CLEAR = 1 << (irq - 16); mb(); *(vuip)GRU_INT_CLEAR = 0; mb(); } static void -alcor_isa_mask_and_ack_irq(struct irq_data *d) +alcor_isa_mask_and_ack_irq(unsigned int irq) { - i8259a_mask_and_ack_irq(d); + i8259a_mask_and_ack_irq(irq); /* On ALCOR/XLT, need to dismiss interrupt via GRU. */ *(vuip)GRU_INT_CLEAR = 0x80000000; mb(); @@ -77,9 +77,9 @@ alcor_isa_mask_and_ack_irq(struct irq_data *d) static struct irq_chip alcor_irq_type = { .name = "ALCOR", - .irq_unmask = alcor_enable_irq, - .irq_mask = alcor_disable_irq, - .irq_mask_ack = alcor_mask_and_ack_irq, + .unmask = alcor_enable_irq, + .mask = alcor_disable_irq, + .mask_ack = alcor_mask_and_ack_irq, }; static void @@ -126,9 +126,9 @@ alcor_init_irq(void) if (i >= 16+20 && i <= 16+30) continue; set_irq_chip_and_handler(i, &alcor_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); + irq_to_desc(i)->status |= IRQ_LEVEL; } - i8259a_irq_type.irq_ack = alcor_isa_mask_and_ack_irq; + i8259a_irq_type.ack = alcor_isa_mask_and_ack_irq; init_i8259a_irqs(); common_init_isa_dma(); diff --git a/trunk/arch/alpha/kernel/sys_cabriolet.c b/trunk/arch/alpha/kernel/sys_cabriolet.c index 57eb6307bc27..b0c916493aea 100644 --- a/trunk/arch/alpha/kernel/sys_cabriolet.c +++ b/trunk/arch/alpha/kernel/sys_cabriolet.c @@ -46,22 +46,22 @@ cabriolet_update_irq_hw(unsigned int irq, unsigned long mask) } static inline void -cabriolet_enable_irq(struct irq_data *d) +cabriolet_enable_irq(unsigned int irq) { - cabriolet_update_irq_hw(d->irq, cached_irq_mask &= ~(1UL << d->irq)); + cabriolet_update_irq_hw(irq, cached_irq_mask &= ~(1UL << irq)); } static void -cabriolet_disable_irq(struct irq_data *d) +cabriolet_disable_irq(unsigned int irq) { - cabriolet_update_irq_hw(d->irq, cached_irq_mask |= 1UL << d->irq); + cabriolet_update_irq_hw(irq, cached_irq_mask |= 1UL << irq); } static struct irq_chip cabriolet_irq_type = { .name = "CABRIOLET", - .irq_unmask = cabriolet_enable_irq, - .irq_mask = cabriolet_disable_irq, - .irq_mask_ack = cabriolet_disable_irq, + .unmask = cabriolet_enable_irq, + .mask = cabriolet_disable_irq, + .mask_ack = cabriolet_disable_irq, }; static void @@ -107,7 +107,7 @@ common_init_irq(void (*srm_dev_int)(unsigned long v)) for (i = 16; i < 35; ++i) { set_irq_chip_and_handler(i, &cabriolet_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); + irq_to_desc(i)->status |= IRQ_LEVEL; } } diff --git a/trunk/arch/alpha/kernel/sys_dp264.c b/trunk/arch/alpha/kernel/sys_dp264.c index 481df4ecb651..edad5f759ccd 100644 --- a/trunk/arch/alpha/kernel/sys_dp264.c +++ b/trunk/arch/alpha/kernel/sys_dp264.c @@ -98,37 +98,37 @@ tsunami_update_irq_hw(unsigned long mask) } static void -dp264_enable_irq(struct irq_data *d) +dp264_enable_irq(unsigned int irq) { spin_lock(&dp264_irq_lock); - cached_irq_mask |= 1UL << d->irq; + cached_irq_mask |= 1UL << irq; tsunami_update_irq_hw(cached_irq_mask); spin_unlock(&dp264_irq_lock); } static void -dp264_disable_irq(struct irq_data *d) +dp264_disable_irq(unsigned int irq) { spin_lock(&dp264_irq_lock); - cached_irq_mask &= ~(1UL << d->irq); + cached_irq_mask &= ~(1UL << irq); tsunami_update_irq_hw(cached_irq_mask); spin_unlock(&dp264_irq_lock); } static void -clipper_enable_irq(struct irq_data *d) +clipper_enable_irq(unsigned int irq) { spin_lock(&dp264_irq_lock); - cached_irq_mask |= 1UL << (d->irq - 16); + cached_irq_mask |= 1UL << (irq - 16); tsunami_update_irq_hw(cached_irq_mask); spin_unlock(&dp264_irq_lock); } static void -clipper_disable_irq(struct irq_data *d) +clipper_disable_irq(unsigned int irq) { spin_lock(&dp264_irq_lock); - cached_irq_mask &= ~(1UL << (d->irq - 16)); + cached_irq_mask &= ~(1UL << (irq - 16)); tsunami_update_irq_hw(cached_irq_mask); spin_unlock(&dp264_irq_lock); } @@ -149,11 +149,10 @@ cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) } static int -dp264_set_affinity(struct irq_data *d, const struct cpumask *affinity, - bool force) -{ +dp264_set_affinity(unsigned int irq, const struct cpumask *affinity) +{ spin_lock(&dp264_irq_lock); - cpu_set_irq_affinity(d->irq, *affinity); + cpu_set_irq_affinity(irq, *affinity); tsunami_update_irq_hw(cached_irq_mask); spin_unlock(&dp264_irq_lock); @@ -161,11 +160,10 @@ dp264_set_affinity(struct irq_data *d, const struct cpumask *affinity, } static int -clipper_set_affinity(struct irq_data *d, const struct cpumask *affinity, - bool force) -{ +clipper_set_affinity(unsigned int irq, const struct cpumask *affinity) +{ spin_lock(&dp264_irq_lock); - cpu_set_irq_affinity(d->irq - 16, *affinity); + cpu_set_irq_affinity(irq - 16, *affinity); tsunami_update_irq_hw(cached_irq_mask); spin_unlock(&dp264_irq_lock); @@ -173,19 +171,19 @@ clipper_set_affinity(struct irq_data *d, const struct cpumask *affinity, } static struct irq_chip dp264_irq_type = { - .name = "DP264", - .irq_unmask = dp264_enable_irq, - .irq_mask = dp264_disable_irq, - .irq_mask_ack = dp264_disable_irq, - .irq_set_affinity = dp264_set_affinity, + .name = "DP264", + .unmask = dp264_enable_irq, + .mask = dp264_disable_irq, + .mask_ack = dp264_disable_irq, + .set_affinity = dp264_set_affinity, }; static struct irq_chip clipper_irq_type = { - .name = "CLIPPER", - .irq_unmask = clipper_enable_irq, - .irq_mask = clipper_disable_irq, - .irq_mask_ack = clipper_disable_irq, - .irq_set_affinity = clipper_set_affinity, + .name = "CLIPPER", + .unmask = clipper_enable_irq, + .mask = clipper_disable_irq, + .mask_ack = clipper_disable_irq, + .set_affinity = clipper_set_affinity, }; static void @@ -270,8 +268,8 @@ init_tsunami_irqs(struct irq_chip * ops, int imin, int imax) { long i; for (i = imin; i <= imax; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, ops, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } } diff --git a/trunk/arch/alpha/kernel/sys_eb64p.c b/trunk/arch/alpha/kernel/sys_eb64p.c index 402e908ffb3e..ae5f29d127b0 100644 --- a/trunk/arch/alpha/kernel/sys_eb64p.c +++ b/trunk/arch/alpha/kernel/sys_eb64p.c @@ -44,22 +44,22 @@ eb64p_update_irq_hw(unsigned int irq, unsigned long mask) } static inline void -eb64p_enable_irq(struct irq_data *d) +eb64p_enable_irq(unsigned int irq) { - eb64p_update_irq_hw(d->irq, cached_irq_mask &= ~(1 << d->irq)); + eb64p_update_irq_hw(irq, cached_irq_mask &= ~(1 << irq)); } static void -eb64p_disable_irq(struct irq_data *d) +eb64p_disable_irq(unsigned int irq) { - eb64p_update_irq_hw(d->irq, cached_irq_mask |= 1 << d->irq); + eb64p_update_irq_hw(irq, cached_irq_mask |= 1 << irq); } static struct irq_chip eb64p_irq_type = { .name = "EB64P", - .irq_unmask = eb64p_enable_irq, - .irq_mask = eb64p_disable_irq, - .irq_mask_ack = eb64p_disable_irq, + .unmask = eb64p_enable_irq, + .mask = eb64p_disable_irq, + .mask_ack = eb64p_disable_irq, }; static void @@ -118,9 +118,9 @@ eb64p_init_irq(void) init_i8259a_irqs(); for (i = 16; i < 32; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &eb64p_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); - } + } common_init_isa_dma(); setup_irq(16+5, &isa_cascade_irqaction); diff --git a/trunk/arch/alpha/kernel/sys_eiger.c b/trunk/arch/alpha/kernel/sys_eiger.c index 0b44a54c1522..1121bc5c6c6c 100644 --- a/trunk/arch/alpha/kernel/sys_eiger.c +++ b/trunk/arch/alpha/kernel/sys_eiger.c @@ -51,18 +51,16 @@ eiger_update_irq_hw(unsigned long irq, unsigned long mask) } static inline void -eiger_enable_irq(struct irq_data *d) +eiger_enable_irq(unsigned int irq) { - unsigned int irq = d->irq; unsigned long mask; mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63))); eiger_update_irq_hw(irq, mask); } static void -eiger_disable_irq(struct irq_data *d) +eiger_disable_irq(unsigned int irq) { - unsigned int irq = d->irq; unsigned long mask; mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63)); eiger_update_irq_hw(irq, mask); @@ -70,9 +68,9 @@ eiger_disable_irq(struct irq_data *d) static struct irq_chip eiger_irq_type = { .name = "EIGER", - .irq_unmask = eiger_enable_irq, - .irq_mask = eiger_disable_irq, - .irq_mask_ack = eiger_disable_irq, + .unmask = eiger_enable_irq, + .mask = eiger_disable_irq, + .mask_ack = eiger_disable_irq, }; static void @@ -138,8 +136,8 @@ eiger_init_irq(void) init_i8259a_irqs(); for (i = 16; i < 128; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &eiger_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } } diff --git a/trunk/arch/alpha/kernel/sys_jensen.c b/trunk/arch/alpha/kernel/sys_jensen.c index 00341b75c8b2..34f55e03d331 100644 --- a/trunk/arch/alpha/kernel/sys_jensen.c +++ b/trunk/arch/alpha/kernel/sys_jensen.c @@ -63,34 +63,34 @@ */ static void -jensen_local_enable(struct irq_data *d) +jensen_local_enable(unsigned int irq) { /* the parport is really hw IRQ 1, silly Jensen. */ - if (d->irq == 7) - i8259a_enable_irq(d); + if (irq == 7) + i8259a_enable_irq(1); } static void -jensen_local_disable(struct irq_data *d) +jensen_local_disable(unsigned int irq) { /* the parport is really hw IRQ 1, silly Jensen. */ - if (d->irq == 7) - i8259a_disable_irq(d); + if (irq == 7) + i8259a_disable_irq(1); } static void -jensen_local_mask_ack(struct irq_data *d) +jensen_local_mask_ack(unsigned int irq) { /* the parport is really hw IRQ 1, silly Jensen. */ - if (d->irq == 7) - i8259a_mask_and_ack_irq(d); + if (irq == 7) + i8259a_mask_and_ack_irq(1); } static struct irq_chip jensen_local_irq_type = { .name = "LOCAL", - .irq_unmask = jensen_local_enable, - .irq_mask = jensen_local_disable, - .irq_mask_ack = jensen_local_mask_ack, + .unmask = jensen_local_enable, + .mask = jensen_local_disable, + .mask_ack = jensen_local_mask_ack, }; static void diff --git a/trunk/arch/alpha/kernel/sys_marvel.c b/trunk/arch/alpha/kernel/sys_marvel.c index e61910734e41..2bfc9f1b1ddc 100644 --- a/trunk/arch/alpha/kernel/sys_marvel.c +++ b/trunk/arch/alpha/kernel/sys_marvel.c @@ -104,10 +104,9 @@ io7_get_irq_ctl(unsigned int irq, struct io7 **pio7) } static void -io7_enable_irq(struct irq_data *d) +io7_enable_irq(unsigned int irq) { volatile unsigned long *ctl; - unsigned int irq = d->irq; struct io7 *io7; ctl = io7_get_irq_ctl(irq, &io7); @@ -116,7 +115,7 @@ io7_enable_irq(struct irq_data *d) __func__, irq); return; } - + spin_lock(&io7->irq_lock); *ctl |= 1UL << 24; mb(); @@ -125,10 +124,9 @@ io7_enable_irq(struct irq_data *d) } static void -io7_disable_irq(struct irq_data *d) +io7_disable_irq(unsigned int irq) { volatile unsigned long *ctl; - unsigned int irq = d->irq; struct io7 *io7; ctl = io7_get_irq_ctl(irq, &io7); @@ -137,7 +135,7 @@ io7_disable_irq(struct irq_data *d) __func__, irq); return; } - + spin_lock(&io7->irq_lock); *ctl &= ~(1UL << 24); mb(); @@ -146,29 +144,35 @@ io7_disable_irq(struct irq_data *d) } static void -marvel_irq_noop(struct irq_data *d) -{ - return; +marvel_irq_noop(unsigned int irq) +{ + return; +} + +static unsigned int +marvel_irq_noop_return(unsigned int irq) +{ + return 0; } static struct irq_chip marvel_legacy_irq_type = { .name = "LEGACY", - .irq_mask = marvel_irq_noop, - .irq_unmask = marvel_irq_noop, + .mask = marvel_irq_noop, + .unmask = marvel_irq_noop, }; static struct irq_chip io7_lsi_irq_type = { .name = "LSI", - .irq_unmask = io7_enable_irq, - .irq_mask = io7_disable_irq, - .irq_mask_ack = io7_disable_irq, + .unmask = io7_enable_irq, + .mask = io7_disable_irq, + .mask_ack = io7_disable_irq, }; static struct irq_chip io7_msi_irq_type = { .name = "MSI", - .irq_unmask = io7_enable_irq, - .irq_mask = io7_disable_irq, - .irq_ack = marvel_irq_noop, + .unmask = io7_enable_irq, + .mask = io7_disable_irq, + .ack = marvel_irq_noop, }; static void @@ -276,8 +280,8 @@ init_io7_irqs(struct io7 *io7, /* Set up the lsi irqs. */ for (i = 0; i < 128; ++i) { + irq_to_desc(base + i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(base + i, lsi_ops, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } /* Disable the implemented irqs in hardware. */ @@ -290,8 +294,8 @@ init_io7_irqs(struct io7 *io7, /* Set up the msi irqs. */ for (i = 128; i < (128 + 512); ++i) { + irq_to_desc(base + i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(base + i, msi_ops, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } for (i = 0; i < 16; ++i) diff --git a/trunk/arch/alpha/kernel/sys_mikasa.c b/trunk/arch/alpha/kernel/sys_mikasa.c index cf7f43dd3147..bcc1639e8efb 100644 --- a/trunk/arch/alpha/kernel/sys_mikasa.c +++ b/trunk/arch/alpha/kernel/sys_mikasa.c @@ -43,22 +43,22 @@ mikasa_update_irq_hw(int mask) } static inline void -mikasa_enable_irq(struct irq_data *d) +mikasa_enable_irq(unsigned int irq) { - mikasa_update_irq_hw(cached_irq_mask |= 1 << (d->irq - 16)); + mikasa_update_irq_hw(cached_irq_mask |= 1 << (irq - 16)); } static void -mikasa_disable_irq(struct irq_data *d) +mikasa_disable_irq(unsigned int irq) { - mikasa_update_irq_hw(cached_irq_mask &= ~(1 << (d->irq - 16))); + mikasa_update_irq_hw(cached_irq_mask &= ~(1 << (irq - 16))); } static struct irq_chip mikasa_irq_type = { .name = "MIKASA", - .irq_unmask = mikasa_enable_irq, - .irq_mask = mikasa_disable_irq, - .irq_mask_ack = mikasa_disable_irq, + .unmask = mikasa_enable_irq, + .mask = mikasa_disable_irq, + .mask_ack = mikasa_disable_irq, }; static void @@ -98,8 +98,8 @@ mikasa_init_irq(void) mikasa_update_irq_hw(0); for (i = 16; i < 32; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &mikasa_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } init_i8259a_irqs(); diff --git a/trunk/arch/alpha/kernel/sys_noritake.c b/trunk/arch/alpha/kernel/sys_noritake.c index 92bc188e94a9..e88f4ae1260e 100644 --- a/trunk/arch/alpha/kernel/sys_noritake.c +++ b/trunk/arch/alpha/kernel/sys_noritake.c @@ -48,22 +48,22 @@ noritake_update_irq_hw(int irq, int mask) } static void -noritake_enable_irq(struct irq_data *d) +noritake_enable_irq(unsigned int irq) { - noritake_update_irq_hw(d->irq, cached_irq_mask |= 1 << (d->irq - 16)); + noritake_update_irq_hw(irq, cached_irq_mask |= 1 << (irq - 16)); } static void -noritake_disable_irq(struct irq_data *d) +noritake_disable_irq(unsigned int irq) { - noritake_update_irq_hw(d->irq, cached_irq_mask &= ~(1 << (d->irq - 16))); + noritake_update_irq_hw(irq, cached_irq_mask &= ~(1 << (irq - 16))); } static struct irq_chip noritake_irq_type = { .name = "NORITAKE", - .irq_unmask = noritake_enable_irq, - .irq_mask = noritake_disable_irq, - .irq_mask_ack = noritake_disable_irq, + .unmask = noritake_enable_irq, + .mask = noritake_disable_irq, + .mask_ack = noritake_disable_irq, }; static void @@ -127,8 +127,8 @@ noritake_init_irq(void) outw(0, 0x54c); for (i = 16; i < 48; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &noritake_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } init_i8259a_irqs(); diff --git a/trunk/arch/alpha/kernel/sys_rawhide.c b/trunk/arch/alpha/kernel/sys_rawhide.c index 936d4140ed5f..6a51364dd1cc 100644 --- a/trunk/arch/alpha/kernel/sys_rawhide.c +++ b/trunk/arch/alpha/kernel/sys_rawhide.c @@ -56,10 +56,9 @@ rawhide_update_irq_hw(int hose, int mask) (((h) < MCPCIA_MAX_HOSES) && (cached_irq_masks[(h)] != 0)) static inline void -rawhide_enable_irq(struct irq_data *d) +rawhide_enable_irq(unsigned int irq) { unsigned int mask, hose; - unsigned int irq = d->irq; irq -= 16; hose = irq / 24; @@ -77,10 +76,9 @@ rawhide_enable_irq(struct irq_data *d) } static void -rawhide_disable_irq(struct irq_data *d) +rawhide_disable_irq(unsigned int irq) { unsigned int mask, hose; - unsigned int irq = d->irq; irq -= 16; hose = irq / 24; @@ -98,10 +96,9 @@ rawhide_disable_irq(struct irq_data *d) } static void -rawhide_mask_and_ack_irq(struct irq_data *d) +rawhide_mask_and_ack_irq(unsigned int irq) { unsigned int mask, mask1, hose; - unsigned int irq = d->irq; irq -= 16; hose = irq / 24; @@ -126,9 +123,9 @@ rawhide_mask_and_ack_irq(struct irq_data *d) static struct irq_chip rawhide_irq_type = { .name = "RAWHIDE", - .irq_unmask = rawhide_enable_irq, - .irq_mask = rawhide_disable_irq, - .irq_mask_ack = rawhide_mask_and_ack_irq, + .unmask = rawhide_enable_irq, + .mask = rawhide_disable_irq, + .mask_ack = rawhide_mask_and_ack_irq, }; static void @@ -180,8 +177,8 @@ rawhide_init_irq(void) } for (i = 16; i < 128; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &rawhide_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } init_i8259a_irqs(); diff --git a/trunk/arch/alpha/kernel/sys_rx164.c b/trunk/arch/alpha/kernel/sys_rx164.c index cea22a62913b..89e7e37ec84c 100644 --- a/trunk/arch/alpha/kernel/sys_rx164.c +++ b/trunk/arch/alpha/kernel/sys_rx164.c @@ -47,22 +47,22 @@ rx164_update_irq_hw(unsigned long mask) } static inline void -rx164_enable_irq(struct irq_data *d) +rx164_enable_irq(unsigned int irq) { - rx164_update_irq_hw(cached_irq_mask |= 1UL << (d->irq - 16)); + rx164_update_irq_hw(cached_irq_mask |= 1UL << (irq - 16)); } static void -rx164_disable_irq(struct irq_data *d) +rx164_disable_irq(unsigned int irq) { - rx164_update_irq_hw(cached_irq_mask &= ~(1UL << (d->irq - 16))); + rx164_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16))); } static struct irq_chip rx164_irq_type = { .name = "RX164", - .irq_unmask = rx164_enable_irq, - .irq_mask = rx164_disable_irq, - .irq_mask_ack = rx164_disable_irq, + .unmask = rx164_enable_irq, + .mask = rx164_disable_irq, + .mask_ack = rx164_disable_irq, }; static void @@ -99,8 +99,8 @@ rx164_init_irq(void) rx164_update_irq_hw(0); for (i = 16; i < 40; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &rx164_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } init_i8259a_irqs(); diff --git a/trunk/arch/alpha/kernel/sys_sable.c b/trunk/arch/alpha/kernel/sys_sable.c index a349538aabc9..5c4423d1b06c 100644 --- a/trunk/arch/alpha/kernel/sys_sable.c +++ b/trunk/arch/alpha/kernel/sys_sable.c @@ -443,11 +443,11 @@ lynx_swizzle(struct pci_dev *dev, u8 *pinp) /* GENERIC irq routines */ static inline void -sable_lynx_enable_irq(struct irq_data *d) +sable_lynx_enable_irq(unsigned int irq) { unsigned long bit, mask; - bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq]; + bit = sable_lynx_irq_swizzle->irq_to_mask[irq]; spin_lock(&sable_lynx_irq_lock); mask = sable_lynx_irq_swizzle->shadow_mask &= ~(1UL << bit); sable_lynx_irq_swizzle->update_irq_hw(bit, mask); @@ -459,11 +459,11 @@ sable_lynx_enable_irq(struct irq_data *d) } static void -sable_lynx_disable_irq(struct irq_data *d) +sable_lynx_disable_irq(unsigned int irq) { unsigned long bit, mask; - bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq]; + bit = sable_lynx_irq_swizzle->irq_to_mask[irq]; spin_lock(&sable_lynx_irq_lock); mask = sable_lynx_irq_swizzle->shadow_mask |= 1UL << bit; sable_lynx_irq_swizzle->update_irq_hw(bit, mask); @@ -475,11 +475,11 @@ sable_lynx_disable_irq(struct irq_data *d) } static void -sable_lynx_mask_and_ack_irq(struct irq_data *d) +sable_lynx_mask_and_ack_irq(unsigned int irq) { unsigned long bit, mask; - bit = sable_lynx_irq_swizzle->irq_to_mask[d->irq]; + bit = sable_lynx_irq_swizzle->irq_to_mask[irq]; spin_lock(&sable_lynx_irq_lock); mask = sable_lynx_irq_swizzle->shadow_mask |= 1UL << bit; sable_lynx_irq_swizzle->update_irq_hw(bit, mask); @@ -489,9 +489,9 @@ sable_lynx_mask_and_ack_irq(struct irq_data *d) static struct irq_chip sable_lynx_irq_type = { .name = "SABLE/LYNX", - .irq_unmask = sable_lynx_enable_irq, - .irq_mask = sable_lynx_disable_irq, - .irq_mask_ack = sable_lynx_mask_and_ack_irq, + .unmask = sable_lynx_enable_irq, + .mask = sable_lynx_disable_irq, + .mask_ack = sable_lynx_mask_and_ack_irq, }; static void @@ -518,9 +518,9 @@ sable_lynx_init_irq(int nr_of_irqs) long i; for (i = 0; i < nr_of_irqs; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &sable_lynx_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } common_init_isa_dma(); diff --git a/trunk/arch/alpha/kernel/sys_takara.c b/trunk/arch/alpha/kernel/sys_takara.c index 42a5331f13c4..f8a1e8a862fb 100644 --- a/trunk/arch/alpha/kernel/sys_takara.c +++ b/trunk/arch/alpha/kernel/sys_takara.c @@ -45,18 +45,16 @@ takara_update_irq_hw(unsigned long irq, unsigned long mask) } static inline void -takara_enable_irq(struct irq_data *d) +takara_enable_irq(unsigned int irq) { - unsigned int irq = d->irq; unsigned long mask; mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63))); takara_update_irq_hw(irq, mask); } static void -takara_disable_irq(struct irq_data *d) +takara_disable_irq(unsigned int irq) { - unsigned int irq = d->irq; unsigned long mask; mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63)); takara_update_irq_hw(irq, mask); @@ -64,9 +62,9 @@ takara_disable_irq(struct irq_data *d) static struct irq_chip takara_irq_type = { .name = "TAKARA", - .irq_unmask = takara_enable_irq, - .irq_mask = takara_disable_irq, - .irq_mask_ack = takara_disable_irq, + .unmask = takara_enable_irq, + .mask = takara_disable_irq, + .mask_ack = takara_disable_irq, }; static void @@ -138,8 +136,8 @@ takara_init_irq(void) takara_update_irq_hw(i, -1); for (i = 16; i < 128; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, &takara_irq_type, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } common_init_isa_dma(); diff --git a/trunk/arch/alpha/kernel/sys_titan.c b/trunk/arch/alpha/kernel/sys_titan.c index 8c13a0c77830..e02494bf5ef3 100644 --- a/trunk/arch/alpha/kernel/sys_titan.c +++ b/trunk/arch/alpha/kernel/sys_titan.c @@ -112,9 +112,8 @@ titan_update_irq_hw(unsigned long mask) } static inline void -titan_enable_irq(struct irq_data *d) +titan_enable_irq(unsigned int irq) { - unsigned int irq = d->irq; spin_lock(&titan_irq_lock); titan_cached_irq_mask |= 1UL << (irq - 16); titan_update_irq_hw(titan_cached_irq_mask); @@ -122,9 +121,8 @@ titan_enable_irq(struct irq_data *d) } static inline void -titan_disable_irq(struct irq_data *d) +titan_disable_irq(unsigned int irq) { - unsigned int irq = d->irq; spin_lock(&titan_irq_lock); titan_cached_irq_mask &= ~(1UL << (irq - 16)); titan_update_irq_hw(titan_cached_irq_mask); @@ -146,10 +144,8 @@ titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) } static int -titan_set_irq_affinity(struct irq_data *d, const struct cpumask *affinity, - bool force) +titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) { - unsigned int irq = d->irq; spin_lock(&titan_irq_lock); titan_cpu_set_irq_affinity(irq - 16, *affinity); titan_update_irq_hw(titan_cached_irq_mask); @@ -179,17 +175,17 @@ init_titan_irqs(struct irq_chip * ops, int imin, int imax) { long i; for (i = imin; i <= imax; ++i) { + irq_to_desc(i)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i, ops, handle_level_irq); - irq_set_status_flags(i, IRQ_LEVEL); } } static struct irq_chip titan_irq_type = { - .name = "TITAN", - .irq_unmask = titan_enable_irq, - .irq_mask = titan_disable_irq, - .irq_mask_ack = titan_disable_irq, - .irq_set_affinity = titan_set_irq_affinity, + .name = "TITAN", + .unmask = titan_enable_irq, + .mask = titan_disable_irq, + .mask_ack = titan_disable_irq, + .set_affinity = titan_set_irq_affinity, }; static irqreturn_t diff --git a/trunk/arch/alpha/kernel/sys_wildfire.c b/trunk/arch/alpha/kernel/sys_wildfire.c index ca60a387ef0a..eec52594d410 100644 --- a/trunk/arch/alpha/kernel/sys_wildfire.c +++ b/trunk/arch/alpha/kernel/sys_wildfire.c @@ -104,12 +104,10 @@ wildfire_init_irq_hw(void) } static void -wildfire_enable_irq(struct irq_data *d) +wildfire_enable_irq(unsigned int irq) { - unsigned int irq = d->irq; - if (irq < 16) - i8259a_enable_irq(d); + i8259a_enable_irq(irq); spin_lock(&wildfire_irq_lock); set_bit(irq, &cached_irq_mask); @@ -118,12 +116,10 @@ wildfire_enable_irq(struct irq_data *d) } static void -wildfire_disable_irq(struct irq_data *d) +wildfire_disable_irq(unsigned int irq) { - unsigned int irq = d->irq; - if (irq < 16) - i8259a_disable_irq(d); + i8259a_disable_irq(irq); spin_lock(&wildfire_irq_lock); clear_bit(irq, &cached_irq_mask); @@ -132,12 +128,10 @@ wildfire_disable_irq(struct irq_data *d) } static void -wildfire_mask_and_ack_irq(struct irq_data *d) +wildfire_mask_and_ack_irq(unsigned int irq) { - unsigned int irq = d->irq; - if (irq < 16) - i8259a_mask_and_ack_irq(d); + i8259a_mask_and_ack_irq(irq); spin_lock(&wildfire_irq_lock); clear_bit(irq, &cached_irq_mask); @@ -147,9 +141,9 @@ wildfire_mask_and_ack_irq(struct irq_data *d) static struct irq_chip wildfire_irq_type = { .name = "WILDFIRE", - .irq_unmask = wildfire_enable_irq, - .irq_mask = wildfire_disable_irq, - .irq_mask_ack = wildfire_mask_and_ack_irq, + .unmask = wildfire_enable_irq, + .mask = wildfire_disable_irq, + .mask_ack = wildfire_mask_and_ack_irq, }; static void __init @@ -183,21 +177,21 @@ wildfire_init_irq_per_pca(int qbbno, int pcano) for (i = 0; i < 16; ++i) { if (i == 2) continue; + irq_to_desc(i+irq_bias)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i+irq_bias, &wildfire_irq_type, handle_level_irq); - irq_set_status_flags(i + irq_bias, IRQ_LEVEL); } + irq_to_desc(36+irq_bias)->status |= IRQ_LEVEL; set_irq_chip_and_handler(36+irq_bias, &wildfire_irq_type, handle_level_irq); - irq_set_status_flags(36 + irq_bias, IRQ_LEVEL); for (i = 40; i < 64; ++i) { + irq_to_desc(i+irq_bias)->status |= IRQ_LEVEL; set_irq_chip_and_handler(i+irq_bias, &wildfire_irq_type, handle_level_irq); - irq_set_status_flags(i + irq_bias, IRQ_LEVEL); } - setup_irq(32+irq_bias, &isa_enable); + setup_irq(32+irq_bias, &isa_enable); } static void __init diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 166efa2a19cd..5cff165b7eb0 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1177,31 +1177,6 @@ config ARM_ERRATA_743622 visible impact on the overall performance or power consumption of the processor. -config ARM_ERRATA_751472 - bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation" - depends on CPU_V7 && SMP - help - This option enables the workaround for the 751472 Cortex-A9 (prior - to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the - completion of a following broadcasted operation if the second - operation is received by a CPU before the ICIALLUIS has completed, - potentially leading to corrupted entries in the cache or TLB. - -config ARM_ERRATA_753970 - bool "ARM errata: cache sync operation may be faulty" - depends on CACHE_PL310 - help - This option enables the workaround for the 753970 PL310 (r3p0) erratum. - - Under some condition the effect of cache sync operation on - the store buffer still remains when the operation completes. - This means that the store buffer is always asked to drain and - this prevents it from merging any further writes. The workaround - is to replace the normal offset of cache sync operation (0x730) - by another offset targeting an unmapped PL310 register 0x740. - This has the same effect as the cache sync operation: store buffer - drain and waiting for all buffers empty. - endmenu source "arch/arm/common/Kconfig" @@ -1416,7 +1391,7 @@ config AEABI config OABI_COMPAT bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)" - depends on AEABI && EXPERIMENTAL && !THUMB2_KERNEL + depends on AEABI && EXPERIMENTAL default y help This option preserves the old syscall interface along with the diff --git a/trunk/arch/arm/Makefile b/trunk/arch/arm/Makefile index 6f7b29294c80..c22c1adfedd6 100644 --- a/trunk/arch/arm/Makefile +++ b/trunk/arch/arm/Makefile @@ -15,7 +15,7 @@ ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) LDFLAGS_vmlinux += --be8 endif -OBJCOPYFLAGS :=-O binary -R .comment -S +OBJCOPYFLAGS :=-O binary -R .note -R .note.gnu.build-id -R .comment -S GZFLAGS :=-9 #KBUILD_CFLAGS +=-pipe # Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb: diff --git a/trunk/arch/arm/boot/compressed/.gitignore b/trunk/arch/arm/boot/compressed/.gitignore index c6028967d336..ab204db594d3 100644 --- a/trunk/arch/arm/boot/compressed/.gitignore +++ b/trunk/arch/arm/boot/compressed/.gitignore @@ -1,7 +1,3 @@ font.c -lib1funcs.S -piggy.gzip -piggy.lzo -piggy.lzma -vmlinux +piggy.gz vmlinux.lds diff --git a/trunk/arch/arm/common/Kconfig b/trunk/arch/arm/common/Kconfig index ea5ee4d067f3..778655f0257a 100644 --- a/trunk/arch/arm/common/Kconfig +++ b/trunk/arch/arm/common/Kconfig @@ -6,8 +6,6 @@ config ARM_VIC config ARM_VIC_NR int - default 4 if ARCH_S5PV210 - default 3 if ARCH_S5P6442 || ARCH_S5PC100 default 2 depends on ARM_VIC help diff --git a/trunk/arch/arm/configs/ag5evm_defconfig b/trunk/arch/arm/configs/ag5evm_defconfig index 212ead354a6b..2b9cf56db363 100644 --- a/trunk/arch/arm/configs/ag5evm_defconfig +++ b/trunk/arch/arm/configs/ag5evm_defconfig @@ -10,7 +10,7 @@ CONFIG_NAMESPACES=y # CONFIG_PID_NS is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_IOSCHED_DEADLINE is not set diff --git a/trunk/arch/arm/configs/am200epdkit_defconfig b/trunk/arch/arm/configs/am200epdkit_defconfig index f0dea52e49c4..5536c488dd01 100644 --- a/trunk/arch/arm/configs/am200epdkit_defconfig +++ b/trunk/arch/arm/configs/am200epdkit_defconfig @@ -3,7 +3,7 @@ CONFIG_LOCALVERSION="gum" # CONFIG_SWAP is not set CONFIG_SYSVIPC=y CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_SYSCTL_SYSCALL is not set # CONFIG_EPOLL is not set # CONFIG_SHMEM is not set diff --git a/trunk/arch/arm/configs/at572d940hfek_defconfig b/trunk/arch/arm/configs/at572d940hfek_defconfig index 1b1158ae8f82..695e32d4fb58 100644 --- a/trunk/arch/arm/configs/at572d940hfek_defconfig +++ b/trunk/arch/arm/configs/at572d940hfek_defconfig @@ -17,7 +17,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_PROFILING=y CONFIG_OPROFILE=m diff --git a/trunk/arch/arm/configs/badge4_defconfig b/trunk/arch/arm/configs/badge4_defconfig index 5b54abbeb0b3..3a1ad15a779f 100644 --- a/trunk/arch/arm/configs/badge4_defconfig +++ b/trunk/arch/arm/configs/badge4_defconfig @@ -1,6 +1,6 @@ CONFIG_EXPERIMENTAL=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_MODULES=y CONFIG_MODVERSIONS=y CONFIG_ARCH_SA1100=y diff --git a/trunk/arch/arm/configs/bcmring_defconfig b/trunk/arch/arm/configs/bcmring_defconfig index 795374d48f81..75984cd1e233 100644 --- a/trunk/arch/arm/configs/bcmring_defconfig +++ b/trunk/arch/arm/configs/bcmring_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y # CONFIG_LOCALVERSION_AUTO is not set # CONFIG_SWAP is not set CONFIG_SYSVIPC=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_EXTRA_PASS=y # CONFIG_HOTPLUG is not set # CONFIG_ELF_CORE is not set diff --git a/trunk/arch/arm/configs/cm_x2xx_defconfig b/trunk/arch/arm/configs/cm_x2xx_defconfig index a93ff8da5bab..dcfbcf3b6c3e 100644 --- a/trunk/arch/arm/configs/cm_x2xx_defconfig +++ b/trunk/arch/arm/configs/cm_x2xx_defconfig @@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_VM_EVENT_COUNTERS is not set # CONFIG_SLUB_DEBUG is not set # CONFIG_COMPAT_BRK is not set diff --git a/trunk/arch/arm/configs/colibri_pxa270_defconfig b/trunk/arch/arm/configs/colibri_pxa270_defconfig index 2ef2c5e8aaec..f52c64e36d8d 100644 --- a/trunk/arch/arm/configs/colibri_pxa270_defconfig +++ b/trunk/arch/arm/configs/colibri_pxa270_defconfig @@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/collie_defconfig b/trunk/arch/arm/configs/collie_defconfig index 6c56ad086c7c..310f9a6270be 100644 --- a/trunk/arch/arm/configs/collie_defconfig +++ b/trunk/arch/arm/configs/collie_defconfig @@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_BASE_FULL is not set # CONFIG_EPOLL is not set CONFIG_SLOB=y diff --git a/trunk/arch/arm/configs/corgi_defconfig b/trunk/arch/arm/configs/corgi_defconfig index e53c47563845..4a1fa81ed37d 100644 --- a/trunk/arch/arm/configs/corgi_defconfig +++ b/trunk/arch/arm/configs/corgi_defconfig @@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_PROFILING=y CONFIG_OPROFILE=m CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/da8xx_omapl_defconfig b/trunk/arch/arm/configs/da8xx_omapl_defconfig index 88ccde058ba4..cdc40c4b8c48 100644 --- a/trunk/arch/arm/configs/da8xx_omapl_defconfig +++ b/trunk/arch/arm/configs/da8xx_omapl_defconfig @@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y diff --git a/trunk/arch/arm/configs/davinci_all_defconfig b/trunk/arch/arm/configs/davinci_all_defconfig index 889922ad229c..2519cc5a5f8f 100644 --- a/trunk/arch/arm/configs/davinci_all_defconfig +++ b/trunk/arch/arm/configs/davinci_all_defconfig @@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y diff --git a/trunk/arch/arm/configs/dove_defconfig b/trunk/arch/arm/configs/dove_defconfig index 54bf5eec8016..9359e1bf32c1 100644 --- a/trunk/arch/arm/configs/dove_defconfig +++ b/trunk/arch/arm/configs/dove_defconfig @@ -1,7 +1,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/ebsa110_defconfig b/trunk/arch/arm/configs/ebsa110_defconfig index 14559dbb4c2c..c3194186920c 100644 --- a/trunk/arch/arm/configs/ebsa110_defconfig +++ b/trunk/arch/arm/configs/ebsa110_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_MODULES=y CONFIG_ARCH_EBSA110=y CONFIG_PCCARD=m diff --git a/trunk/arch/arm/configs/edb7211_defconfig b/trunk/arch/arm/configs/edb7211_defconfig index d52ded350a12..7b62be1561ea 100644 --- a/trunk/arch/arm/configs/edb7211_defconfig +++ b/trunk/arch/arm/configs/edb7211_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set CONFIG_ARCH_CLPS711X=y CONFIG_ARCH_EDB7211=y diff --git a/trunk/arch/arm/configs/em_x270_defconfig b/trunk/arch/arm/configs/em_x270_defconfig index 60a21e01eb70..d7db34f79702 100644 --- a/trunk/arch/arm/configs/em_x270_defconfig +++ b/trunk/arch/arm/configs/em_x270_defconfig @@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_VM_EVENT_COUNTERS is not set # CONFIG_SLUB_DEBUG is not set # CONFIG_COMPAT_BRK is not set diff --git a/trunk/arch/arm/configs/ep93xx_defconfig b/trunk/arch/arm/configs/ep93xx_defconfig index 8e97b2f7ceec..6d6689cdf398 100644 --- a/trunk/arch/arm/configs/ep93xx_defconfig +++ b/trunk/arch/arm/configs/ep93xx_defconfig @@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/eseries_pxa_defconfig b/trunk/arch/arm/configs/eseries_pxa_defconfig index d68ac67c201c..1691dea582fe 100644 --- a/trunk/arch/arm/configs/eseries_pxa_defconfig +++ b/trunk/arch/arm/configs/eseries_pxa_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_KALLSYMS is not set # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y diff --git a/trunk/arch/arm/configs/ezx_defconfig b/trunk/arch/arm/configs/ezx_defconfig index 227a477346ed..c4eeb6d1cbf0 100644 --- a/trunk/arch/arm/configs/ezx_defconfig +++ b/trunk/arch/arm/configs/ezx_defconfig @@ -7,7 +7,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/footbridge_defconfig b/trunk/arch/arm/configs/footbridge_defconfig index 038518ab39a8..4f925ead2617 100644 --- a/trunk/arch/arm/configs/footbridge_defconfig +++ b/trunk/arch/arm/configs/footbridge_defconfig @@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set CONFIG_MODULES=y CONFIG_ARCH_FOOTBRIDGE=y diff --git a/trunk/arch/arm/configs/fortunet_defconfig b/trunk/arch/arm/configs/fortunet_defconfig index 840fced7529f..e11c7eab8ed0 100644 --- a/trunk/arch/arm/configs/fortunet_defconfig +++ b/trunk/arch/arm/configs/fortunet_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set CONFIG_ARCH_CLPS711X=y CONFIG_ARCH_FORTUNET=y diff --git a/trunk/arch/arm/configs/h5000_defconfig b/trunk/arch/arm/configs/h5000_defconfig index 37903e3f0efc..ac336f10000c 100644 --- a/trunk/arch/arm/configs/h5000_defconfig +++ b/trunk/arch/arm/configs/h5000_defconfig @@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=16 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_UID16 is not set CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/imote2_defconfig b/trunk/arch/arm/configs/imote2_defconfig index 176ec22af034..ade55c8c408b 100644 --- a/trunk/arch/arm/configs/imote2_defconfig +++ b/trunk/arch/arm/configs/imote2_defconfig @@ -6,7 +6,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/ixp2000_defconfig b/trunk/arch/arm/configs/ixp2000_defconfig index 8405aded97a3..908324684549 100644 --- a/trunk/arch/arm/configs/ixp2000_defconfig +++ b/trunk/arch/arm/configs/ixp2000_defconfig @@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/ixp23xx_defconfig b/trunk/arch/arm/configs/ixp23xx_defconfig index 688717612e91..7fc056a8569c 100644 --- a/trunk/arch/arm/configs/ixp23xx_defconfig +++ b/trunk/arch/arm/configs/ixp23xx_defconfig @@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/ixp4xx_defconfig b/trunk/arch/arm/configs/ixp4xx_defconfig index 063e2ab2c8f1..5c5023934001 100644 --- a/trunk/arch/arm/configs/ixp4xx_defconfig +++ b/trunk/arch/arm/configs/ixp4xx_defconfig @@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_MODULES=y CONFIG_MODVERSIONS=y # CONFIG_BLK_DEV_BSG is not set diff --git a/trunk/arch/arm/configs/loki_defconfig b/trunk/arch/arm/configs/loki_defconfig index 1ba752b2dc6d..e1eaff7f5536 100644 --- a/trunk/arch/arm/configs/loki_defconfig +++ b/trunk/arch/arm/configs/loki_defconfig @@ -1,7 +1,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/lpd7a400_defconfig b/trunk/arch/arm/configs/lpd7a400_defconfig index 5a48f171204c..20caaaba4a04 100644 --- a/trunk/arch/arm/configs/lpd7a400_defconfig +++ b/trunk/arch/arm/configs/lpd7a400_defconfig @@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_IKCONFIG=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set # CONFIG_EPOLL is not set # CONFIG_IOSCHED_DEADLINE is not set diff --git a/trunk/arch/arm/configs/lpd7a404_defconfig b/trunk/arch/arm/configs/lpd7a404_defconfig index 22d0631de009..1efcce97b4a7 100644 --- a/trunk/arch/arm/configs/lpd7a404_defconfig +++ b/trunk/arch/arm/configs/lpd7a404_defconfig @@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_IKCONFIG=y CONFIG_LOG_BUF_SHIFT=16 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set # CONFIG_EPOLL is not set CONFIG_SLAB=y diff --git a/trunk/arch/arm/configs/magician_defconfig b/trunk/arch/arm/configs/magician_defconfig index a88e64d4e9a5..af805e8fd03d 100644 --- a/trunk/arch/arm/configs/magician_defconfig +++ b/trunk/arch/arm/configs/magician_defconfig @@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=16 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_UID16 is not set CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/mv78xx0_defconfig b/trunk/arch/arm/configs/mv78xx0_defconfig index 7305ebddb510..b0d082422d46 100644 --- a/trunk/arch/arm/configs/mv78xx0_defconfig +++ b/trunk/arch/arm/configs/mv78xx0_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_ALL=y # CONFIG_SLUB_DEBUG is not set CONFIG_PROFILING=y diff --git a/trunk/arch/arm/configs/mx1_defconfig b/trunk/arch/arm/configs/mx1_defconfig index b39b5ced8a10..2f38d9715437 100644 --- a/trunk/arch/arm/configs/mx1_defconfig +++ b/trunk/arch/arm/configs/mx1_defconfig @@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/mx21_defconfig b/trunk/arch/arm/configs/mx21_defconfig index 411f88dd4402..6454e18e2abe 100644 --- a/trunk/arch/arm/configs/mx21_defconfig +++ b/trunk/arch/arm/configs/mx21_defconfig @@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/mx27_defconfig b/trunk/arch/arm/configs/mx27_defconfig index 9ad4c656c9bd..813cfb366c18 100644 --- a/trunk/arch/arm/configs/mx27_defconfig +++ b/trunk/arch/arm/configs/mx27_defconfig @@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_LOG_BUF_SHIFT=14 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_EXTRA_PASS=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y diff --git a/trunk/arch/arm/configs/mx3_defconfig b/trunk/arch/arm/configs/mx3_defconfig index 7c4b30b34952..e648ea3429be 100644 --- a/trunk/arch/arm/configs/mx3_defconfig +++ b/trunk/arch/arm/configs/mx3_defconfig @@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/mx51_defconfig b/trunk/arch/arm/configs/mx51_defconfig index 9cba68cfa51a..5c7a87260fab 100644 --- a/trunk/arch/arm/configs/mx51_defconfig +++ b/trunk/arch/arm/configs/mx51_defconfig @@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_RELAY=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_SLUB_DEBUG is not set # CONFIG_COMPAT_BRK is not set CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/nhk8815_defconfig b/trunk/arch/arm/configs/nhk8815_defconfig index 37207d1bf44b..0e2dc26ebe66 100644 --- a/trunk/arch/arm/configs/nhk8815_defconfig +++ b/trunk/arch/arm/configs/nhk8815_defconfig @@ -7,7 +7,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_ALL=y CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/omap1_defconfig b/trunk/arch/arm/configs/omap1_defconfig index 7b63462b349d..a350cc6bfe6a 100644 --- a/trunk/arch/arm/configs/omap1_defconfig +++ b/trunk/arch/arm/configs/omap1_defconfig @@ -6,7 +6,7 @@ CONFIG_BSD_PROCESS_ACCT=y CONFIG_IKCONFIG=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_KALLSYMS is not set # CONFIG_ELF_CORE is not set # CONFIG_BASE_FULL is not set diff --git a/trunk/arch/arm/configs/omap2plus_defconfig b/trunk/arch/arm/configs/omap2plus_defconfig index ae890caa17a7..ccedde1371c3 100644 --- a/trunk/arch/arm/configs/omap2plus_defconfig +++ b/trunk/arch/arm/configs/omap2plus_defconfig @@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=16 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_SLAB=y diff --git a/trunk/arch/arm/configs/orion5x_defconfig b/trunk/arch/arm/configs/orion5x_defconfig index a288d7033950..439323b3b0ed 100644 --- a/trunk/arch/arm/configs/orion5x_defconfig +++ b/trunk/arch/arm/configs/orion5x_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_SLUB_DEBUG is not set CONFIG_PROFILING=y CONFIG_OPROFILE=y diff --git a/trunk/arch/arm/configs/pcm027_defconfig b/trunk/arch/arm/configs/pcm027_defconfig index 2f136c30a989..583a0610bd00 100644 --- a/trunk/arch/arm/configs/pcm027_defconfig +++ b/trunk/arch/arm/configs/pcm027_defconfig @@ -7,7 +7,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_KALLSYMS is not set CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/pcontrol_g20_defconfig b/trunk/arch/arm/configs/pcontrol_g20_defconfig index c75c9fcede58..b42ee62c4d77 100644 --- a/trunk/arch/arm/configs/pcontrol_g20_defconfig +++ b/trunk/arch/arm/configs/pcontrol_g20_defconfig @@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_NAMESPACES=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_SYSCTL_SYSCALL is not set # CONFIG_KALLSYMS is not set # CONFIG_VM_EVENT_COUNTERS is not set diff --git a/trunk/arch/arm/configs/pleb_defconfig b/trunk/arch/arm/configs/pleb_defconfig index cb08cc561da5..d1efbdc1e6dc 100644 --- a/trunk/arch/arm/configs/pleb_defconfig +++ b/trunk/arch/arm/configs/pleb_defconfig @@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_HOTPLUG is not set # CONFIG_SHMEM is not set CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/pnx4008_defconfig b/trunk/arch/arm/configs/pnx4008_defconfig index 35a31ccacc32..bd481f04276f 100644 --- a/trunk/arch/arm/configs/pnx4008_defconfig +++ b/trunk/arch/arm/configs/pnx4008_defconfig @@ -5,7 +5,7 @@ CONFIG_BSD_PROCESS_ACCT=y CONFIG_AUDIT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/simpad_defconfig b/trunk/arch/arm/configs/simpad_defconfig index d3358155bf8a..af3b12e3b464 100644 --- a/trunk/arch/arm/configs/simpad_defconfig +++ b/trunk/arch/arm/configs/simpad_defconfig @@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_LOCALVERSION="oe1" CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/spitz_defconfig b/trunk/arch/arm/configs/spitz_defconfig index 70158273c6dd..aebd4bb0ad01 100644 --- a/trunk/arch/arm/configs/spitz_defconfig +++ b/trunk/arch/arm/configs/spitz_defconfig @@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_PROFILING=y CONFIG_OPROFILE=m CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/stmp378x_defconfig b/trunk/arch/arm/configs/stmp378x_defconfig index 1079c2b6eb3a..94a2d904bf94 100644 --- a/trunk/arch/arm/configs/stmp378x_defconfig +++ b/trunk/arch/arm/configs/stmp378x_defconfig @@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/stmp37xx_defconfig b/trunk/arch/arm/configs/stmp37xx_defconfig index 564a5cc44085..d8ee58cfa872 100644 --- a/trunk/arch/arm/configs/stmp37xx_defconfig +++ b/trunk/arch/arm/configs/stmp37xx_defconfig @@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y diff --git a/trunk/arch/arm/configs/tct_hammer_defconfig b/trunk/arch/arm/configs/tct_hammer_defconfig index 95c0f0d63db6..e89ca19489c2 100644 --- a/trunk/arch/arm/configs/tct_hammer_defconfig +++ b/trunk/arch/arm/configs/tct_hammer_defconfig @@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_KALLSYMS is not set # CONFIG_BUG is not set # CONFIG_ELF_CORE is not set diff --git a/trunk/arch/arm/configs/trizeps4_defconfig b/trunk/arch/arm/configs/trizeps4_defconfig index 3162173fa75a..37f48342827c 100644 --- a/trunk/arch/arm/configs/trizeps4_defconfig +++ b/trunk/arch/arm/configs/trizeps4_defconfig @@ -7,7 +7,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_SLAB=y CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/u300_defconfig b/trunk/arch/arm/configs/u300_defconfig index 4a5a12681be2..c1c252cdca60 100644 --- a/trunk/arch/arm/configs/u300_defconfig +++ b/trunk/arch/arm/configs/u300_defconfig @@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y # CONFIG_SWAP is not set CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=14 -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_AIO is not set # CONFIG_VM_EVENT_COUNTERS is not set CONFIG_MODULES=y diff --git a/trunk/arch/arm/configs/viper_defconfig b/trunk/arch/arm/configs/viper_defconfig index 8b0c717378fa..9d7bf5e0d0f5 100644 --- a/trunk/arch/arm/configs/viper_defconfig +++ b/trunk/arch/arm/configs/viper_defconfig @@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_LOG_BUF_SHIFT=13 CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_ELF_CORE is not set # CONFIG_SHMEM is not set CONFIG_SLAB=y diff --git a/trunk/arch/arm/configs/xcep_defconfig b/trunk/arch/arm/configs/xcep_defconfig index 5b5504143647..70d47dbae6db 100644 --- a/trunk/arch/arm/configs/xcep_defconfig +++ b/trunk/arch/arm/configs/xcep_defconfig @@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=16 CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y +CONFIG_EMBEDDED=y # CONFIG_UID16 is not set # CONFIG_SHMEM is not set # CONFIG_VM_EVENT_COUNTERS is not set diff --git a/trunk/arch/arm/include/asm/futex.h b/trunk/arch/arm/include/asm/futex.h index 199a6b6de7f4..b33fe7065b38 100644 --- a/trunk/arch/arm/include/asm/futex.h +++ b/trunk/arch/arm/include/asm/futex.h @@ -35,7 +35,7 @@ : "cc", "memory") static inline int -futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) +futex_atomic_op_inuser (int encoded_op, int __user *uaddr) { int op = (encoded_op >> 28) & 7; int cmp = (encoded_op >> 24) & 15; @@ -46,7 +46,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) oparg = 1 << oparg; - if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) + if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) return -EFAULT; pagefault_disable(); /* implies preempt_disable() */ @@ -88,35 +88,36 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) } static inline int -futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, - u32 oldval, u32 newval) +futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) { - int ret = 0; - u32 val; + int val; - if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) + if (!access_ok(VERIFY_WRITE, uaddr, sizeof(int))) return -EFAULT; + pagefault_disable(); /* implies preempt_disable() */ + __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n" - "1: " T(ldr) " %1, [%4]\n" - " teq %1, %2\n" + "1: " T(ldr) " %0, [%3]\n" + " teq %0, %1\n" " it eq @ explicit IT needed for the 2b label\n" - "2: " T(streq) " %3, [%4]\n" + "2: " T(streq) " %2, [%3]\n" "3:\n" " .pushsection __ex_table,\"a\"\n" " .align 3\n" " .long 1b, 4f, 2b, 4f\n" " .popsection\n" " .pushsection .fixup,\"ax\"\n" - "4: mov %0, %5\n" + "4: mov %0, %4\n" " b 3b\n" " .popsection" - : "+r" (ret), "=&r" (val) + : "=&r" (val) : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) : "cc", "memory"); - *uval = val; - return ret; + pagefault_enable(); /* subsumes preempt_enable() */ + + return val; } #endif /* !SMP */ diff --git a/trunk/arch/arm/include/asm/hardware/cache-l2x0.h b/trunk/arch/arm/include/asm/hardware/cache-l2x0.h index 16bd48031583..5aeec1e1735c 100644 --- a/trunk/arch/arm/include/asm/hardware/cache-l2x0.h +++ b/trunk/arch/arm/include/asm/hardware/cache-l2x0.h @@ -36,7 +36,6 @@ #define L2X0_RAW_INTR_STAT 0x21C #define L2X0_INTR_CLEAR 0x220 #define L2X0_CACHE_SYNC 0x730 -#define L2X0_DUMMY_REG 0x740 #define L2X0_INV_LINE_PA 0x770 #define L2X0_INV_WAY 0x77C #define L2X0_CLEAN_LINE_PA 0x7B0 diff --git a/trunk/arch/arm/include/asm/hardware/sp810.h b/trunk/arch/arm/include/asm/hardware/sp810.h index e0d1c0cfa548..a101f10bb5b1 100644 --- a/trunk/arch/arm/include/asm/hardware/sp810.h +++ b/trunk/arch/arm/include/asm/hardware/sp810.h @@ -50,17 +50,8 @@ #define SCPCELLID2 0xFF8 #define SCPCELLID3 0xFFC -#define SCCTRL_TIMEREN0SEL_REFCLK (0 << 15) -#define SCCTRL_TIMEREN0SEL_TIMCLK (1 << 15) - -#define SCCTRL_TIMEREN1SEL_REFCLK (0 << 17) -#define SCCTRL_TIMEREN1SEL_TIMCLK (1 << 17) - static inline void sysctl_soft_reset(void __iomem *base) { - /* switch to slow mode */ - writel(0x2, base + SCCTRL); - /* writing any value to SCSYSSTAT reg will reset system */ writel(0, base + SCSYSSTAT); } diff --git a/trunk/arch/arm/include/asm/io.h b/trunk/arch/arm/include/asm/io.h index d66605dea55a..20e0f7c9e03e 100644 --- a/trunk/arch/arm/include/asm/io.h +++ b/trunk/arch/arm/include/asm/io.h @@ -95,15 +95,6 @@ static inline void __iomem *__typesafe_io(unsigned long addr) return (void __iomem *)addr; } -/* IO barriers */ -#ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE -#define __iormb() rmb() -#define __iowmb() wmb() -#else -#define __iormb() do { } while (0) -#define __iowmb() do { } while (0) -#endif - /* * Now, pick up the machine-defined IO definitions */ @@ -134,17 +125,17 @@ static inline void __iomem *__typesafe_io(unsigned long addr) * The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space. */ #ifdef __io -#define outb(v,p) ({ __iowmb(); __raw_writeb(v,__io(p)); }) -#define outw(v,p) ({ __iowmb(); __raw_writew((__force __u16) \ - cpu_to_le16(v),__io(p)); }) -#define outl(v,p) ({ __iowmb(); __raw_writel((__force __u32) \ - cpu_to_le32(v),__io(p)); }) +#define outb(v,p) __raw_writeb(v,__io(p)) +#define outw(v,p) __raw_writew((__force __u16) \ + cpu_to_le16(v),__io(p)) +#define outl(v,p) __raw_writel((__force __u32) \ + cpu_to_le32(v),__io(p)) -#define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __iormb(); __v; }) +#define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __v; }) #define inw(p) ({ __u16 __v = le16_to_cpu((__force __le16) \ - __raw_readw(__io(p))); __iormb(); __v; }) + __raw_readw(__io(p))); __v; }) #define inl(p) ({ __u32 __v = le32_to_cpu((__force __le32) \ - __raw_readl(__io(p))); __iormb(); __v; }) + __raw_readl(__io(p))); __v; }) #define outsb(p,d,l) __raw_writesb(__io(p),d,l) #define outsw(p,d,l) __raw_writesw(__io(p),d,l) @@ -201,6 +192,14 @@ extern void _memset_io(volatile void __iomem *, int, size_t); #define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \ cpu_to_le32(v),__mem_pci(c))) +#ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE +#define __iormb() rmb() +#define __iowmb() wmb() +#else +#define __iormb() do { } while (0) +#define __iowmb() do { } while (0) +#endif + #define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) #define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) #define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; }) diff --git a/trunk/arch/arm/include/asm/mach/arch.h b/trunk/arch/arm/include/asm/mach/arch.h index bf13b814c1b8..3a0893a76a3b 100644 --- a/trunk/arch/arm/include/asm/mach/arch.h +++ b/trunk/arch/arm/include/asm/mach/arch.h @@ -15,6 +15,10 @@ struct meminfo; struct sys_timer; struct machine_desc { + /* + * Note! The first two elements are used + * by assembler code in head.S, head-common.S + */ unsigned int nr; /* architecture number */ const char *name; /* architecture name */ unsigned long boot_params; /* tagged list */ diff --git a/trunk/arch/arm/include/asm/memory.h b/trunk/arch/arm/include/asm/memory.h index d0ee74b7cf86..23c2e8e5c0fa 100644 --- a/trunk/arch/arm/include/asm/memory.h +++ b/trunk/arch/arm/include/asm/memory.h @@ -188,7 +188,7 @@ * translation for translating DMA addresses. Use the driver * DMA support - see dma-mapping.h. */ -static inline unsigned long virt_to_phys(const volatile void *x) +static inline unsigned long virt_to_phys(void *x) { return __virt_to_phys((unsigned long)(x)); } diff --git a/trunk/arch/arm/include/asm/pgalloc.h b/trunk/arch/arm/include/asm/pgalloc.h index 22de005f159c..9763be04f77e 100644 --- a/trunk/arch/arm/include/asm/pgalloc.h +++ b/trunk/arch/arm/include/asm/pgalloc.h @@ -10,8 +10,6 @@ #ifndef _ASMARM_PGALLOC_H #define _ASMARM_PGALLOC_H -#include - #include #include #include diff --git a/trunk/arch/arm/include/asm/tlb.h b/trunk/arch/arm/include/asm/tlb.h index 82dfe5d0c41e..f41a6f57cd12 100644 --- a/trunk/arch/arm/include/asm/tlb.h +++ b/trunk/arch/arm/include/asm/tlb.h @@ -18,34 +18,16 @@ #define __ASMARM_TLB_H #include +#include #ifndef CONFIG_MMU #include - -#define tlb_flush(tlb) ((void) tlb) - #include #else /* !CONFIG_MMU */ -#include #include -#include - -/* - * We need to delay page freeing for SMP as other CPUs can access pages - * which have been removed but not yet had their TLB entries invalidated. - * Also, as ARMv7 speculative prefetch can drag new entries into the TLB, - * we need to apply this same delaying tactic to ensure correct operation. - */ -#if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7) -#define tlb_fast_mode(tlb) 0 -#define FREE_PTE_NR 500 -#else -#define tlb_fast_mode(tlb) 1 -#define FREE_PTE_NR 0 -#endif /* * TLB handling. This allows us to remove pages from the page @@ -54,58 +36,12 @@ struct mmu_gather { struct mm_struct *mm; unsigned int fullmm; - struct vm_area_struct *vma; unsigned long range_start; unsigned long range_end; - unsigned int nr; - struct page *pages[FREE_PTE_NR]; }; DECLARE_PER_CPU(struct mmu_gather, mmu_gathers); -/* - * This is unnecessarily complex. There's three ways the TLB shootdown - * code is used: - * 1. Unmapping a range of vmas. See zap_page_range(), unmap_region(). - * tlb->fullmm = 0, and tlb_start_vma/tlb_end_vma will be called. - * tlb->vma will be non-NULL. - * 2. Unmapping all vmas. See exit_mmap(). - * tlb->fullmm = 1, and tlb_start_vma/tlb_end_vma will be called. - * tlb->vma will be non-NULL. Additionally, page tables will be freed. - * 3. Unmapping argument pages. See shift_arg_pages(). - * tlb->fullmm = 0, but tlb_start_vma/tlb_end_vma will not be called. - * tlb->vma will be NULL. - */ -static inline void tlb_flush(struct mmu_gather *tlb) -{ - if (tlb->fullmm || !tlb->vma) - flush_tlb_mm(tlb->mm); - else if (tlb->range_end > 0) { - flush_tlb_range(tlb->vma, tlb->range_start, tlb->range_end); - tlb->range_start = TASK_SIZE; - tlb->range_end = 0; - } -} - -static inline void tlb_add_flush(struct mmu_gather *tlb, unsigned long addr) -{ - if (!tlb->fullmm) { - if (addr < tlb->range_start) - tlb->range_start = addr; - if (addr + PAGE_SIZE > tlb->range_end) - tlb->range_end = addr + PAGE_SIZE; - } -} - -static inline void tlb_flush_mmu(struct mmu_gather *tlb) -{ - tlb_flush(tlb); - if (!tlb_fast_mode(tlb)) { - free_pages_and_swap_cache(tlb->pages, tlb->nr); - tlb->nr = 0; - } -} - static inline struct mmu_gather * tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush) { @@ -113,8 +49,6 @@ tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush) tlb->mm = mm; tlb->fullmm = full_mm_flush; - tlb->vma = NULL; - tlb->nr = 0; return tlb; } @@ -122,7 +56,8 @@ tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush) static inline void tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) { - tlb_flush_mmu(tlb); + if (tlb->fullmm) + flush_tlb_mm(tlb->mm); /* keep the page table cache within bounds */ check_pgt_cache(); @@ -136,7 +71,12 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) static inline void tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, unsigned long addr) { - tlb_add_flush(tlb, addr); + if (!tlb->fullmm) { + if (addr < tlb->range_start) + tlb->range_start = addr; + if (addr + PAGE_SIZE > tlb->range_end) + tlb->range_end = addr + PAGE_SIZE; + } } /* @@ -149,7 +89,6 @@ tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) { if (!tlb->fullmm) { flush_cache_range(vma, vma->vm_start, vma->vm_end); - tlb->vma = vma; tlb->range_start = TASK_SIZE; tlb->range_end = 0; } @@ -158,30 +97,12 @@ tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) static inline void tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) { - if (!tlb->fullmm) - tlb_flush(tlb); -} - -static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) -{ - if (tlb_fast_mode(tlb)) { - free_page_and_swap_cache(page); - } else { - tlb->pages[tlb->nr++] = page; - if (tlb->nr >= FREE_PTE_NR) - tlb_flush_mmu(tlb); - } -} - -static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, - unsigned long addr) -{ - pgtable_page_dtor(pte); - tlb_add_flush(tlb, addr); - tlb_remove_page(tlb, pte); + if (!tlb->fullmm && tlb->range_end > 0) + flush_tlb_range(vma, tlb->range_start, tlb->range_end); } -#define pte_free_tlb(tlb, ptep, addr) __pte_free_tlb(tlb, ptep, addr) +#define tlb_remove_page(tlb,page) free_page_and_swap_cache(page) +#define pte_free_tlb(tlb, ptep, addr) pte_free((tlb)->mm, ptep) #define pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, pmdp) #define tlb_migrate_finish(mm) do { } while (0) diff --git a/trunk/arch/arm/include/asm/tlbflush.h b/trunk/arch/arm/include/asm/tlbflush.h index d2005de383b8..ce7378ea15a2 100644 --- a/trunk/arch/arm/include/asm/tlbflush.h +++ b/trunk/arch/arm/include/asm/tlbflush.h @@ -10,7 +10,12 @@ #ifndef _ASMARM_TLBFLUSH_H #define _ASMARM_TLBFLUSH_H -#ifdef CONFIG_MMU + +#ifndef CONFIG_MMU + +#define tlb_flush(tlb) ((void) tlb) + +#else /* CONFIG_MMU */ #include diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index f06ff9feb0db..f17d9a09e8fb 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -391,24 +391,25 @@ ENDPROC(__turn_mmu_on) #ifdef CONFIG_SMP_ON_UP - __INIT __fixup_smp: - and r3, r9, #0x000f0000 @ architecture version - teq r3, #0x000f0000 @ CPU ID supported? + mov r4, #0x00070000 + orr r3, r4, #0xff000000 @ mask 0xff070000 + orr r4, r4, #0x41000000 @ val 0x41070000 + and r0, r9, r3 + teq r0, r4 @ ARM CPU and ARMv6/v7? bne __fixup_smp_on_up @ no, assume UP - bic r3, r9, #0x00ff0000 - bic r3, r3, #0x0000000f @ mask 0xff00fff0 - mov r4, #0x41000000 + orr r3, r3, #0x0000ff00 + orr r3, r3, #0x000000f0 @ mask 0xff07fff0 orr r4, r4, #0x0000b000 - orr r4, r4, #0x00000020 @ val 0x4100b020 - teq r3, r4 @ ARM 11MPCore? + orr r4, r4, #0x00000020 @ val 0x4107b020 + and r0, r9, r3 + teq r0, r4 @ ARM 11MPCore? moveq pc, lr @ yes, assume SMP mrc p15, 0, r0, c0, c0, 5 @ read MPIDR - and r0, r0, #0xc0000000 @ multiprocessing extensions and - teq r0, #0x80000000 @ not part of a uniprocessor system? - moveq pc, lr @ yes, assume SMP + tst r0, #1 << 31 + movne pc, lr @ bit 31 => SMP __fixup_smp_on_up: adr r0, 1f @@ -416,7 +417,18 @@ __fixup_smp_on_up: sub r3, r0, r3 add r4, r4, r3 add r5, r5, r3 - b __do_fixup_smp_on_up +2: cmp r4, r5 + movhs pc, lr + ldmia r4!, {r0, r6} + ARM( str r6, [r0, r3] ) + THUMB( add r0, r0, r3 ) +#ifdef __ARMEB__ + THUMB( mov r6, r6, ror #16 ) @ Convert word order for big-endian. +#endif + THUMB( strh r6, [r0], #2 ) @ For Thumb-2, store as two halfwords + THUMB( mov r6, r6, lsr #16 ) @ to be robust against misaligned r3. + THUMB( strh r6, [r0] ) + b 2b ENDPROC(__fixup_smp) .align @@ -430,31 +442,7 @@ smp_on_up: ALT_SMP(.long 1) ALT_UP(.long 0) .popsection -#endif - .text -__do_fixup_smp_on_up: - cmp r4, r5 - movhs pc, lr - ldmia r4!, {r0, r6} - ARM( str r6, [r0, r3] ) - THUMB( add r0, r0, r3 ) -#ifdef __ARMEB__ - THUMB( mov r6, r6, ror #16 ) @ Convert word order for big-endian. #endif - THUMB( strh r6, [r0], #2 ) @ For Thumb-2, store as two halfwords - THUMB( mov r6, r6, lsr #16 ) @ to be robust against misaligned r3. - THUMB( strh r6, [r0] ) - b __do_fixup_smp_on_up -ENDPROC(__do_fixup_smp_on_up) - -ENTRY(fixup_smp) - stmfd sp!, {r4 - r6, lr} - mov r4, r0 - add r5, r0, r1 - mov r3, #0 - bl __do_fixup_smp_on_up - ldmfd sp!, {r4 - r6, pc} -ENDPROC(fixup_smp) #include "head-common.S" diff --git a/trunk/arch/arm/kernel/hw_breakpoint.c b/trunk/arch/arm/kernel/hw_breakpoint.c index 44b84fe6e1b0..c9f3f0467570 100644 --- a/trunk/arch/arm/kernel/hw_breakpoint.c +++ b/trunk/arch/arm/kernel/hw_breakpoint.c @@ -137,10 +137,11 @@ static u8 get_debug_arch(void) u32 didr; /* Do we implement the extended CPUID interface? */ - if (WARN_ONCE((((read_cpuid_id() >> 16) & 0xf) != 0xf), - "CPUID feature registers not supported. " - "Assuming v6 debug is present.\n")) + if (((read_cpuid_id() >> 16) & 0xf) != 0xf) { + pr_warning("CPUID feature registers not supported. " + "Assuming v6 debug is present.\n"); return ARM_DEBUG_ARCH_V6; + } ARM_DBG_READ(c0, 0, didr); return (didr >> 16) & 0xf; @@ -151,12 +152,6 @@ u8 arch_get_debug_arch(void) return debug_arch; } -static int debug_arch_supported(void) -{ - u8 arch = get_debug_arch(); - return arch >= ARM_DEBUG_ARCH_V6 && arch <= ARM_DEBUG_ARCH_V7_ECP14; -} - /* Determine number of BRP register available. */ static int get_num_brp_resources(void) { @@ -273,9 +268,6 @@ static int enable_monitor_mode(void) int hw_breakpoint_slots(int type) { - if (!debug_arch_supported()) - return 0; - /* * We can be called early, so don't rely on * our static variables being initialised. @@ -836,32 +828,19 @@ static int hw_breakpoint_pending(unsigned long addr, unsigned int fsr, /* * One-time initialisation. */ -static void reset_ctrl_regs(void *info) +static void reset_ctrl_regs(void *unused) { - int i, cpu = smp_processor_id(); - u32 dbg_power; - cpumask_t *cpumask = info; + int i; /* * v7 debug contains save and restore registers so that debug state - * can be maintained across low-power modes without leaving the debug - * logic powered up. It is IMPLEMENTATION DEFINED whether we can access - * the debug registers out of reset, so we must unlock the OS Lock - * Access Register to avoid taking undefined instruction exceptions - * later on. + * can be maintained across low-power modes without leaving + * the debug logic powered up. It is IMPLEMENTATION DEFINED whether + * we can write to the debug registers out of reset, so we must + * unlock the OS Lock Access Register to avoid taking undefined + * instruction exceptions later on. */ if (debug_arch >= ARM_DEBUG_ARCH_V7_ECP14) { - /* - * Ensure sticky power-down is clear (i.e. debug logic is - * powered up). - */ - asm volatile("mrc p14, 0, %0, c1, c5, 4" : "=r" (dbg_power)); - if ((dbg_power & 0x1) == 0) { - pr_warning("CPU %d debug is powered down!\n", cpu); - cpumask_or(cpumask, cpumask, cpumask_of(cpu)); - return; - } - /* * Unconditionally clear the lock by writing a value * other than 0xC5ACCE55 to the access register. @@ -900,11 +879,10 @@ static struct notifier_block __cpuinitdata dbg_reset_nb = { static int __init arch_hw_breakpoint_init(void) { u32 dscr; - cpumask_t cpumask = { CPU_BITS_NONE }; debug_arch = get_debug_arch(); - if (!debug_arch_supported()) { + if (debug_arch > ARM_DEBUG_ARCH_V7_ECP14) { pr_info("debug architecture 0x%x unsupported.\n", debug_arch); return 0; } @@ -921,24 +899,18 @@ static int __init arch_hw_breakpoint_init(void) pr_info("%d breakpoint(s) reserved for watchpoint " "single-step.\n", core_num_reserved_brps); - /* - * Reset the breakpoint resources. We assume that a halting - * debugger will leave the world in a nice state for us. - */ - on_each_cpu(reset_ctrl_regs, &cpumask, 1); - if (!cpumask_empty(&cpumask)) { - core_num_brps = 0; - core_num_reserved_brps = 0; - core_num_wrps = 0; - return 0; - } - ARM_DBG_READ(c1, 0, dscr); if (dscr & ARM_DSCR_HDBGEN) { - max_watchpoint_len = 4; pr_warning("halting debug mode enabled. Assuming maximum " - "watchpoint size of %u bytes.", max_watchpoint_len); + "watchpoint size of 4 bytes."); } else { + /* + * Reset the breakpoint resources. We assume that a halting + * debugger will leave the world in a nice state for us. + */ + smp_call_function(reset_ctrl_regs, NULL, 1); + reset_ctrl_regs(NULL); + /* Work out the maximum supported watchpoint length. */ max_watchpoint_len = get_max_wp_len(); pr_info("maximum watchpoint size is %u bytes.\n", diff --git a/trunk/arch/arm/kernel/kprobes-decode.c b/trunk/arch/arm/kernel/kprobes-decode.c index 8f6ed43861f1..2c1f0050c9c4 100644 --- a/trunk/arch/arm/kernel/kprobes-decode.c +++ b/trunk/arch/arm/kernel/kprobes-decode.c @@ -1437,7 +1437,7 @@ arm_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi) return space_cccc_1100_010x(insn, asi); - } else if ((insn & 0x0e000000) == 0x0c000000) { + } else if ((insn & 0x0e000000) == 0x0c400000) { return space_cccc_110x(insn, asi); diff --git a/trunk/arch/arm/kernel/module.c b/trunk/arch/arm/kernel/module.c index 6d4105e6872f..2cfe8161b478 100644 --- a/trunk/arch/arm/kernel/module.c +++ b/trunk/arch/arm/kernel/module.c @@ -22,7 +22,6 @@ #include #include -#include #include #ifdef CONFIG_XIP_KERNEL @@ -269,28 +268,12 @@ struct mod_unwind_map { const Elf_Shdr *txt_sec; }; -static const Elf_Shdr *find_mod_section(const Elf32_Ehdr *hdr, - const Elf_Shdr *sechdrs, const char *name) -{ - const Elf_Shdr *s, *se; - const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; - - for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) - if (strcmp(name, secstrs + s->sh_name) == 0) - return s; - - return NULL; -} - -extern void fixup_smp(const void *, unsigned long); - int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *mod) { - const Elf_Shdr * __maybe_unused s = NULL; #ifdef CONFIG_ARM_UNWIND const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; - const Elf_Shdr *sechdrs_end = sechdrs + hdr->e_shnum; + const Elf_Shdr *s, *sechdrs_end = sechdrs + hdr->e_shnum; struct mod_unwind_map maps[ARM_SEC_MAX]; int i; @@ -332,9 +315,6 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs, maps[i].txt_sec->sh_addr, maps[i].txt_sec->sh_size); #endif - s = find_mod_section(hdr, sechdrs, ".alt.smp.init"); - if (s && !is_smp()) - fixup_smp((void *)s->sh_addr, s->sh_size); return 0; } diff --git a/trunk/arch/arm/kernel/perf_event.c b/trunk/arch/arm/kernel/perf_event.c index d150ad1ccb5d..5efa2647a2fb 100644 --- a/trunk/arch/arm/kernel/perf_event.c +++ b/trunk/arch/arm/kernel/perf_event.c @@ -700,7 +700,7 @@ user_backtrace(struct frame_tail __user *tail, * Frame pointers should strictly progress back up the stack * (towards higher addresses). */ - if (tail + 1 >= buftail.fp) + if (tail >= buftail.fp) return NULL; return buftail.fp - 1; diff --git a/trunk/arch/arm/kernel/pmu.c b/trunk/arch/arm/kernel/pmu.c index 2c79eec19262..b8af96ea62e6 100644 --- a/trunk/arch/arm/kernel/pmu.c +++ b/trunk/arch/arm/kernel/pmu.c @@ -97,34 +97,28 @@ set_irq_affinity(int irq, irq, cpu); return err; #else - return -EINVAL; + return 0; #endif } static int init_cpu_pmu(void) { - int i, irqs, err = 0; + int i, err = 0; struct platform_device *pdev = pmu_devices[ARM_PMU_DEVICE_CPU]; - if (!pdev) - return -ENODEV; - - irqs = pdev->num_resources; - - /* - * If we have a single PMU interrupt that we can't shift, assume that - * we're running on a uniprocessor machine and continue. - */ - if (irqs == 1 && !irq_can_set_affinity(platform_get_irq(pdev, 0))) - return 0; + if (!pdev) { + err = -ENODEV; + goto out; + } - for (i = 0; i < irqs; ++i) { + for (i = 0; i < pdev->num_resources; ++i) { err = set_irq_affinity(platform_get_irq(pdev, i), i); if (err) break; } +out: return err; } diff --git a/trunk/arch/arm/kernel/ptrace.c b/trunk/arch/arm/kernel/ptrace.c index b13e70f63d71..19c6816db61e 100644 --- a/trunk/arch/arm/kernel/ptrace.c +++ b/trunk/arch/arm/kernel/ptrace.c @@ -996,10 +996,10 @@ static int ptrace_gethbpregs(struct task_struct *tsk, long num, while (!(arch_ctrl.len & 0x1)) arch_ctrl.len >>= 1; - if (num & 0x1) - reg = bp->attr.bp_addr; - else + if (idx & 0x1) reg = encode_ctrl_reg(arch_ctrl); + else + reg = bp->attr.bp_addr; } put: diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index 5ea4fb718b97..420b8d6485d6 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -226,8 +226,8 @@ int cpu_architecture(void) * Register 0 and check for VMSAv7 or PMSAv7 */ asm("mrc p15, 0, %0, c0, c1, 4" : "=r" (mmfr0)); - if ((mmfr0 & 0x0000000f) >= 0x00000003 || - (mmfr0 & 0x000000f0) >= 0x00000030) + if ((mmfr0 & 0x0000000f) == 0x00000003 || + (mmfr0 & 0x000000f0) == 0x00000030) cpu_arch = CPU_ARCH_ARMv7; else if ((mmfr0 & 0x0000000f) == 0x00000002 || (mmfr0 & 0x000000f0) == 0x00000020) diff --git a/trunk/arch/arm/kernel/signal.c b/trunk/arch/arm/kernel/signal.c index abaf8445ce25..907d5a620bca 100644 --- a/trunk/arch/arm/kernel/signal.c +++ b/trunk/arch/arm/kernel/signal.c @@ -474,9 +474,7 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka, unsigned long handler = (unsigned long)ka->sa.sa_handler; unsigned long retcode; int thumb = 0; - unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT); - - cpsr |= PSR_ENDSTATE; + unsigned long cpsr = regs->ARM_cpsr & ~PSR_f; /* * Maybe we need to deliver a 32-bit signal to a 26-bit task. diff --git a/trunk/arch/arm/kernel/smp_twd.c b/trunk/arch/arm/kernel/smp_twd.c index 60636f499cb3..fd9156698ab9 100644 --- a/trunk/arch/arm/kernel/smp_twd.c +++ b/trunk/arch/arm/kernel/smp_twd.c @@ -36,7 +36,6 @@ static void twd_set_mode(enum clock_event_mode mode, /* timer load already set up */ ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE | TWD_TIMER_CONTROL_PERIODIC; - __raw_writel(twd_timer_rate / HZ, twd_base + TWD_TIMER_LOAD); break; case CLOCK_EVT_MODE_ONESHOT: /* period set, and timer enabled in 'next_event' hook */ @@ -82,7 +81,7 @@ int twd_timer_ack(void) static void __cpuinit twd_calibrate_rate(void) { - unsigned long count; + unsigned long load, count; u64 waitjiffies; /* @@ -117,6 +116,10 @@ static void __cpuinit twd_calibrate_rate(void) printk("%lu.%02luMHz.\n", twd_timer_rate / 1000000, (twd_timer_rate / 1000000) % 100); } + + load = twd_timer_rate / HZ; + + __raw_writel(load, twd_base + TWD_TIMER_LOAD); } /* diff --git a/trunk/arch/arm/kernel/vmlinux.lds.S b/trunk/arch/arm/kernel/vmlinux.lds.S index 61462790757f..86b66f3f2031 100644 --- a/trunk/arch/arm/kernel/vmlinux.lds.S +++ b/trunk/arch/arm/kernel/vmlinux.lds.S @@ -21,12 +21,6 @@ #define ARM_CPU_KEEP(x) #endif -#if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK) -#define ARM_EXIT_KEEP(x) x -#else -#define ARM_EXIT_KEEP(x) -#endif - OUTPUT_ARCH(arm) ENTRY(stext) @@ -49,7 +43,6 @@ SECTIONS _sinittext = .; HEAD_TEXT INIT_TEXT - ARM_EXIT_KEEP(EXIT_TEXT) _einittext = .; ARM_CPU_DISCARD(PROC_INFO) __arch_info_begin = .; @@ -74,7 +67,6 @@ SECTIONS #ifndef CONFIG_XIP_KERNEL __init_begin = _stext; INIT_DATA - ARM_EXIT_KEEP(EXIT_DATA) #endif } @@ -170,7 +162,6 @@ SECTIONS . = ALIGN(PAGE_SIZE); __init_begin = .; INIT_DATA - ARM_EXIT_KEEP(EXIT_DATA) . = ALIGN(PAGE_SIZE); __init_end = .; #endif @@ -256,8 +247,6 @@ SECTIONS } #endif - NOTES - BSS_SECTION(0, 0, 0) _end = .; diff --git a/trunk/arch/arm/mach-davinci/cpufreq.c b/trunk/arch/arm/mach-davinci/cpufreq.c index 4a68c2b1ec11..343de73161fa 100644 --- a/trunk/arch/arm/mach-davinci/cpufreq.c +++ b/trunk/arch/arm/mach-davinci/cpufreq.c @@ -132,7 +132,7 @@ static int davinci_target(struct cpufreq_policy *policy, return ret; } -static int davinci_cpu_init(struct cpufreq_policy *policy) +static int __init davinci_cpu_init(struct cpufreq_policy *policy) { int result = 0; struct davinci_cpufreq_config *pdata = cpufreq.dev->platform_data; diff --git a/trunk/arch/arm/mach-davinci/devices-da8xx.c b/trunk/arch/arm/mach-davinci/devices-da8xx.c index beda8a4133a0..9eec63070e0c 100644 --- a/trunk/arch/arm/mach-davinci/devices-da8xx.c +++ b/trunk/arch/arm/mach-davinci/devices-da8xx.c @@ -480,15 +480,8 @@ static struct platform_device da850_mcasp_device = { .resource = da850_mcasp_resources, }; -struct platform_device davinci_pcm_device = { - .name = "davinci-pcm-audio", - .id = -1, -}; - void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata) { - platform_device_register(&davinci_pcm_device); - /* DA830/OMAP-L137 has 3 instances of McASP */ if (cpu_is_davinci_da830() && id == 1) { da830_mcasp1_device.dev.platform_data = pdata; diff --git a/trunk/arch/arm/mach-davinci/gpio-tnetv107x.c b/trunk/arch/arm/mach-davinci/gpio-tnetv107x.c index 3fa3e2867e19..d10298620e2c 100644 --- a/trunk/arch/arm/mach-davinci/gpio-tnetv107x.c +++ b/trunk/arch/arm/mach-davinci/gpio-tnetv107x.c @@ -58,7 +58,7 @@ static int tnetv107x_gpio_request(struct gpio_chip *chip, unsigned offset) spin_lock_irqsave(&ctlr->lock, flags); - gpio_reg_set_bit(regs->enable, gpio); + gpio_reg_set_bit(®s->enable, gpio); spin_unlock_irqrestore(&ctlr->lock, flags); @@ -74,7 +74,7 @@ static void tnetv107x_gpio_free(struct gpio_chip *chip, unsigned offset) spin_lock_irqsave(&ctlr->lock, flags); - gpio_reg_clear_bit(regs->enable, gpio); + gpio_reg_clear_bit(®s->enable, gpio); spin_unlock_irqrestore(&ctlr->lock, flags); } @@ -88,7 +88,7 @@ static int tnetv107x_gpio_dir_in(struct gpio_chip *chip, unsigned offset) spin_lock_irqsave(&ctlr->lock, flags); - gpio_reg_set_bit(regs->direction, gpio); + gpio_reg_set_bit(®s->direction, gpio); spin_unlock_irqrestore(&ctlr->lock, flags); @@ -106,11 +106,11 @@ static int tnetv107x_gpio_dir_out(struct gpio_chip *chip, spin_lock_irqsave(&ctlr->lock, flags); if (value) - gpio_reg_set_bit(regs->data_out, gpio); + gpio_reg_set_bit(®s->data_out, gpio); else - gpio_reg_clear_bit(regs->data_out, gpio); + gpio_reg_clear_bit(®s->data_out, gpio); - gpio_reg_clear_bit(regs->direction, gpio); + gpio_reg_clear_bit(®s->direction, gpio); spin_unlock_irqrestore(&ctlr->lock, flags); @@ -124,7 +124,7 @@ static int tnetv107x_gpio_get(struct gpio_chip *chip, unsigned offset) unsigned gpio = chip->base + offset; int ret; - ret = gpio_reg_get_bit(regs->data_in, gpio); + ret = gpio_reg_get_bit(®s->data_in, gpio); return ret ? 1 : 0; } @@ -140,9 +140,9 @@ static void tnetv107x_gpio_set(struct gpio_chip *chip, spin_lock_irqsave(&ctlr->lock, flags); if (value) - gpio_reg_set_bit(regs->data_out, gpio); + gpio_reg_set_bit(®s->data_out, gpio); else - gpio_reg_clear_bit(regs->data_out, gpio); + gpio_reg_clear_bit(®s->data_out, gpio); spin_unlock_irqrestore(&ctlr->lock, flags); } diff --git a/trunk/arch/arm/mach-davinci/include/mach/clkdev.h b/trunk/arch/arm/mach-davinci/include/mach/clkdev.h index 14a504887189..730c49d1ebd8 100644 --- a/trunk/arch/arm/mach-davinci/include/mach/clkdev.h +++ b/trunk/arch/arm/mach-davinci/include/mach/clkdev.h @@ -1,8 +1,6 @@ #ifndef __MACH_CLKDEV_H #define __MACH_CLKDEV_H -struct clk; - static inline int __clk_get(struct clk *clk) { return 1; diff --git a/trunk/arch/arm/mach-ep93xx/core.c b/trunk/arch/arm/mach-ep93xx/core.c index 82079545adc4..ffdf87be2958 100644 --- a/trunk/arch/arm/mach-ep93xx/core.c +++ b/trunk/arch/arm/mach-ep93xx/core.c @@ -838,7 +838,7 @@ EXPORT_SYMBOL(ep93xx_i2s_release); static struct resource ep93xx_ac97_resources[] = { { .start = EP93XX_AAC_PHYS_BASE, - .end = EP93XX_AAC_PHYS_BASE + 0xac - 1, + .end = EP93XX_AAC_PHYS_BASE + 0xb0 - 1, .flags = IORESOURCE_MEM, }, { diff --git a/trunk/arch/arm/mach-ep93xx/gpio.c b/trunk/arch/arm/mach-ep93xx/gpio.c index bec34b834958..f3dc76fdcea8 100644 --- a/trunk/arch/arm/mach-ep93xx/gpio.c +++ b/trunk/arch/arm/mach-ep93xx/gpio.c @@ -427,13 +427,6 @@ void __init ep93xx_gpio_init(void) { int i; - /* Set Ports C, D, E, G, and H for GPIO use */ - ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_KEYS | - EP93XX_SYSCON_DEVCFG_GONK | - EP93XX_SYSCON_DEVCFG_EONIDE | - EP93XX_SYSCON_DEVCFG_GONIDE | - EP93XX_SYSCON_DEVCFG_HONIDE); - for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) gpiochip_add(&ep93xx_gpio_banks[i].chip); } diff --git a/trunk/arch/arm/mach-footbridge/include/mach/debug-macro.S b/trunk/arch/arm/mach-footbridge/include/mach/debug-macro.S index 30b971d65815..3c9e0c40c679 100644 --- a/trunk/arch/arm/mach-footbridge/include/mach/debug-macro.S +++ b/trunk/arch/arm/mach-footbridge/include/mach/debug-macro.S @@ -17,8 +17,8 @@ /* For NetWinder debugging */ .macro addruart, rp, rv mov \rp, #0x000003f8 - orr \rv, \rp, #0xff000000 @ virtual - orr \rp, \rp, #0x7c000000 @ physical + orr \rv, \rp, #0x7c000000 @ physical + orr \rp, \rp, #0xff000000 @ virtual .endm #define UART_SHIFT 0 diff --git a/trunk/arch/arm/mach-imx/mach-mx25_3ds.c b/trunk/arch/arm/mach-imx/mach-mx25_3ds.c index 8382e7902078..aa76cfd9f348 100644 --- a/trunk/arch/arm/mach-imx/mach-mx25_3ds.c +++ b/trunk/arch/arm/mach-imx/mach-mx25_3ds.c @@ -180,7 +180,7 @@ static const uint32_t mx25pdk_keymap[] = { KEY(3, 3, KEY_POWER), }; -static const struct matrix_keymap_data mx25pdk_keymap_data __initconst = { +static const struct matrix_keymap_data mx25pdk_keymap_data __initdata = { .keymap = mx25pdk_keymap, .keymap_size = ARRAY_SIZE(mx25pdk_keymap), }; diff --git a/trunk/arch/arm/mach-ixp4xx/common.c b/trunk/arch/arm/mach-ixp4xx/common.c index 9fd894271d5d..4dc68d6bb6be 100644 --- a/trunk/arch/arm/mach-ixp4xx/common.c +++ b/trunk/arch/arm/mach-ixp4xx/common.c @@ -432,7 +432,7 @@ static struct clocksource clocksource_ixp4xx = { .flags = CLOCK_SOURCE_IS_CONTINUOUS, }; -unsigned long ixp4xx_timer_freq = IXP4XX_TIMER_FREQ; +unsigned long ixp4xx_timer_freq = FREQ; EXPORT_SYMBOL(ixp4xx_timer_freq); static void __init ixp4xx_clocksource_init(void) { @@ -496,7 +496,7 @@ static struct clock_event_device clockevent_ixp4xx = { static void __init ixp4xx_clockevent_init(void) { - clockevent_ixp4xx.mult = div_sc(IXP4XX_TIMER_FREQ, NSEC_PER_SEC, + clockevent_ixp4xx.mult = div_sc(FREQ, NSEC_PER_SEC, clockevent_ixp4xx.shift); clockevent_ixp4xx.max_delta_ns = clockevent_delta2ns(0xfffffffe, &clockevent_ixp4xx); diff --git a/trunk/arch/arm/mach-ixp4xx/include/mach/timex.h b/trunk/arch/arm/mach-ixp4xx/include/mach/timex.h index c9e930f29339..2c3f93c3eb79 100644 --- a/trunk/arch/arm/mach-ixp4xx/include/mach/timex.h +++ b/trunk/arch/arm/mach-ixp4xx/include/mach/timex.h @@ -10,7 +10,6 @@ * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the * timer register ignores the bottom 2 bits of the LATCH value. */ -#define IXP4XX_TIMER_FREQ 66666000 -#define CLOCK_TICK_RATE \ - (((IXP4XX_TIMER_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) +#define FREQ 66666000 +#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) diff --git a/trunk/arch/arm/mach-ixp4xx/ixp4xx_qmgr.c b/trunk/arch/arm/mach-ixp4xx/ixp4xx_qmgr.c index 852f7c9f87d0..bfdbe4b5a3cc 100644 --- a/trunk/arch/arm/mach-ixp4xx/ixp4xx_qmgr.c +++ b/trunk/arch/arm/mach-ixp4xx/ixp4xx_qmgr.c @@ -265,11 +265,6 @@ void qmgr_release_queue(unsigned int queue) qmgr_queue_descs[queue], queue); qmgr_queue_descs[queue][0] = '\x0'; #endif - - while ((addr = qmgr_get_entry(queue))) - printk(KERN_ERR "qmgr: released queue %i not empty: 0x%08X\n", - queue, addr); - __raw_writel(0, &qmgr_regs->sram[queue]); used_sram_bitmap[0] &= ~mask[0]; @@ -280,6 +275,10 @@ void qmgr_release_queue(unsigned int queue) spin_unlock_irq(&qmgr_lock); module_put(THIS_MODULE); + + while ((addr = qmgr_get_entry(queue))) + printk(KERN_ERR "qmgr: released queue %i not empty: 0x%08X\n", + queue, addr); } static int qmgr_init(void) diff --git a/trunk/arch/arm/mach-msm/board-qsd8x50.c b/trunk/arch/arm/mach-msm/board-qsd8x50.c index 6dde8185205f..2e8391307f55 100644 --- a/trunk/arch/arm/mach-msm/board-qsd8x50.c +++ b/trunk/arch/arm/mach-msm/board-qsd8x50.c @@ -43,7 +43,7 @@ static const unsigned qsd8x50_surf_smc91x_gpio __initdata = 156; * at run-time: they vary from board to board, and the true * configuration won't be known until boot. */ -static struct resource smc91x_resources[] = { +static struct resource smc91x_resources[] __initdata = { [0] = { .flags = IORESOURCE_MEM, }, @@ -52,7 +52,7 @@ static struct resource smc91x_resources[] = { }, }; -static struct platform_device smc91x_device = { +static struct platform_device smc91x_device __initdata = { .name = "smc91x", .id = 0, .num_resources = ARRAY_SIZE(smc91x_resources), diff --git a/trunk/arch/arm/mach-mxs/clock-mx23.c b/trunk/arch/arm/mach-mxs/clock-mx23.c index ca72a05ed9c1..b1a362ebfded 100644 --- a/trunk/arch/arm/mach-mxs/clock-mx23.c +++ b/trunk/arch/arm/mach-mxs/clock-mx23.c @@ -304,7 +304,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \ reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##dr); \ reg &= ~BM_CLKCTRL_##dr##_DIV; \ reg |= div << BP_CLKCTRL_##dr##_DIV; \ - if (reg & (1 << clk->enable_shift)) { \ + if (reg | (1 << clk->enable_shift)) { \ pr_err("%s: clock is gated\n", __func__); \ return -EINVAL; \ } \ @@ -347,7 +347,7 @@ static int name##_set_parent(struct clk *clk, struct clk *parent) \ { \ if (parent != clk->parent) { \ __raw_writel(BM_CLKCTRL_CLKSEQ_BYPASS_##bit, \ - CLKCTRL_BASE_ADDR + HW_CLKCTRL_CLKSEQ_TOG); \ + HW_CLKCTRL_CLKSEQ_TOG); \ clk->parent = parent; \ } \ \ diff --git a/trunk/arch/arm/mach-mxs/clock-mx28.c b/trunk/arch/arm/mach-mxs/clock-mx28.c index fd1c4c54b8e5..56312c092a9e 100644 --- a/trunk/arch/arm/mach-mxs/clock-mx28.c +++ b/trunk/arch/arm/mach-mxs/clock-mx28.c @@ -355,12 +355,12 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \ } else { \ reg &= ~BM_CLKCTRL_##dr##_DIV; \ reg |= div << BP_CLKCTRL_##dr##_DIV; \ - if (reg & (1 << clk->enable_shift)) { \ + if (reg | (1 << clk->enable_shift)) { \ pr_err("%s: clock is gated\n", __func__); \ return -EINVAL; \ } \ } \ - __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_##dr); \ + __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_CPU); \ \ for (i = 10000; i; i--) \ if (!(__raw_readl(CLKCTRL_BASE_ADDR + \ @@ -483,7 +483,7 @@ static int name##_set_parent(struct clk *clk, struct clk *parent) \ { \ if (parent != clk->parent) { \ __raw_writel(BM_CLKCTRL_CLKSEQ_BYPASS_##bit, \ - CLKCTRL_BASE_ADDR + HW_CLKCTRL_CLKSEQ_TOG); \ + HW_CLKCTRL_CLKSEQ_TOG); \ clk->parent = parent; \ } \ \ @@ -609,6 +609,7 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("duart", NULL, uart_clk) _REGISTER_CLOCK("imx28-fec.0", NULL, fec_clk) _REGISTER_CLOCK("imx28-fec.1", NULL, fec_clk) + _REGISTER_CLOCK("fec.0", NULL, fec_clk) _REGISTER_CLOCK("rtc", NULL, rtc_clk) _REGISTER_CLOCK("pll2", NULL, pll2_clk) _REGISTER_CLOCK(NULL, "hclk", hbus_clk) diff --git a/trunk/arch/arm/mach-mxs/clock.c b/trunk/arch/arm/mach-mxs/clock.c index a7093c88e6a6..e7d2269cf70e 100644 --- a/trunk/arch/arm/mach-mxs/clock.c +++ b/trunk/arch/arm/mach-mxs/clock.c @@ -57,6 +57,7 @@ static void __clk_disable(struct clk *clk) if (clk->disable) clk->disable(clk); __clk_disable(clk->parent); + __clk_disable(clk->secondary); } } @@ -67,6 +68,7 @@ static int __clk_enable(struct clk *clk) if (clk->usecount++ == 0) { __clk_enable(clk->parent); + __clk_enable(clk->secondary); if (clk->enable) clk->enable(clk); diff --git a/trunk/arch/arm/mach-mxs/gpio.c b/trunk/arch/arm/mach-mxs/gpio.c index cb0c0e83a527..d7ad7a61366d 100644 --- a/trunk/arch/arm/mach-mxs/gpio.c +++ b/trunk/arch/arm/mach-mxs/gpio.c @@ -139,8 +139,6 @@ static void mxs_gpio_irq_handler(u32 irq, struct irq_desc *desc) struct mxs_gpio_port *port = (struct mxs_gpio_port *)get_irq_data(irq); u32 gpio_irq_no_base = port->virtual_irq_start; - desc->irq_data.chip->irq_ack(&desc->irq_data); - irq_stat = __raw_readl(port->base + PINCTRL_IRQSTAT(port->id)) & __raw_readl(port->base + PINCTRL_IRQEN(port->id)); diff --git a/trunk/arch/arm/mach-mxs/include/mach/clock.h b/trunk/arch/arm/mach-mxs/include/mach/clock.h index 592c9ab5d760..041e276d8a32 100644 --- a/trunk/arch/arm/mach-mxs/include/mach/clock.h +++ b/trunk/arch/arm/mach-mxs/include/mach/clock.h @@ -29,6 +29,8 @@ struct clk { int id; /* Source clock this clk depends on */ struct clk *parent; + /* Secondary clock to enable/disable with this clock */ + struct clk *secondary; /* Reference count of clock enable/disable */ __s8 usecount; /* Register bit position for clock's enable/disable control. */ diff --git a/trunk/arch/arm/mach-omap1/Kconfig b/trunk/arch/arm/mach-omap1/Kconfig index e0a028161dde..8d2f2daba0c0 100644 --- a/trunk/arch/arm/mach-omap1/Kconfig +++ b/trunk/arch/arm/mach-omap1/Kconfig @@ -9,7 +9,6 @@ config ARCH_OMAP730 depends on ARCH_OMAP1 bool "OMAP730 Based System" select CPU_ARM926T - select OMAP_MPU_TIMER select ARCH_OMAP_OTG config ARCH_OMAP850 @@ -23,7 +22,6 @@ config ARCH_OMAP15XX default y bool "OMAP15xx Based System" select CPU_ARM925T - select OMAP_MPU_TIMER config ARCH_OMAP16XX depends on ARCH_OMAP1 diff --git a/trunk/arch/arm/mach-omap1/Makefile b/trunk/arch/arm/mach-omap1/Makefile index ba6009f27677..6ee19504845f 100644 --- a/trunk/arch/arm/mach-omap1/Makefile +++ b/trunk/arch/arm/mach-omap1/Makefile @@ -3,11 +3,12 @@ # # Common support -obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o +obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o dma.o obj-y += clock.o clock_data.o opp_data.o obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o +obj-$(CONFIG_OMAP_MPU_TIMER) += time.o obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o # Power Management diff --git a/trunk/arch/arm/mach-omap1/include/mach/entry-macro.S b/trunk/arch/arm/mach-omap1/include/mach/entry-macro.S index bfb4fb1d7382..c9be6d4d83e2 100644 --- a/trunk/arch/arm/mach-omap1/include/mach/entry-macro.S +++ b/trunk/arch/arm/mach-omap1/include/mach/entry-macro.S @@ -14,6 +14,19 @@ #include #include +/* + * We use __glue to avoid errors with multiple definitions of + * .globl omap_irq_flags as it's included from entry-armv.S but not + * from entry-common.S. + */ +#ifdef __glue + .pushsection .data + .globl omap_irq_flags +omap_irq_flags: + .word 0 + .popsection +#endif + .macro disable_fiq .endm diff --git a/trunk/arch/arm/mach-omap1/irq.c b/trunk/arch/arm/mach-omap1/irq.c index 731dd33bff51..47701584df35 100644 --- a/trunk/arch/arm/mach-omap1/irq.c +++ b/trunk/arch/arm/mach-omap1/irq.c @@ -57,7 +57,6 @@ struct omap_irq_bank { unsigned long wake_enable; }; -u32 omap_irq_flags; static unsigned int irq_bank_count; static struct omap_irq_bank *irq_banks; @@ -177,6 +176,7 @@ static struct irq_chip omap_irq_chip = { void __init omap_init_irq(void) { + extern unsigned int omap_irq_flags; int i, j; #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) diff --git a/trunk/arch/arm/mach-omap1/lcd_dma.c b/trunk/arch/arm/mach-omap1/lcd_dma.c index 453809359ba6..c9088d85da04 100644 --- a/trunk/arch/arm/mach-omap1/lcd_dma.c +++ b/trunk/arch/arm/mach-omap1/lcd_dma.c @@ -37,7 +37,7 @@ int omap_lcd_dma_running(void) * On OMAP1510, internal LCD controller will start the transfer * when it gets enabled, so assume DMA running if LCD enabled. */ - if (cpu_is_omap15xx()) + if (cpu_is_omap1510()) if (omap_readw(OMAP_LCDC_CONTROL) & OMAP_LCDC_CTRL_LCD_EN) return 1; @@ -95,7 +95,7 @@ EXPORT_SYMBOL(omap_set_lcd_dma_single_transfer); void omap_set_lcd_dma_b1_rotation(int rotate) { - if (cpu_is_omap15xx()) { + if (cpu_is_omap1510()) { printk(KERN_ERR "DMA rotation is not supported in 1510 mode\n"); BUG(); return; @@ -106,7 +106,7 @@ EXPORT_SYMBOL(omap_set_lcd_dma_b1_rotation); void omap_set_lcd_dma_b1_mirror(int mirror) { - if (cpu_is_omap15xx()) { + if (cpu_is_omap1510()) { printk(KERN_ERR "DMA mirror is not supported in 1510 mode\n"); BUG(); } @@ -116,7 +116,7 @@ EXPORT_SYMBOL(omap_set_lcd_dma_b1_mirror); void omap_set_lcd_dma_b1_vxres(unsigned long vxres) { - if (cpu_is_omap15xx()) { + if (cpu_is_omap1510()) { printk(KERN_ERR "DMA virtual resulotion is not supported " "in 1510 mode\n"); BUG(); @@ -127,7 +127,7 @@ EXPORT_SYMBOL(omap_set_lcd_dma_b1_vxres); void omap_set_lcd_dma_b1_scale(unsigned int xscale, unsigned int yscale) { - if (cpu_is_omap15xx()) { + if (cpu_is_omap1510()) { printk(KERN_ERR "DMA scale is not supported in 1510 mode\n"); BUG(); } @@ -177,7 +177,7 @@ static void set_b1_regs(void) bottom = PIXADDR(lcd_dma.xres - 1, lcd_dma.yres - 1); /* 1510 DMA requires the bottom address to be 2 more * than the actual last memory access location. */ - if (cpu_is_omap15xx() && + if (cpu_is_omap1510() && lcd_dma.data_type == OMAP_DMA_DATA_TYPE_S32) bottom += 2; ei = PIXSTEP(0, 0, 1, 0); @@ -241,7 +241,7 @@ static void set_b1_regs(void) return; /* Suppress warning about uninitialized vars */ } - if (cpu_is_omap15xx()) { + if (cpu_is_omap1510()) { omap_writew(top >> 16, OMAP1510_DMA_LCD_TOP_F1_U); omap_writew(top, OMAP1510_DMA_LCD_TOP_F1_L); omap_writew(bottom >> 16, OMAP1510_DMA_LCD_BOT_F1_U); @@ -343,7 +343,7 @@ void omap_free_lcd_dma(void) BUG(); return; } - if (!cpu_is_omap15xx()) + if (!cpu_is_omap1510()) omap_writew(omap_readw(OMAP1610_DMA_LCD_CCR) & ~1, OMAP1610_DMA_LCD_CCR); lcd_dma.reserved = 0; @@ -360,7 +360,7 @@ void omap_enable_lcd_dma(void) * connected. Otherwise the OMAP internal controller will * start the transfer when it gets enabled. */ - if (cpu_is_omap15xx() || !lcd_dma.ext_ctrl) + if (cpu_is_omap1510() || !lcd_dma.ext_ctrl) return; w = omap_readw(OMAP1610_DMA_LCD_CTRL); @@ -378,14 +378,14 @@ EXPORT_SYMBOL(omap_enable_lcd_dma); void omap_setup_lcd_dma(void) { BUG_ON(lcd_dma.active); - if (!cpu_is_omap15xx()) { + if (!cpu_is_omap1510()) { /* Set some reasonable defaults */ omap_writew(0x5440, OMAP1610_DMA_LCD_CCR); omap_writew(0x9102, OMAP1610_DMA_LCD_CSDP); omap_writew(0x0004, OMAP1610_DMA_LCD_LCH_CTRL); } set_b1_regs(); - if (!cpu_is_omap15xx()) { + if (!cpu_is_omap1510()) { u16 w; w = omap_readw(OMAP1610_DMA_LCD_CCR); @@ -407,7 +407,7 @@ void omap_stop_lcd_dma(void) u16 w; lcd_dma.active = 0; - if (cpu_is_omap15xx() || !lcd_dma.ext_ctrl) + if (cpu_is_omap1510() || !lcd_dma.ext_ctrl) return; w = omap_readw(OMAP1610_DMA_LCD_CCR); diff --git a/trunk/arch/arm/mach-omap1/time.c b/trunk/arch/arm/mach-omap1/time.c index 6885d2fac183..ed7a61ff916a 100644 --- a/trunk/arch/arm/mach-omap1/time.c +++ b/trunk/arch/arm/mach-omap1/time.c @@ -49,15 +49,11 @@ #include #include #include -#include - #include #include #include -#ifdef CONFIG_OMAP_MPU_TIMER - #define OMAP_MPU_TIMER_BASE OMAP_MPU_TIMER1_BASE #define OMAP_MPU_TIMER_OFFSET 0x100 @@ -71,7 +67,7 @@ typedef struct { ((volatile omap_mpu_timer_regs_t*)OMAP1_IO_ADDRESS(OMAP_MPU_TIMER_BASE + \ (n)*OMAP_MPU_TIMER_OFFSET)) -static inline unsigned long notrace omap_mpu_timer_read(int nr) +static inline unsigned long omap_mpu_timer_read(int nr) { volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr); return timer->read_tim; @@ -216,32 +212,6 @@ static struct clocksource clocksource_mpu = { .flags = CLOCK_SOURCE_IS_CONTINUOUS, }; -static DEFINE_CLOCK_DATA(cd); - -static inline unsigned long long notrace _omap_mpu_sched_clock(void) -{ - u32 cyc = mpu_read(&clocksource_mpu); - return cyc_to_sched_clock(&cd, cyc, (u32)~0); -} - -#ifndef CONFIG_OMAP_32K_TIMER -unsigned long long notrace sched_clock(void) -{ - return _omap_mpu_sched_clock(); -} -#else -static unsigned long long notrace omap_mpu_sched_clock(void) -{ - return _omap_mpu_sched_clock(); -} -#endif - -static void notrace mpu_update_sched_clock(void) -{ - u32 cyc = mpu_read(&clocksource_mpu); - update_sched_clock(&cd, cyc, (u32)~0); -} - static void __init omap_init_clocksource(unsigned long rate) { static char err[] __initdata = KERN_ERR @@ -249,13 +219,17 @@ static void __init omap_init_clocksource(unsigned long rate) setup_irq(INT_TIMER2, &omap_mpu_timer2_irq); omap_mpu_timer_start(1, ~0, 1); - init_sched_clock(&cd, mpu_update_sched_clock, 32, rate); if (clocksource_register_hz(&clocksource_mpu, rate)) printk(err, clocksource_mpu.name); } -static void __init omap_mpu_timer_init(void) +/* + * --------------------------------------------------------------------------- + * Timer initialization + * --------------------------------------------------------------------------- + */ +static void __init omap_timer_init(void) { struct clk *ck_ref = clk_get(NULL, "ck_ref"); unsigned long rate; @@ -272,66 +246,6 @@ static void __init omap_mpu_timer_init(void) omap_init_clocksource(rate); } -#else -static inline void omap_mpu_timer_init(void) -{ - pr_err("Bogus timer, should not happen\n"); -} -#endif /* CONFIG_OMAP_MPU_TIMER */ - -#if defined(CONFIG_OMAP_MPU_TIMER) && defined(CONFIG_OMAP_32K_TIMER) -static unsigned long long (*preferred_sched_clock)(void); - -unsigned long long notrace sched_clock(void) -{ - if (!preferred_sched_clock) - return 0; - - return preferred_sched_clock(); -} - -static inline void preferred_sched_clock_init(bool use_32k_sched_clock) -{ - if (use_32k_sched_clock) - preferred_sched_clock = omap_32k_sched_clock; - else - preferred_sched_clock = omap_mpu_sched_clock; -} -#else -static inline void preferred_sched_clock_init(bool use_32k_sched_clcok) -{ -} -#endif - -static inline int omap_32k_timer_usable(void) -{ - int res = false; - - if (cpu_is_omap730() || cpu_is_omap15xx()) - return res; - -#ifdef CONFIG_OMAP_32K_TIMER - res = omap_32k_timer_init(); -#endif - - return res; -} - -/* - * --------------------------------------------------------------------------- - * Timer initialization - * --------------------------------------------------------------------------- - */ -static void __init omap_timer_init(void) -{ - if (omap_32k_timer_usable()) { - preferred_sched_clock_init(1); - } else { - omap_mpu_timer_init(); - preferred_sched_clock_init(0); - } -} - struct sys_timer omap_timer = { .init = omap_timer_init, }; diff --git a/trunk/arch/arm/mach-omap1/timer32k.c b/trunk/arch/arm/mach-omap1/timer32k.c index 13d7b8f145bd..20cfbcc6c60c 100644 --- a/trunk/arch/arm/mach-omap1/timer32k.c +++ b/trunk/arch/arm/mach-omap1/timer32k.c @@ -52,9 +52,10 @@ #include #include #include -#include #include +struct sys_timer omap_timer; + /* * --------------------------------------------------------------------------- * 32KHz OS timer @@ -180,14 +181,14 @@ static __init void omap_init_32k_timer(void) * Timer initialization * --------------------------------------------------------------------------- */ -bool __init omap_32k_timer_init(void) +static void __init omap_timer_init(void) { - omap_init_clocksource_32k(); - #ifdef CONFIG_OMAP_DM_TIMER omap_dm_timer_init(); #endif omap_init_32k_timer(); - - return true; } + +struct sys_timer omap_timer = { + .init = omap_timer_init, +}; diff --git a/trunk/arch/arm/mach-omap2/board-cm-t3517.c b/trunk/arch/arm/mach-omap2/board-cm-t3517.c index 8f9a64d650ee..5b0c77732dfc 100644 --- a/trunk/arch/arm/mach-omap2/board-cm-t3517.c +++ b/trunk/arch/arm/mach-omap2/board-cm-t3517.c @@ -124,9 +124,8 @@ static inline void cm_t3517_init_hecc(void) {} #if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE) #define RTC_IO_GPIO (153) #define RTC_WR_GPIO (154) -#define RTC_RD_GPIO (53) +#define RTC_RD_GPIO (160) #define RTC_CS_GPIO (163) -#define RTC_CS_EN_GPIO (160) struct v3020_platform_data cm_t3517_v3020_pdata = { .use_gpio = 1, @@ -146,16 +145,6 @@ static struct platform_device cm_t3517_rtc_device = { static void __init cm_t3517_init_rtc(void) { - int err; - - err = gpio_request(RTC_CS_EN_GPIO, "rtc cs en"); - if (err) { - pr_err("CM-T3517: rtc cs en gpio request failed: %d\n", err); - return; - } - - gpio_direction_output(RTC_CS_EN_GPIO, 1); - platform_device_register(&cm_t3517_rtc_device); } #else @@ -225,12 +214,12 @@ static struct mtd_partition cm_t3517_nand_partitions[] = { }, { .name = "linux", - .offset = MTDPART_OFS_APPEND, /* Offset = 0x2A0000 */ + .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */ .size = 32 * NAND_BLOCK_SIZE, }, { .name = "rootfs", - .offset = MTDPART_OFS_APPEND, /* Offset = 0x6A0000 */ + .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */ .size = MTDPART_SIZ_FULL, }, }; @@ -267,19 +256,11 @@ static void __init cm_t3517_init_irq(void) static struct omap_board_mux board_mux[] __initdata = { /* GPIO186 - Green LED */ OMAP3_MUX(SYS_CLKOUT2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), - - /* RTC GPIOs: */ - /* IO - GPIO153 */ + /* RTC GPIOs: IO, WR#, RD#, CS# */ OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), - /* WR# - GPIO154 */ OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), - /* RD# - GPIO53 */ - OMAP3_MUX(GPMC_NCS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), - /* CS# - GPIO163 */ - OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), - /* CS EN - GPIO160 */ OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), - + OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), /* HSUSB1 RESET */ OMAP3_MUX(UART2_TX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), /* HSUSB2 RESET */ diff --git a/trunk/arch/arm/mach-omap2/board-devkit8000.c b/trunk/arch/arm/mach-omap2/board-devkit8000.c index 9a2a31e011ce..00bb1fc5e017 100644 --- a/trunk/arch/arm/mach-omap2/board-devkit8000.c +++ b/trunk/arch/arm/mach-omap2/board-devkit8000.c @@ -115,6 +115,9 @@ static struct omap2_hsmmc_info mmc[] = { static int devkit8000_panel_enable_lcd(struct omap_dss_device *dssdev) { + twl_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80, REG_GPIODATADIR1); + twl_i2c_write_u8(TWL4030_MODULE_LED, 0x0, 0x0); + if (gpio_is_valid(dssdev->reset_gpio)) gpio_set_value_cansleep(dssdev->reset_gpio, 1); return 0; @@ -244,8 +247,6 @@ static struct gpio_led gpio_leds[]; static int devkit8000_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) { - int ret; - omap_mux_init_gpio(29, OMAP_PIN_INPUT); /* gpio + 0 is "mmc0_cd" (input/IRQ) */ mmc[0].gpio_cd = gpio + 0; @@ -254,23 +255,17 @@ static int devkit8000_twl_gpio_setup(struct device *dev, /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1; - /* TWL4030_GPIO_MAX + 0 is "LCD_PWREN" (out, active high) */ - devkit8000_lcd_device.reset_gpio = gpio + TWL4030_GPIO_MAX + 0; - ret = gpio_request_one(devkit8000_lcd_device.reset_gpio, - GPIOF_DIR_OUT | GPIOF_INIT_LOW, "LCD_PWREN"); - if (ret < 0) { - devkit8000_lcd_device.reset_gpio = -EINVAL; - printk(KERN_ERR "Failed to request GPIO for LCD_PWRN\n"); - } + /* gpio + 1 is "LCD_PWREN" (out, active high) */ + devkit8000_lcd_device.reset_gpio = gpio + 1; + gpio_request(devkit8000_lcd_device.reset_gpio, "LCD_PWREN"); + /* Disable until needed */ + gpio_direction_output(devkit8000_lcd_device.reset_gpio, 0); /* gpio + 7 is "DVI_PD" (out, active low) */ devkit8000_dvi_device.reset_gpio = gpio + 7; - ret = gpio_request_one(devkit8000_dvi_device.reset_gpio, - GPIOF_DIR_OUT | GPIOF_INIT_LOW, "DVI PowerDown"); - if (ret < 0) { - devkit8000_dvi_device.reset_gpio = -EINVAL; - printk(KERN_ERR "Failed to request GPIO for DVI PowerDown\n"); - } + gpio_request(devkit8000_dvi_device.reset_gpio, "DVI PowerDown"); + /* Disable until needed */ + gpio_direction_output(devkit8000_dvi_device.reset_gpio, 0); return 0; } @@ -280,7 +275,8 @@ static struct twl4030_gpio_platform_data devkit8000_gpio_data = { .irq_base = TWL4030_GPIO_IRQ_BASE, .irq_end = TWL4030_GPIO_IRQ_END, .use_leds = true, - .pulldowns = BIT(1) | BIT(2) | BIT(6) | BIT(8) | BIT(13) + .pullups = BIT(1), + .pulldowns = BIT(2) | BIT(6) | BIT(7) | BIT(8) | BIT(13) | BIT(15) | BIT(16) | BIT(17), .setup = devkit8000_twl_gpio_setup, }; diff --git a/trunk/arch/arm/mach-omap2/board-omap4panda.c b/trunk/arch/arm/mach-omap2/board-omap4panda.c index e944025d5ef8..e001a048dc0c 100644 --- a/trunk/arch/arm/mach-omap2/board-omap4panda.c +++ b/trunk/arch/arm/mach-omap2/board-omap4panda.c @@ -409,6 +409,8 @@ static void __init omap4_panda_init(void) platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices)); omap_serial_init(); omap4_twl6030_hsmmc_init(mmc); + /* OMAP4 Panda uses internal transceiver so register nop transceiver */ + usb_nop_xceiv_register(); omap4_ehci_init(); usb_musb_init(&musb_board_data); } diff --git a/trunk/arch/arm/mach-omap2/board-rm680.c b/trunk/arch/arm/mach-omap2/board-rm680.c index 39a71bb8a308..cb77be7ac44f 100644 --- a/trunk/arch/arm/mach-omap2/board-rm680.c +++ b/trunk/arch/arm/mach-omap2/board-rm680.c @@ -40,6 +40,9 @@ static struct regulator_consumer_supply rm680_vemmc_consumers[] = { static struct regulator_init_data rm680_vemmc = { .constraints = { .name = "rm680_vemmc", + .min_uV = 2900000, + .max_uV = 2900000, + .apply_uV = 1, .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, .valid_ops_mask = REGULATOR_CHANGE_STATUS diff --git a/trunk/arch/arm/mach-omap2/clkt_dpll.c b/trunk/arch/arm/mach-omap2/clkt_dpll.c index acb7ae5b0a25..337392c3f549 100644 --- a/trunk/arch/arm/mach-omap2/clkt_dpll.c +++ b/trunk/arch/arm/mach-omap2/clkt_dpll.c @@ -77,7 +77,7 @@ static int _dpll_test_fint(struct clk *clk, u8 n) dd = clk->dpll_data; /* DPLL divider must result in a valid jitter correction val */ - fint = clk->parent->rate / n; + fint = clk->parent->rate / (n + 1); if (fint < DPLL_FINT_BAND1_MIN) { pr_debug("rejecting n=%d due to Fint failure, " diff --git a/trunk/arch/arm/mach-omap2/clock44xx_data.c b/trunk/arch/arm/mach-omap2/clock44xx_data.c index de9ec8ddd2ae..e8cb32fd7f13 100644 --- a/trunk/arch/arm/mach-omap2/clock44xx_data.c +++ b/trunk/arch/arm/mach-omap2/clock44xx_data.c @@ -34,6 +34,7 @@ #include "cm2_44xx.h" #include "cm-regbits-44xx.h" #include "prm44xx.h" +#include "prm44xx.h" #include "prm-regbits-44xx.h" #include "control.h" #include "scrm44xx.h" diff --git a/trunk/arch/arm/mach-omap2/clockdomain.c b/trunk/arch/arm/mach-omap2/clockdomain.c index 58e42f76603f..e20b98636ab4 100644 --- a/trunk/arch/arm/mach-omap2/clockdomain.c +++ b/trunk/arch/arm/mach-omap2/clockdomain.c @@ -423,12 +423,6 @@ int clkdm_add_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) { struct clkdm_dep *cd; - if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { - pr_err("clockdomain: %s/%s: %s: not yet implemented\n", - clkdm1->name, clkdm2->name, __func__); - return -EINVAL; - } - if (!clkdm1 || !clkdm2) return -EINVAL; @@ -464,12 +458,6 @@ int clkdm_del_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) { struct clkdm_dep *cd; - if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { - pr_err("clockdomain: %s/%s: %s: not yet implemented\n", - clkdm1->name, clkdm2->name, __func__); - return -EINVAL; - } - if (!clkdm1 || !clkdm2) return -EINVAL; @@ -512,12 +500,6 @@ int clkdm_read_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) if (!clkdm1 || !clkdm2) return -EINVAL; - if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { - pr_err("clockdomain: %s/%s: %s: not yet implemented\n", - clkdm1->name, clkdm2->name, __func__); - return -EINVAL; - } - cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs); if (IS_ERR(cd)) { pr_debug("clockdomain: hardware cannot set/clear wake up of " @@ -545,12 +527,6 @@ int clkdm_clear_all_wkdeps(struct clockdomain *clkdm) struct clkdm_dep *cd; u32 mask = 0; - if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) { - pr_err("clockdomain: %s: %s: not yet implemented\n", - clkdm->name, __func__); - return -EINVAL; - } - if (!clkdm) return -EINVAL; @@ -854,7 +830,8 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm) * dependency code and data for OMAP4. */ if (cpu_is_omap44xx()) { - pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name); + WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency " + "support is not yet implemented\n"); } else { if (atomic_read(&clkdm->usecount) > 0) _clkdm_add_autodeps(clkdm); @@ -895,7 +872,8 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm) * dependency code and data for OMAP4. */ if (cpu_is_omap44xx()) { - pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name); + WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency " + "support is not yet implemented\n"); } else { if (atomic_read(&clkdm->usecount) > 0) _clkdm_del_autodeps(clkdm); diff --git a/trunk/arch/arm/mach-omap2/clockdomains44xx_data.c b/trunk/arch/arm/mach-omap2/clockdomains44xx_data.c index 10622c914abc..51920fc7fc52 100644 --- a/trunk/arch/arm/mach-omap2/clockdomains44xx_data.c +++ b/trunk/arch/arm/mach-omap2/clockdomains44xx_data.c @@ -30,6 +30,8 @@ #include "cm1_44xx.h" #include "cm2_44xx.h" +#include "cm1_44xx.h" +#include "cm2_44xx.h" #include "cm-regbits-44xx.h" #include "prm44xx.h" #include "prcm44xx.h" diff --git a/trunk/arch/arm/mach-omap2/dma.c b/trunk/arch/arm/mach-omap2/dma.c index 34922b2d2e3f..d2f15f5cfd36 100644 --- a/trunk/arch/arm/mach-omap2/dma.c +++ b/trunk/arch/arm/mach-omap2/dma.c @@ -264,7 +264,7 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused) if (IS_ERR(od)) { pr_err("%s: Cant build omap_device for %s:%s.\n", __func__, name, oh->name); - return PTR_ERR(od); + return IS_ERR(od); } mem = platform_get_resource(&od->pdev, IORESOURCE_MEM, 0); diff --git a/trunk/arch/arm/mach-omap2/include/mach/entry-macro.S b/trunk/arch/arm/mach-omap2/include/mach/entry-macro.S index 81985a665cb3..befa321c4c13 100644 --- a/trunk/arch/arm/mach-omap2/include/mach/entry-macro.S +++ b/trunk/arch/arm/mach-omap2/include/mach/entry-macro.S @@ -38,6 +38,20 @@ */ #ifdef MULTI_OMAP2 + +/* + * We use __glue to avoid errors with multiple definitions of + * .globl omap_irq_base as it's included from entry-armv.S but not + * from entry-common.S. + */ +#ifdef __glue + .pushsection .data + .globl omap_irq_base +omap_irq_base: + .word 0 + .popsection +#endif + /* * Configure the interrupt base on the first interrupt. * See also omap_irq_base_init for setting omap_irq_base. diff --git a/trunk/arch/arm/mach-omap2/io.c b/trunk/arch/arm/mach-omap2/io.c index c2032041d26f..e66687b0b9de 100644 --- a/trunk/arch/arm/mach-omap2/io.c +++ b/trunk/arch/arm/mach-omap2/io.c @@ -314,13 +314,14 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data) return omap_hwmod_set_postsetup_state(oh, *(u8 *)data); } -void __iomem *omap_irq_base; - /* * Initialize asm_irq_base for entry-macro.S */ static inline void omap_irq_base_init(void) { + extern void __iomem *omap_irq_base; + +#ifdef MULTI_OMAP2 if (cpu_is_omap24xx()) omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE); else if (cpu_is_omap34xx()) @@ -329,6 +330,7 @@ static inline void omap_irq_base_init(void) omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE); else pr_err("Could not initialize omap_irq_base\n"); +#endif } void __init omap2_init_common_infrastructure(void) diff --git a/trunk/arch/arm/mach-omap2/mailbox.c b/trunk/arch/arm/mach-omap2/mailbox.c index 24b88504df0f..394413dc7deb 100644 --- a/trunk/arch/arm/mach-omap2/mailbox.c +++ b/trunk/arch/arm/mach-omap2/mailbox.c @@ -193,12 +193,10 @@ static void omap2_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_type_t irq) { struct omap_mbox2_priv *p = mbox->priv; - u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; - - if (!cpu_is_omap44xx()) - bit = mbox_read_reg(p->irqdisable) & ~bit; - - mbox_write_reg(bit, p->irqdisable); + u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; + l = mbox_read_reg(p->irqdisable); + l &= ~bit; + mbox_write_reg(l, p->irqdisable); } static void omap2_mbox_ack_irq(struct omap_mbox *mbox, @@ -336,7 +334,7 @@ static struct omap_mbox mbox_iva_info = { .priv = &omap2_mbox_iva_priv, }; -struct omap_mbox *omap2_mboxes[] = { &mbox_dsp_info, &mbox_iva_info, NULL }; +struct omap_mbox *omap2_mboxes[] = { &mbox_iva_info, &mbox_dsp_info, NULL }; #endif #if defined(CONFIG_ARCH_OMAP4) diff --git a/trunk/arch/arm/mach-omap2/mux.c b/trunk/arch/arm/mach-omap2/mux.c index 6c84659cf846..df8d2f2872c6 100644 --- a/trunk/arch/arm/mach-omap2/mux.c +++ b/trunk/arch/arm/mach-omap2/mux.c @@ -160,7 +160,7 @@ static int __init _omap_mux_get_by_name(struct omap_mux_partition *partition, struct omap_mux *mux = NULL; struct omap_mux_entry *e; const char *mode_name; - int found = 0, found_mode = 0, mode0_len = 0; + int found = 0, found_mode, mode0_len = 0; struct list_head *muxmodes = &partition->muxmodes; mode_name = strchr(muxname, '.'); @@ -605,7 +605,7 @@ static void __init omap_mux_dbg_create_entry( list_for_each_entry(e, &partition->muxmodes, node) { struct omap_mux *m = &e->mux; - (void)debugfs_create_file(m->muxnames[0], S_IWUSR, mux_dbg_dir, + (void)debugfs_create_file(m->muxnames[0], S_IWUGO, mux_dbg_dir, m, &omap_mux_dbg_signal_fops); } } @@ -1000,7 +1000,6 @@ int __init omap_mux_init(const char *name, u32 flags, if (!partition->base) { pr_err("%s: Could not ioremap mux partition at 0x%08x\n", __func__, partition->phys); - kfree(partition); return -ENODEV; } diff --git a/trunk/arch/arm/mach-omap2/pm-debug.c b/trunk/arch/arm/mach-omap2/pm-debug.c index a5a83b358ddd..125f56591fb5 100644 --- a/trunk/arch/arm/mach-omap2/pm-debug.c +++ b/trunk/arch/arm/mach-omap2/pm-debug.c @@ -637,14 +637,14 @@ static int __init pm_dbg_init(void) } - (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d, + (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUGO, d, &enable_off_mode, &pm_dbg_option_fops); - (void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUSR, d, + (void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUGO, d, &sleep_while_idle, &pm_dbg_option_fops); - (void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUSR, d, + (void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUGO, d, &wakeup_timer_seconds, &pm_dbg_option_fops); (void) debugfs_create_file("wakeup_timer_milliseconds", - S_IRUGO | S_IWUSR, d, &wakeup_timer_milliseconds, + S_IRUGO | S_IWUGO, d, &wakeup_timer_milliseconds, &pm_dbg_option_fops); pm_dbg_init_done = 1; diff --git a/trunk/arch/arm/mach-omap2/pm24xx.c b/trunk/arch/arm/mach-omap2/pm24xx.c index 97feb3ab6a69..9e5dc8ed51e9 100644 --- a/trunk/arch/arm/mach-omap2/pm24xx.c +++ b/trunk/arch/arm/mach-omap2/pm24xx.c @@ -134,7 +134,7 @@ static void omap2_enter_full_retention(void) /* Block console output in case it is on one of the OMAP UARTs */ if (!is_suspending()) - if (!console_trylock()) + if (try_acquire_console_sem()) goto no_sleep; omap_uart_prepare_idle(0); @@ -151,7 +151,7 @@ static void omap2_enter_full_retention(void) omap_uart_resume_idle(0); if (!is_suspending()) - console_unlock(); + release_console_sem(); no_sleep: if (omap2_pm_debug) { diff --git a/trunk/arch/arm/mach-omap2/pm34xx.c b/trunk/arch/arm/mach-omap2/pm34xx.c index 2f864e4b085d..8cbbeade4b8a 100644 --- a/trunk/arch/arm/mach-omap2/pm34xx.c +++ b/trunk/arch/arm/mach-omap2/pm34xx.c @@ -168,10 +168,9 @@ static void omap3_core_restore_context(void) * once during boot sequence, but this works as we are not using secure * services. */ -static void omap3_save_secure_ram_context(void) +static void omap3_save_secure_ram_context(u32 target_mpu_state) { u32 ret; - int mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm); if (omap_type() != OMAP2_DEVICE_TYPE_GP) { /* @@ -182,7 +181,7 @@ static void omap3_save_secure_ram_context(void) pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON); ret = _omap_save_secure_sram((u32 *) __pa(omap3_secure_ram_storage)); - pwrdm_set_next_pwrst(mpu_pwrdm, mpu_next_state); + pwrdm_set_next_pwrst(mpu_pwrdm, target_mpu_state); /* Following is for error tracking, it should not happen */ if (ret) { printk(KERN_ERR "save_secure_sram() returns %08x\n", @@ -399,7 +398,7 @@ void omap_sram_idle(void) if (!is_suspending()) if (per_next_state < PWRDM_POWER_ON || core_next_state < PWRDM_POWER_ON) - if (!console_trylock()) + if (try_acquire_console_sem()) goto console_still_active; /* PER */ @@ -482,7 +481,7 @@ void omap_sram_idle(void) } if (!is_suspending()) - console_unlock(); + release_console_sem(); console_still_active: /* Disable IO-PAD and IO-CHAIN wakeup */ @@ -1095,7 +1094,7 @@ static int __init omap3_pm_init(void) local_fiq_disable(); omap_dma_global_context_save(); - omap3_save_secure_ram_context(); + omap3_save_secure_ram_context(PWRDM_POWER_ON); omap_dma_global_context_restore(); local_irq_enable(); diff --git a/trunk/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c b/trunk/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c index cf600e22bf8e..d5233890370c 100644 --- a/trunk/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c +++ b/trunk/arch/arm/mach-omap2/powerdomain2xxx_3xxx.c @@ -19,6 +19,7 @@ #include #include "powerdomain.h" +#include "prm-regbits-34xx.h" #include "prm.h" #include "prm-regbits-24xx.h" #include "prm-regbits-34xx.h" diff --git a/trunk/arch/arm/mach-omap2/prcm_mpu44xx.h b/trunk/arch/arm/mach-omap2/prcm_mpu44xx.h index 3300ff6e3cfe..729a644ce852 100644 --- a/trunk/arch/arm/mach-omap2/prcm_mpu44xx.h +++ b/trunk/arch/arm/mach-omap2/prcm_mpu44xx.h @@ -38,8 +38,8 @@ #define OMAP4430_PRCM_MPU_CPU1_INST 0x0800 /* PRCM_MPU clockdomain register offsets (from instance start) */ -#define OMAP4430_PRCM_MPU_CPU0_MPU_CDOFFS 0x0018 -#define OMAP4430_PRCM_MPU_CPU1_MPU_CDOFFS 0x0018 +#define OMAP4430_PRCM_MPU_CPU0_MPU_CDOFFS 0x0000 +#define OMAP4430_PRCM_MPU_CPU1_MPU_CDOFFS 0x0000 /* diff --git a/trunk/arch/arm/mach-omap2/serial.c b/trunk/arch/arm/mach-omap2/serial.c index 32e91a9c8b6b..302da7403a10 100644 --- a/trunk/arch/arm/mach-omap2/serial.c +++ b/trunk/arch/arm/mach-omap2/serial.c @@ -812,7 +812,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) oh->dev_attr = uart; - console_lock(); /* in case the earlycon is on the UART */ + acquire_console_sem(); /* in case the earlycon is on the UART */ /* * Because of early UART probing, UART did not get idled @@ -838,7 +838,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata) omap_uart_block_sleep(uart); uart->timeout = DEFAULT_TIMEOUT; - console_unlock(); + release_console_sem(); if ((cpu_is_omap34xx() && uart->padconf) || (uart->wk_en && uart->wk_mask)) { diff --git a/trunk/arch/arm/mach-omap2/smartreflex.c b/trunk/arch/arm/mach-omap2/smartreflex.c index 1a777e34d0c2..77ecebf3fae2 100644 --- a/trunk/arch/arm/mach-omap2/smartreflex.c +++ b/trunk/arch/arm/mach-omap2/smartreflex.c @@ -282,7 +282,6 @@ static int sr_late_init(struct omap_sr *sr_info) dev_err(&sr_info->pdev->dev, "%s: ERROR in registering" "interrupt handler. Smartreflex will" "not function as desired\n", __func__); - kfree(name); kfree(sr_info); return ret; } @@ -781,7 +780,8 @@ static int omap_sr_autocomp_show(void *data, u64 *val) struct omap_sr *sr_info = (struct omap_sr *) data; if (!sr_info) { - pr_warning("%s: omap_sr struct not found\n", __func__); + pr_warning("%s: omap_sr struct for sr_%s not found\n", + __func__, sr_info->voltdm->name); return -EINVAL; } @@ -795,7 +795,8 @@ static int omap_sr_autocomp_store(void *data, u64 val) struct omap_sr *sr_info = (struct omap_sr *) data; if (!sr_info) { - pr_warning("%s: omap_sr struct not found\n", __func__); + pr_warning("%s: omap_sr struct for sr_%s not found\n", + __func__, sr_info->voltdm->name); return -EINVAL; } @@ -833,8 +834,7 @@ static int __init omap_sr_probe(struct platform_device *pdev) if (!pdata) { dev_err(&pdev->dev, "%s: platform data missing\n", __func__); - ret = -EINVAL; - goto err_free_devinfo; + return -EINVAL; } mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -880,7 +880,7 @@ static int __init omap_sr_probe(struct platform_device *pdev) ret = sr_late_init(sr_info); if (ret) { pr_warning("%s: Error in SR late init\n", __func__); - goto err_release_region; + return ret; } } @@ -891,20 +891,17 @@ static int __init omap_sr_probe(struct platform_device *pdev) * not try to create rest of the debugfs entries. */ vdd_dbg_dir = omap_voltage_get_dbgdir(sr_info->voltdm); - if (!vdd_dbg_dir) { - ret = -EINVAL; - goto err_release_region; - } + if (!vdd_dbg_dir) + return -EINVAL; dbg_dir = debugfs_create_dir("smartreflex", vdd_dbg_dir); if (IS_ERR(dbg_dir)) { dev_err(&pdev->dev, "%s: Unable to create debugfs directory\n", __func__); - ret = PTR_ERR(dbg_dir); - goto err_release_region; + return PTR_ERR(dbg_dir); } - (void) debugfs_create_file("autocomp", S_IRUGO | S_IWUSR, dbg_dir, + (void) debugfs_create_file("autocomp", S_IRUGO | S_IWUGO, dbg_dir, (void *)sr_info, &pm_sr_fops); (void) debugfs_create_x32("errweight", S_IRUGO, dbg_dir, &sr_info->err_weight); @@ -917,8 +914,7 @@ static int __init omap_sr_probe(struct platform_device *pdev) if (IS_ERR(nvalue_dir)) { dev_err(&pdev->dev, "%s: Unable to create debugfs directory" "for n-values\n", __func__); - ret = PTR_ERR(nvalue_dir); - goto err_release_region; + return PTR_ERR(nvalue_dir); } omap_voltage_get_volttable(sr_info->voltdm, &volt_data); @@ -927,16 +923,24 @@ static int __init omap_sr_probe(struct platform_device *pdev) " corresponding vdd vdd_%s. Cannot create debugfs" "entries for n-values\n", __func__, sr_info->voltdm->name); - ret = -ENODATA; - goto err_release_region; + return -ENODATA; } for (i = 0; i < sr_info->nvalue_count; i++) { - char name[NVALUE_NAME_LEN + 1]; + char *name; + char volt_name[32]; + + name = kzalloc(NVALUE_NAME_LEN + 1, GFP_KERNEL); + if (!name) { + dev_err(&pdev->dev, "%s: Unable to allocate memory" + " for n-value directory name\n", __func__); + return -ENOMEM; + } - snprintf(name, sizeof(name), "volt_%d", - volt_data[i].volt_nominal); - (void) debugfs_create_x32(name, S_IRUGO | S_IWUSR, nvalue_dir, + strcpy(name, "volt_"); + sprintf(volt_name, "%d", volt_data[i].volt_nominal); + strcat(name, volt_name); + (void) debugfs_create_x32(name, S_IRUGO | S_IWUGO, nvalue_dir, &(sr_info->nvalue_table[i].nvalue)); } @@ -962,7 +966,7 @@ static int __devexit omap_sr_remove(struct platform_device *pdev) } sr_info = _sr_lookup(pdata->voltdm); - if (IS_ERR(sr_info)) { + if (!sr_info) { dev_warn(&pdev->dev, "%s: omap_sr struct not found\n", __func__); return -EINVAL; diff --git a/trunk/arch/arm/mach-omap2/timer-gp.c b/trunk/arch/arm/mach-omap2/timer-gp.c index 0fc550e7e482..4e48e786bec7 100644 --- a/trunk/arch/arm/mach-omap2/timer-gp.c +++ b/trunk/arch/arm/mach-omap2/timer-gp.c @@ -39,12 +39,9 @@ #include #include #include -#include #include "timer-gp.h" -#include - /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */ #define MAX_GPTIMER_ID 12 @@ -179,19 +176,14 @@ static void __init omap2_gp_clockevent_init(void) /* * When 32k-timer is enabled, don't use GPTimer for clocksource * instead, just leave default clocksource which uses the 32k - * sync counter. See clocksource setup in plat-omap/counter_32k.c + * sync counter. See clocksource setup in see plat-omap/common.c. */ -static void __init omap2_gp_clocksource_init(void) -{ - omap_init_clocksource_32k(); -} - +static inline void __init omap2_gp_clocksource_init(void) {} #else /* * clocksource */ -static DEFINE_CLOCK_DATA(cd); static struct omap_dm_timer *gpt_clocksource; static cycle_t clocksource_read_cycles(struct clocksource *cs) { @@ -206,15 +198,6 @@ static struct clocksource clocksource_gpt = { .flags = CLOCK_SOURCE_IS_CONTINUOUS, }; -static void notrace dmtimer_update_sched_clock(void) -{ - u32 cyc; - - cyc = omap_dm_timer_read_counter(gpt_clocksource); - - update_sched_clock(&cd, cyc, (u32)~0); -} - /* Setup free-running counter for clocksource */ static void __init omap2_gp_clocksource_init(void) { @@ -235,8 +218,6 @@ static void __init omap2_gp_clocksource_init(void) omap_dm_timer_set_load_start(gpt, 1, 0); - init_sched_clock(&cd, dmtimer_update_sched_clock, 32, tick_rate); - if (clocksource_register_hz(&clocksource_gpt, tick_rate)) printk(err2, clocksource_gpt.name); } diff --git a/trunk/arch/arm/mach-omap2/voltage.c b/trunk/arch/arm/mach-omap2/voltage.c index 12be525b8df4..ed6079c94c57 100644 --- a/trunk/arch/arm/mach-omap2/voltage.c +++ b/trunk/arch/arm/mach-omap2/voltage.c @@ -471,7 +471,6 @@ static void __init vdd_debugfs_init(struct omap_vdd_info *vdd) strcat(name, vdd->voltdm.name); vdd->debug_dir = debugfs_create_dir(name, voltage_dir); - kfree(name); if (IS_ERR(vdd->debug_dir)) { pr_warning("%s: Unable to create debugfs directory for" " vdd_%s\n", __func__, vdd->voltdm.name); diff --git a/trunk/arch/arm/mach-pxa/colibri-evalboard.c b/trunk/arch/arm/mach-pxa/colibri-evalboard.c index 28f667e52ef9..6b2c800a1133 100644 --- a/trunk/arch/arm/mach-pxa/colibri-evalboard.c +++ b/trunk/arch/arm/mach-pxa/colibri-evalboard.c @@ -50,7 +50,7 @@ static void __init colibri_mmc_init(void) GPIO0_COLIBRI_PXA270_SD_DETECT; if (machine_is_colibri300()) /* PXA300 Colibri */ colibri_mci_platform_data.gpio_card_detect = - GPIO13_COLIBRI_PXA300_SD_DETECT; + GPIO39_COLIBRI_PXA300_SD_DETECT; else /* PXA320 Colibri */ colibri_mci_platform_data.gpio_card_detect = GPIO28_COLIBRI_PXA320_SD_DETECT; diff --git a/trunk/arch/arm/mach-pxa/colibri-pxa300.c b/trunk/arch/arm/mach-pxa/colibri-pxa300.c index 66dd81cbc8a0..fddb16d07eb0 100644 --- a/trunk/arch/arm/mach-pxa/colibri-pxa300.c +++ b/trunk/arch/arm/mach-pxa/colibri-pxa300.c @@ -41,7 +41,7 @@ static mfp_cfg_t colibri_pxa300_evalboard_pin_config[] __initdata = { GPIO4_MMC1_DAT1, GPIO5_MMC1_DAT2, GPIO6_MMC1_DAT3, - GPIO13_GPIO, /* GPIO13_COLIBRI_PXA300_SD_DETECT */ + GPIO39_GPIO, /* SD detect */ /* UHC */ GPIO0_2_USBH_PEN, diff --git a/trunk/arch/arm/mach-pxa/include/mach/colibri.h b/trunk/arch/arm/mach-pxa/include/mach/colibri.h index cb4236e98a0f..388a96f1ef93 100644 --- a/trunk/arch/arm/mach-pxa/include/mach/colibri.h +++ b/trunk/arch/arm/mach-pxa/include/mach/colibri.h @@ -60,7 +60,7 @@ static inline void colibri_pxa3xx_init_nand(void) {} #define GPIO113_COLIBRI_PXA270_TS_IRQ 113 /* GPIO definitions for Colibri PXA300/310 */ -#define GPIO13_COLIBRI_PXA300_SD_DETECT 13 +#define GPIO39_COLIBRI_PXA300_SD_DETECT 39 /* GPIO definitions for Colibri PXA320 */ #define GPIO28_COLIBRI_PXA320_SD_DETECT 28 diff --git a/trunk/arch/arm/mach-pxa/palm27x.c b/trunk/arch/arm/mach-pxa/palm27x.c index 35572c427fa8..405b92a29793 100644 --- a/trunk/arch/arm/mach-pxa/palm27x.c +++ b/trunk/arch/arm/mach-pxa/palm27x.c @@ -323,7 +323,7 @@ static struct platform_pwm_backlight_data palm27x_backlight_data = { .pwm_id = 0, .max_brightness = 0xfe, .dft_brightness = 0x7e, - .pwm_period_ns = 3500 * 1024, + .pwm_period_ns = 3500, .init = palm27x_backlight_init, .notify = palm27x_backlight_notify, .exit = palm27x_backlight_exit, diff --git a/trunk/arch/arm/mach-pxa/pm.c b/trunk/arch/arm/mach-pxa/pm.c index 1807c9abdde0..978e1b289544 100644 --- a/trunk/arch/arm/mach-pxa/pm.c +++ b/trunk/arch/arm/mach-pxa/pm.c @@ -33,7 +33,7 @@ int pxa_pm_enter(suspend_state_t state) #endif /* skip registers saving for standby */ - if (state != PM_SUSPEND_STANDBY && pxa_cpu_pm_fns->save) { + if (state != PM_SUSPEND_STANDBY) { pxa_cpu_pm_fns->save(sleep_save); /* before sleeping, calculate and save a checksum */ for (i = 0; i < pxa_cpu_pm_fns->save_count - 1; i++) @@ -44,7 +44,7 @@ int pxa_pm_enter(suspend_state_t state) pxa_cpu_pm_fns->enter(state); cpu_init(); - if (state != PM_SUSPEND_STANDBY && pxa_cpu_pm_fns->restore) { + if (state != PM_SUSPEND_STANDBY) { /* after sleeping, validate the checksum */ for (i = 0; i < pxa_cpu_pm_fns->save_count - 1; i++) checksum += sleep_save[i]; diff --git a/trunk/arch/arm/mach-pxa/pxa25x.c b/trunk/arch/arm/mach-pxa/pxa25x.c index b166b1d845d7..fbc5b775f895 100644 --- a/trunk/arch/arm/mach-pxa/pxa25x.c +++ b/trunk/arch/arm/mach-pxa/pxa25x.c @@ -347,7 +347,6 @@ static struct platform_device *pxa25x_devices[] __initdata = { &pxa25x_device_assp, &pxa25x_device_pwm0, &pxa25x_device_pwm1, - &pxa_device_asoc_platform, }; static struct sys_device pxa25x_sysdev[] = { diff --git a/trunk/arch/arm/mach-pxa/tosa-bt.c b/trunk/arch/arm/mach-pxa/tosa-bt.c index b9b1e5c2b290..c31e601eb49c 100644 --- a/trunk/arch/arm/mach-pxa/tosa-bt.c +++ b/trunk/arch/arm/mach-pxa/tosa-bt.c @@ -81,6 +81,8 @@ static int tosa_bt_probe(struct platform_device *dev) goto err_rfk_alloc; } + rfkill_set_led_trigger_name(rfk, "tosa-bt"); + rc = rfkill_register(rfk); if (rc) goto err_rfkill; diff --git a/trunk/arch/arm/mach-pxa/tosa.c b/trunk/arch/arm/mach-pxa/tosa.c index f2582ec300d9..af152e70cfcf 100644 --- a/trunk/arch/arm/mach-pxa/tosa.c +++ b/trunk/arch/arm/mach-pxa/tosa.c @@ -875,11 +875,6 @@ static struct platform_device sharpsl_rom_device = { .dev.platform_data = &sharpsl_rom_data, }; -static struct platform_device wm9712_device = { - .name = "wm9712-codec", - .id = -1, -}; - static struct platform_device *devices[] __initdata = { &tosascoop_device, &tosascoop_jc_device, @@ -890,7 +885,6 @@ static struct platform_device *devices[] __initdata = { &tosaled_device, &tosa_bt_device, &sharpsl_rom_device, - &wm9712_device, }; static void tosa_poweroff(void) diff --git a/trunk/arch/arm/mach-realview/Kconfig b/trunk/arch/arm/mach-realview/Kconfig index 7ca138a943a9..b4575ae9648e 100644 --- a/trunk/arch/arm/mach-realview/Kconfig +++ b/trunk/arch/arm/mach-realview/Kconfig @@ -2,56 +2,52 @@ menu "RealView platform type" depends on ARCH_REALVIEW config MACH_REALVIEW_EB - bool "Support RealView(R) Emulation Baseboard" + bool "Support RealView/EB platform" select ARM_GIC help - Include support for the ARM(R) RealView(R) Emulation Baseboard - platform. + Include support for the ARM(R) RealView Emulation Baseboard platform. config REALVIEW_EB_A9MP - bool "Support Multicore Cortex-A9 Tile" + bool "Support Multicore Cortex-A9" depends on MACH_REALVIEW_EB select CPU_V7 help - Enable support for the Cortex-A9MPCore tile fitted to the - Realview(R) Emulation Baseboard platform. + Enable support for the Cortex-A9MPCore tile on the Realview platform. config REALVIEW_EB_ARM11MP - bool "Support ARM11MPCore Tile" + bool "Support ARM11MPCore tile" depends on MACH_REALVIEW_EB select CPU_V6 select ARCH_HAS_BARRIERS if SMP help - Enable support for the ARM11MPCore tile fitted to the Realview(R) - Emulation Baseboard platform. + Enable support for the ARM11MPCore tile on the Realview platform. config REALVIEW_EB_ARM11MP_REVB - bool "Support ARM11MPCore RevB Tile" + bool "Support ARM11MPCore RevB tile" depends on REALVIEW_EB_ARM11MP help - Enable support for the ARM11MPCore Revision B tile on the - Realview(R) Emulation Baseboard platform. Since there are device - address differences, a kernel built with this option enabled is - not compatible with other revisions of the ARM11MPCore tile. + Enable support for the ARM11MPCore RevB tile on the Realview + platform. Since there are device address differences, a + kernel built with this option enabled is not compatible with + other revisions of the ARM11MPCore tile. config MACH_REALVIEW_PB11MP - bool "Support RealView(R) Platform Baseboard for ARM11MPCore" + bool "Support RealView/PB11MPCore platform" select CPU_V6 select ARM_GIC select HAVE_PATA_PLATFORM select ARCH_HAS_BARRIERS if SMP help - Include support for the ARM(R) RealView(R) Platform Baseboard for - the ARM11MPCore. This platform has an on-board ARM11MPCore and has + Include support for the ARM(R) RealView MPCore Platform Baseboard. + PB11MPCore is a platform with an on-board ARM11MPCore and has support for PCI-E and Compact Flash. config MACH_REALVIEW_PB1176 - bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" + bool "Support RealView/PB1176 platform" select CPU_V6 select ARM_GIC help - Include support for the ARM(R) RealView(R) Platform Baseboard for - ARM1176JZF-S. + Include support for the ARM(R) RealView ARM1176 Platform Baseboard. config REALVIEW_PB1176_SECURE_FLASH bool "Allow access to the secure flash memory block" @@ -63,24 +59,23 @@ config REALVIEW_PB1176_SECURE_FLASH block (64MB @ 0x3c000000) is required. config MACH_REALVIEW_PBA8 - bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" + bool "Support RealView/PB-A8 platform" select CPU_V7 select ARM_GIC select HAVE_PATA_PLATFORM help - Include support for the ARM(R) RealView Platform Baseboard for - Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has - support for PCI-E and Compact Flash. + Include support for the ARM(R) RealView Cortex-A8 Platform Baseboard. + PB-A8 is a platform with an on-board Cortex-A8 and has support for + PCI-E and Compact Flash. config MACH_REALVIEW_PBX - bool "Support RealView(R) Platform Baseboard Explore" + bool "Support RealView/PBX platform" select ARM_GIC select HAVE_PATA_PLATFORM select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET select ZONE_DMA if SPARSEMEM help - Include support for the ARM(R) RealView(R) Platform Baseboard - Explore. + Include support for the ARM(R) RealView PBX platform. config REALVIEW_HIGH_PHYS_OFFSET bool "High physical base address for the RealView platform" diff --git a/trunk/arch/arm/mach-realview/platsmp.c b/trunk/arch/arm/mach-realview/platsmp.c index 6959d13d908a..a22bf67f2f78 100644 --- a/trunk/arch/arm/mach-realview/platsmp.c +++ b/trunk/arch/arm/mach-realview/platsmp.c @@ -41,7 +41,7 @@ volatile int __cpuinitdata pen_release = -1; * observers, irrespective of whether they're taking part in coherency * or not. This is necessary for the hotplug code to work reliably. */ -static void __cpuinit write_pen_release(int val) +static void write_pen_release(int val) { pen_release = val; smp_wmb(); diff --git a/trunk/arch/arm/mach-s3c2440/Kconfig b/trunk/arch/arm/mach-s3c2440/Kconfig index 50825a3f91cc..a0cb2581894f 100644 --- a/trunk/arch/arm/mach-s3c2440/Kconfig +++ b/trunk/arch/arm/mach-s3c2440/Kconfig @@ -99,7 +99,6 @@ config MACH_NEO1973_GTA02 select POWER_SUPPLY select MACH_NEO1973 select S3C2410_PWM - select S3C_DEV_USB_HOST help Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone diff --git a/trunk/arch/arm/mach-s3c2440/include/mach/gta02.h b/trunk/arch/arm/mach-s3c2440/include/mach/gta02.h index 3a56a229cac6..953331d8d56a 100644 --- a/trunk/arch/arm/mach-s3c2440/include/mach/gta02.h +++ b/trunk/arch/arm/mach-s3c2440/include/mach/gta02.h @@ -44,19 +44,19 @@ #define GTA02v3_GPIO_nUSB_FLT S3C2410_GPG(10) /* v3 + v4 only */ #define GTA02v3_GPIO_nGSM_OC S3C2410_GPG(11) /* v3 + v4 only */ -#define GTA02_GPIO_AMP_SHUT S3C2410_GPJ(1) /* v2 + v3 + v4 only */ -#define GTA02v1_GPIO_WLAN_GPIO10 S3C2410_GPJ(2) -#define GTA02_GPIO_HP_IN S3C2410_GPJ(2) /* v2 + v3 + v4 only */ -#define GTA02_GPIO_INT0 S3C2410_GPJ(3) /* v2 + v3 + v4 only */ -#define GTA02_GPIO_nGSM_EN S3C2410_GPJ(4) -#define GTA02_GPIO_3D_RESET S3C2410_GPJ(5) -#define GTA02_GPIO_nDL_GSM S3C2410_GPJ(6) /* v4 + v5 only */ -#define GTA02_GPIO_WLAN_GPIO0 S3C2410_GPJ(7) -#define GTA02v1_GPIO_BAT_ID S3C2410_GPJ(8) -#define GTA02_GPIO_KEEPACT S3C2410_GPJ(8) -#define GTA02v1_GPIO_HP_IN S3C2410_GPJ(10) -#define GTA02_CHIP_PWD S3C2410_GPJ(11) /* v2 + v3 + v4 only */ -#define GTA02_GPIO_nWLAN_RESET S3C2410_GPJ(12) /* v2 + v3 + v4 only */ +#define GTA02_GPIO_AMP_SHUT S3C2440_GPJ1 /* v2 + v3 + v4 only */ +#define GTA02v1_GPIO_WLAN_GPIO10 S3C2440_GPJ2 +#define GTA02_GPIO_HP_IN S3C2440_GPJ2 /* v2 + v3 + v4 only */ +#define GTA02_GPIO_INT0 S3C2440_GPJ3 /* v2 + v3 + v4 only */ +#define GTA02_GPIO_nGSM_EN S3C2440_GPJ4 +#define GTA02_GPIO_3D_RESET S3C2440_GPJ5 +#define GTA02_GPIO_nDL_GSM S3C2440_GPJ6 /* v4 + v5 only */ +#define GTA02_GPIO_WLAN_GPIO0 S3C2440_GPJ7 +#define GTA02v1_GPIO_BAT_ID S3C2440_GPJ8 +#define GTA02_GPIO_KEEPACT S3C2440_GPJ8 +#define GTA02v1_GPIO_HP_IN S3C2440_GPJ10 +#define GTA02_CHIP_PWD S3C2440_GPJ11 /* v2 + v3 + v4 only */ +#define GTA02_GPIO_nWLAN_RESET S3C2440_GPJ12 /* v2 + v3 + v4 only */ #define GTA02_IRQ_GSENSOR_1 IRQ_EINT0 #define GTA02_IRQ_MODEM IRQ_EINT1 diff --git a/trunk/arch/arm/mach-s3c64xx/clock.c b/trunk/arch/arm/mach-s3c64xx/clock.c index fdfc4d5e37a1..dd3782064508 100644 --- a/trunk/arch/arm/mach-s3c64xx/clock.c +++ b/trunk/arch/arm/mach-s3c64xx/clock.c @@ -150,12 +150,6 @@ static struct clk init_clocks_off[] = { .parent = &clk_p, .enable = s3c64xx_pclk_ctrl, .ctrlbit = S3C_CLKCON_PCLK_IIC, - }, { - .name = "i2c", - .id = 1, - .parent = &clk_p, - .enable = s3c64xx_pclk_ctrl, - .ctrlbit = S3C6410_CLKCON_PCLK_I2C1, }, { .name = "iis", .id = 0, diff --git a/trunk/arch/arm/mach-s3c64xx/dma.c b/trunk/arch/arm/mach-s3c64xx/dma.c index c35585cf8c4f..135db1b41252 100644 --- a/trunk/arch/arm/mach-s3c64xx/dma.c +++ b/trunk/arch/arm/mach-s3c64xx/dma.c @@ -690,12 +690,12 @@ static int s3c64xx_dma_init1(int chno, enum dma_ch chbase, regptr = regs + PL080_Cx_BASE(0); - for (ch = 0; ch < 8; ch++, chptr++) { - pr_debug("%s: registering DMA %d (%p)\n", - __func__, chno + ch, regptr); + for (ch = 0; ch < 8; ch++, chno++, chptr++) { + printk(KERN_INFO "%s: registering DMA %d (%p)\n", + __func__, chno, regptr); chptr->bit = 1 << ch; - chptr->number = chno + ch; + chptr->number = chno; chptr->dmac = dmac; chptr->regs = regptr; regptr += PL080_Cx_STRIDE; @@ -704,8 +704,7 @@ static int s3c64xx_dma_init1(int chno, enum dma_ch chbase, /* for the moment, permanently enable the controller */ writel(PL080_CONFIG_ENABLE, regs + PL080_CONFIG); - printk(KERN_INFO "PL080: IRQ %d, at %p, channels %d..%d\n", - irq, regs, chno, chno+8); + printk(KERN_INFO "PL080: IRQ %d, at %p\n", irq, regs); return 0; diff --git a/trunk/arch/arm/mach-s3c64xx/gpiolib.c b/trunk/arch/arm/mach-s3c64xx/gpiolib.c index 92b09085caaa..fd99a82e82c4 100644 --- a/trunk/arch/arm/mach-s3c64xx/gpiolib.c +++ b/trunk/arch/arm/mach-s3c64xx/gpiolib.c @@ -72,7 +72,7 @@ static struct s3c_gpio_cfg gpio_4bit_cfg_eint0011 = { .get_pull = s3c_gpio_getpull_updown, }; -static int s3c64xx_gpio2int_gpm(struct gpio_chip *chip, unsigned pin) +int s3c64xx_gpio2int_gpm(struct gpio_chip *chip, unsigned pin) { return pin < 5 ? IRQ_EINT(23) + pin : -ENXIO; } @@ -138,7 +138,7 @@ static struct s3c_gpio_chip gpio_4bit[] = { }, }; -static int s3c64xx_gpio2int_gpl(struct gpio_chip *chip, unsigned pin) +int s3c64xx_gpio2int_gpl(struct gpio_chip *chip, unsigned pin) { return pin >= 8 ? IRQ_EINT(16) + pin - 8 : -ENXIO; } diff --git a/trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c b/trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c index a80a3163dd30..e85192a86fbe 100644 --- a/trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c +++ b/trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c @@ -28,7 +28,6 @@ #include #include #include -#include #ifdef CONFIG_SMDK6410_WM1190_EV1 #include @@ -352,7 +351,7 @@ static struct regulator_init_data smdk6410_vddpll = { /* VDD_UH_MMC, LDO5 on J5 */ static struct regulator_init_data smdk6410_vdduh_mmc = { .constraints = { - .name = "PVDD_UH+PVDD_MMC", + .name = "PVDD_UH/PVDD_MMC", .always_on = 1, }, }; @@ -418,7 +417,7 @@ static struct regulator_init_data smdk6410_vddaudio = { /* S3C64xx internal logic & PLL */ static struct regulator_init_data wm8350_dcdc1_data = { .constraints = { - .name = "PVDD_INT+PVDD_PLL", + .name = "PVDD_INT/PVDD_PLL", .min_uV = 1200000, .max_uV = 1200000, .always_on = 1, @@ -453,7 +452,7 @@ static struct regulator_consumer_supply wm8350_dcdc4_consumers[] = { static struct regulator_init_data wm8350_dcdc4_data = { .constraints = { - .name = "PVDD_HI+PVDD_EXT+PVDD_SYS+PVCCM2MTV", + .name = "PVDD_HI/PVDD_EXT/PVDD_SYS/PVCCM2MTV", .min_uV = 3000000, .max_uV = 3000000, .always_on = 1, @@ -465,7 +464,7 @@ static struct regulator_init_data wm8350_dcdc4_data = { /* OTGi/1190-EV1 HPVDD & AVDD */ static struct regulator_init_data wm8350_ldo4_data = { .constraints = { - .name = "PVDD_OTGI+HPVDD+AVDD", + .name = "PVDD_OTGI/HPVDD/AVDD", .min_uV = 1200000, .max_uV = 1200000, .apply_uV = 1, @@ -553,7 +552,7 @@ static struct wm831x_backlight_pdata wm1192_backlight_pdata = { static struct regulator_init_data wm1192_dcdc3 = { .constraints = { - .name = "PVDD_MEM+PVDD_GPS", + .name = "PVDD_MEM/PVDD_GPS", .always_on = 1, }, }; @@ -564,7 +563,7 @@ static struct regulator_consumer_supply wm1192_ldo1_consumers[] = { static struct regulator_init_data wm1192_ldo1 = { .constraints = { - .name = "PVDD_LCD+PVDD_EXT", + .name = "PVDD_LCD/PVDD_EXT", .always_on = 1, }, .consumer_supplies = wm1192_ldo1_consumers, diff --git a/trunk/arch/arm/mach-s3c64xx/setup-keypad.c b/trunk/arch/arm/mach-s3c64xx/setup-keypad.c index 1d4d0ee9e870..f8ed0d22db70 100644 --- a/trunk/arch/arm/mach-s3c64xx/setup-keypad.c +++ b/trunk/arch/arm/mach-s3c64xx/setup-keypad.c @@ -17,7 +17,7 @@ void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols) { /* Set all the necessary GPK pins to special-function 3: KP_ROW[x] */ - s3c_gpio_cfgrange_nopull(S3C64XX_GPK(8), rows, S3C_GPIO_SFN(3)); + s3c_gpio_cfgrange_nopull(S3C64XX_GPK(8), 8 + rows, S3C_GPIO_SFN(3)); /* Set all the necessary GPL pins to special-function 3: KP_COL[x] */ s3c_gpio_cfgrange_nopull(S3C64XX_GPL(0), cols, S3C_GPIO_SFN(3)); diff --git a/trunk/arch/arm/mach-s3c64xx/setup-sdhci.c b/trunk/arch/arm/mach-s3c64xx/setup-sdhci.c index f344a222bc84..1a942037c4ef 100644 --- a/trunk/arch/arm/mach-s3c64xx/setup-sdhci.c +++ b/trunk/arch/arm/mach-s3c64xx/setup-sdhci.c @@ -56,7 +56,7 @@ void s3c6400_setup_sdhci_cfg_card(struct platform_device *dev, else ctrl3 = (S3C_SDHCI_CTRL3_FCSEL1 | S3C_SDHCI_CTRL3_FCSEL0); - pr_debug("%s: CTRL 2=%08x, 3=%08x\n", __func__, ctrl2, ctrl3); + printk(KERN_INFO "%s: CTRL 2=%08x, 3=%08x\n", __func__, ctrl2, ctrl3); writel(ctrl2, r + S3C_SDHCI_CONTROL2); writel(ctrl3, r + S3C_SDHCI_CONTROL3); } diff --git a/trunk/arch/arm/mach-s5p6442/include/mach/map.h b/trunk/arch/arm/mach-s5p6442/include/mach/map.h index 058dab4482a1..203dd5a18bd5 100644 --- a/trunk/arch/arm/mach-s5p6442/include/mach/map.h +++ b/trunk/arch/arm/mach-s5p6442/include/mach/map.h @@ -1,6 +1,6 @@ /* linux/arch/arm/mach-s5p6442/include/mach/map.h * - * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. + * Copyright (c) 2010 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * * S5P6442 - Memory map definitions @@ -16,61 +16,56 @@ #include #include -#define S5P6442_PA_SDRAM 0x20000000 - -#define S5P6442_PA_I2S0 0xC0B00000 -#define S5P6442_PA_I2S1 0xF2200000 - -#define S5P6442_PA_CHIPID 0xE0000000 +#define S5P6442_PA_CHIPID (0xE0000000) +#define S5P_PA_CHIPID S5P6442_PA_CHIPID -#define S5P6442_PA_SYSCON 0xE0100000 +#define S5P6442_PA_SYSCON (0xE0100000) +#define S5P_PA_SYSCON S5P6442_PA_SYSCON -#define S5P6442_PA_GPIO 0xE0200000 +#define S5P6442_PA_GPIO (0xE0200000) -#define S5P6442_PA_VIC0 0xE4000000 -#define S5P6442_PA_VIC1 0xE4100000 -#define S5P6442_PA_VIC2 0xE4200000 +#define S5P6442_PA_VIC0 (0xE4000000) +#define S5P6442_PA_VIC1 (0xE4100000) +#define S5P6442_PA_VIC2 (0xE4200000) -#define S5P6442_PA_SROMC 0xE7000000 +#define S5P6442_PA_SROMC (0xE7000000) +#define S5P_PA_SROMC S5P6442_PA_SROMC #define S5P6442_PA_MDMA 0xE8000000 #define S5P6442_PA_PDMA 0xE9000000 -#define S5P6442_PA_TIMER 0xEA000000 +#define S5P6442_PA_TIMER (0xEA000000) +#define S5P_PA_TIMER S5P6442_PA_TIMER -#define S5P6442_PA_SYSTIMER 0xEA100000 +#define S5P6442_PA_SYSTIMER (0xEA100000) -#define S5P6442_PA_WATCHDOG 0xEA200000 +#define S5P6442_PA_WATCHDOG (0xEA200000) -#define S5P6442_PA_UART 0xEC000000 +#define S5P6442_PA_UART (0xEC000000) -#define S5P6442_PA_IIC0 0xEC100000 +#define S5P_PA_UART0 (S5P6442_PA_UART + 0x0) +#define S5P_PA_UART1 (S5P6442_PA_UART + 0x400) +#define S5P_PA_UART2 (S5P6442_PA_UART + 0x800) +#define S5P_SZ_UART SZ_256 + +#define S5P6442_PA_IIC0 (0xEC100000) + +#define S5P6442_PA_SDRAM (0x20000000) +#define S5P_PA_SDRAM S5P6442_PA_SDRAM #define S5P6442_PA_SPI 0xEC300000 +/* I2S */ +#define S5P6442_PA_I2S0 0xC0B00000 +#define S5P6442_PA_I2S1 0xF2200000 + +/* PCM */ #define S5P6442_PA_PCM0 0xF2400000 #define S5P6442_PA_PCM1 0xF2500000 -/* Compatibiltiy Defines */ - -#define S3C_PA_IIC S5P6442_PA_IIC0 +/* compatibiltiy defines. */ #define S3C_PA_WDT S5P6442_PA_WATCHDOG - -#define S5P_PA_CHIPID S5P6442_PA_CHIPID -#define S5P_PA_SDRAM S5P6442_PA_SDRAM -#define S5P_PA_SROMC S5P6442_PA_SROMC -#define S5P_PA_SYSCON S5P6442_PA_SYSCON -#define S5P_PA_TIMER S5P6442_PA_TIMER - -/* UART */ - #define S3C_PA_UART S5P6442_PA_UART - -#define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET)) -#define S5P_PA_UART0 S5P_PA_UART(0) -#define S5P_PA_UART1 S5P_PA_UART(1) -#define S5P_PA_UART2 S5P_PA_UART(2) - -#define S5P_SZ_UART SZ_256 +#define S3C_PA_IIC S5P6442_PA_IIC0 #endif /* __ASM_ARCH_MAP_H */ diff --git a/trunk/arch/arm/mach-s5p64x0/include/mach/gpio.h b/trunk/arch/arm/mach-s5p64x0/include/mach/gpio.h index adb5f298ead8..5486c8f01f1d 100644 --- a/trunk/arch/arm/mach-s5p64x0/include/mach/gpio.h +++ b/trunk/arch/arm/mach-s5p64x0/include/mach/gpio.h @@ -23,7 +23,7 @@ #define S5P6440_GPIO_A_NR (6) #define S5P6440_GPIO_B_NR (7) #define S5P6440_GPIO_C_NR (8) -#define S5P6440_GPIO_F_NR (16) +#define S5P6440_GPIO_F_NR (2) #define S5P6440_GPIO_G_NR (7) #define S5P6440_GPIO_H_NR (10) #define S5P6440_GPIO_I_NR (16) @@ -36,7 +36,7 @@ #define S5P6450_GPIO_B_NR (7) #define S5P6450_GPIO_C_NR (8) #define S5P6450_GPIO_D_NR (8) -#define S5P6450_GPIO_F_NR (16) +#define S5P6450_GPIO_F_NR (2) #define S5P6450_GPIO_G_NR (14) #define S5P6450_GPIO_H_NR (10) #define S5P6450_GPIO_I_NR (16) diff --git a/trunk/arch/arm/mach-s5p64x0/include/mach/map.h b/trunk/arch/arm/mach-s5p64x0/include/mach/map.h index 95c91257c7ca..a9365e5ba614 100644 --- a/trunk/arch/arm/mach-s5p64x0/include/mach/map.h +++ b/trunk/arch/arm/mach-s5p64x0/include/mach/map.h @@ -1,6 +1,6 @@ /* linux/arch/arm/mach-s5p64x0/include/mach/map.h * - * Copyright (c) 2009-2011 Samsung Electronics Co., Ltd. + * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd. * http://www.samsung.com * * S5P64X0 - Memory map definitions @@ -16,46 +16,64 @@ #include #include -#define S5P64X0_PA_SDRAM 0x20000000 +#define S5P64X0_PA_SDRAM (0x20000000) -#define S5P64X0_PA_CHIPID 0xE0000000 +#define S5P64X0_PA_CHIPID (0xE0000000) +#define S5P_PA_CHIPID S5P64X0_PA_CHIPID + +#define S5P64X0_PA_SYSCON (0xE0100000) +#define S5P_PA_SYSCON S5P64X0_PA_SYSCON + +#define S5P64X0_PA_GPIO (0xE0308000) + +#define S5P64X0_PA_VIC0 (0xE4000000) +#define S5P64X0_PA_VIC1 (0xE4100000) -#define S5P64X0_PA_SYSCON 0xE0100000 +#define S5P64X0_PA_SROMC (0xE7000000) +#define S5P_PA_SROMC S5P64X0_PA_SROMC + +#define S5P64X0_PA_PDMA (0xE9000000) + +#define S5P64X0_PA_TIMER (0xEA000000) +#define S5P_PA_TIMER S5P64X0_PA_TIMER -#define S5P64X0_PA_GPIO 0xE0308000 +#define S5P64X0_PA_RTC (0xEA100000) -#define S5P64X0_PA_VIC0 0xE4000000 -#define S5P64X0_PA_VIC1 0xE4100000 +#define S5P64X0_PA_WDT (0xEA200000) -#define S5P64X0_PA_SROMC 0xE7000000 +#define S5P6440_PA_UART(x) (0xEC000000 + ((x) * S3C_UART_OFFSET)) +#define S5P6450_PA_UART(x) ((x < 5) ? (0xEC800000 + ((x) * S3C_UART_OFFSET)) : (0xEC000000)) -#define S5P64X0_PA_PDMA 0xE9000000 +#define S5P_PA_UART0 S5P6450_PA_UART(0) +#define S5P_PA_UART1 S5P6450_PA_UART(1) +#define S5P_PA_UART2 S5P6450_PA_UART(2) +#define S5P_PA_UART3 S5P6450_PA_UART(3) +#define S5P_PA_UART4 S5P6450_PA_UART(4) +#define S5P_PA_UART5 S5P6450_PA_UART(5) -#define S5P64X0_PA_TIMER 0xEA000000 -#define S5P64X0_PA_RTC 0xEA100000 -#define S5P64X0_PA_WDT 0xEA200000 +#define S5P_SZ_UART SZ_256 -#define S5P6440_PA_IIC0 0xEC104000 -#define S5P6440_PA_IIC1 0xEC20F000 -#define S5P6450_PA_IIC0 0xEC100000 -#define S5P6450_PA_IIC1 0xEC200000 +#define S5P6440_PA_IIC0 (0xEC104000) +#define S5P6440_PA_IIC1 (0xEC20F000) +#define S5P6450_PA_IIC0 (0xEC100000) +#define S5P6450_PA_IIC1 (0xEC200000) -#define S5P64X0_PA_SPI0 0xEC400000 -#define S5P64X0_PA_SPI1 0xEC500000 +#define S5P64X0_PA_SPI0 (0xEC400000) +#define S5P64X0_PA_SPI1 (0xEC500000) -#define S5P64X0_PA_HSOTG 0xED100000 +#define S5P64X0_PA_HSOTG (0xED100000) #define S5P64X0_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000)) -#define S5P64X0_PA_I2S 0xF2000000 +#define S5P64X0_PA_I2S (0xF2000000) #define S5P6450_PA_I2S1 0xF2800000 #define S5P6450_PA_I2S2 0xF2900000 -#define S5P64X0_PA_PCM 0xF2100000 +#define S5P64X0_PA_PCM (0xF2100000) -#define S5P64X0_PA_ADC 0xF3000000 +#define S5P64X0_PA_ADC (0xF3000000) -/* Compatibiltiy Defines */ +/* compatibiltiy defines. */ #define S3C_PA_HSMMC0 S5P64X0_PA_HSMMC(0) #define S3C_PA_HSMMC1 S5P64X0_PA_HSMMC(1) @@ -65,25 +83,6 @@ #define S3C_PA_RTC S5P64X0_PA_RTC #define S3C_PA_WDT S5P64X0_PA_WDT -#define S5P_PA_CHIPID S5P64X0_PA_CHIPID -#define S5P_PA_SROMC S5P64X0_PA_SROMC -#define S5P_PA_SYSCON S5P64X0_PA_SYSCON -#define S5P_PA_TIMER S5P64X0_PA_TIMER - #define SAMSUNG_PA_ADC S5P64X0_PA_ADC -/* UART */ - -#define S5P6440_PA_UART(x) (0xEC000000 + ((x) * S3C_UART_OFFSET)) -#define S5P6450_PA_UART(x) ((x < 5) ? (0xEC800000 + ((x) * S3C_UART_OFFSET)) : (0xEC000000)) - -#define S5P_PA_UART0 S5P6450_PA_UART(0) -#define S5P_PA_UART1 S5P6450_PA_UART(1) -#define S5P_PA_UART2 S5P6450_PA_UART(2) -#define S5P_PA_UART3 S5P6450_PA_UART(3) -#define S5P_PA_UART4 S5P6450_PA_UART(4) -#define S5P_PA_UART5 S5P6450_PA_UART(5) - -#define S5P_SZ_UART SZ_256 - #endif /* __ASM_ARCH_MAP_H */ diff --git a/trunk/arch/arm/mach-s5pc100/include/mach/map.h b/trunk/arch/arm/mach-s5pc100/include/mach/map.h index ccbe6b767f7d..328467b346aa 100644 --- a/trunk/arch/arm/mach-s5pc100/include/mach/map.h +++ b/trunk/arch/arm/mach-s5pc100/include/mach/map.h @@ -1,7 +1,4 @@ /* linux/arch/arm/mach-s5pc100/include/mach/map.h - * - * Copyright (c) 2011 Samsung Electronics Co., Ltd. - * http://www.samsung.com/ * * Copyright 2009 Samsung Electronics Co. * Byungho Min @@ -19,115 +16,145 @@ #include #include -#define S5PC100_PA_SDRAM 0x20000000 - -#define S5PC100_PA_ONENAND 0xE7100000 -#define S5PC100_PA_ONENAND_BUF 0xB0000000 - -#define S5PC100_PA_CHIPID 0xE0000000 +/* + * map-base.h has already defined virtual memory address + * S3C_VA_IRQ S3C_ADDR(0x00000000) irq controller(s) + * S3C_VA_SYS S3C_ADDR(0x00100000) system control + * S3C_VA_MEM S3C_ADDR(0x00200000) system control (not used) + * S3C_VA_TIMER S3C_ADDR(0x00300000) timer block + * S3C_VA_WATCHDOG S3C_ADDR(0x00400000) watchdog + * S3C_VA_UART S3C_ADDR(0x01000000) UART + * + * S5PC100 specific virtual memory address can be defined here + * S5PC1XX_VA_GPIO S3C_ADDR(0x00500000) GPIO + * + */ -#define S5PC100_PA_SYSCON 0xE0100000 +#define S5PC100_PA_ONENAND_BUF (0xB0000000) +#define S5PC100_SZ_ONENAND_BUF (SZ_256M - SZ_32M) -#define S5PC100_PA_OTHERS 0xE0200000 +/* Chip ID */ -#define S5PC100_PA_GPIO 0xE0300000 +#define S5PC100_PA_CHIPID (0xE0000000) +#define S5P_PA_CHIPID S5PC100_PA_CHIPID -#define S5PC100_PA_VIC0 0xE4000000 -#define S5PC100_PA_VIC1 0xE4100000 -#define S5PC100_PA_VIC2 0xE4200000 +#define S5PC100_PA_SYSCON (0xE0100000) +#define S5P_PA_SYSCON S5PC100_PA_SYSCON -#define S5PC100_PA_SROMC 0xE7000000 +#define S5PC100_PA_OTHERS (0xE0200000) +#define S5PC100_VA_OTHERS (S3C_VA_SYS + 0x10000) -#define S5PC100_PA_CFCON 0xE7800000 +#define S5PC100_PA_GPIO (0xE0300000) +#define S5PC1XX_VA_GPIO S3C_ADDR(0x00500000) -#define S5PC100_PA_MDMA 0xE8100000 -#define S5PC100_PA_PDMA0 0xE9000000 -#define S5PC100_PA_PDMA1 0xE9200000 +/* Interrupt */ +#define S5PC100_PA_VIC0 (0xE4000000) +#define S5PC100_PA_VIC1 (0xE4100000) +#define S5PC100_PA_VIC2 (0xE4200000) +#define S5PC100_VA_VIC S3C_VA_IRQ +#define S5PC100_VA_VIC_OFFSET 0x10000 +#define S5PC1XX_VA_VIC(x) (S5PC100_VA_VIC + ((x) * S5PC100_VA_VIC_OFFSET)) -#define S5PC100_PA_TIMER 0xEA000000 -#define S5PC100_PA_SYSTIMER 0xEA100000 -#define S5PC100_PA_WATCHDOG 0xEA200000 -#define S5PC100_PA_RTC 0xEA300000 +#define S5PC100_PA_SROMC (0xE7000000) +#define S5P_PA_SROMC S5PC100_PA_SROMC -#define S5PC100_PA_UART 0xEC000000 +#define S5PC100_PA_ONENAND (0xE7100000) -#define S5PC100_PA_IIC0 0xEC100000 -#define S5PC100_PA_IIC1 0xEC200000 +#define S5PC100_PA_CFCON (0xE7800000) -#define S5PC100_PA_SPI0 0xEC300000 -#define S5PC100_PA_SPI1 0xEC400000 -#define S5PC100_PA_SPI2 0xEC500000 +/* DMA */ +#define S5PC100_PA_MDMA (0xE8100000) +#define S5PC100_PA_PDMA0 (0xE9000000) +#define S5PC100_PA_PDMA1 (0xE9200000) -#define S5PC100_PA_USB_HSOTG 0xED200000 -#define S5PC100_PA_USB_HSPHY 0xED300000 +/* Timer */ +#define S5PC100_PA_TIMER (0xEA000000) +#define S5P_PA_TIMER S5PC100_PA_TIMER -#define S5PC100_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000)) +#define S5PC100_PA_SYSTIMER (0xEA100000) -#define S5PC100_PA_FB 0xEE000000 +#define S5PC100_PA_WATCHDOG (0xEA200000) +#define S5PC100_PA_RTC (0xEA300000) -#define S5PC100_PA_FIMC0 0xEE200000 -#define S5PC100_PA_FIMC1 0xEE300000 -#define S5PC100_PA_FIMC2 0xEE400000 +#define S5PC100_PA_UART (0xEC000000) -#define S5PC100_PA_I2S0 0xF2000000 -#define S5PC100_PA_I2S1 0xF2100000 -#define S5PC100_PA_I2S2 0xF2200000 +#define S5P_PA_UART0 (S5PC100_PA_UART + 0x0) +#define S5P_PA_UART1 (S5PC100_PA_UART + 0x400) +#define S5P_PA_UART2 (S5PC100_PA_UART + 0x800) +#define S5P_PA_UART3 (S5PC100_PA_UART + 0xC00) +#define S5P_SZ_UART SZ_256 -#define S5PC100_PA_AC97 0xF2300000 +#define S5PC100_PA_IIC0 (0xEC100000) +#define S5PC100_PA_IIC1 (0xEC200000) -#define S5PC100_PA_PCM0 0xF2400000 -#define S5PC100_PA_PCM1 0xF2500000 +/* SPI */ +#define S5PC100_PA_SPI0 0xEC300000 +#define S5PC100_PA_SPI1 0xEC400000 +#define S5PC100_PA_SPI2 0xEC500000 -#define S5PC100_PA_SPDIF 0xF2600000 +/* USB HS OTG */ +#define S5PC100_PA_USB_HSOTG (0xED200000) +#define S5PC100_PA_USB_HSPHY (0xED300000) -#define S5PC100_PA_TSADC 0xF3000000 +#define S5PC100_PA_FB (0xEE000000) -#define S5PC100_PA_KEYPAD 0xF3100000 +#define S5PC100_PA_FIMC0 (0xEE200000) +#define S5PC100_PA_FIMC1 (0xEE300000) +#define S5PC100_PA_FIMC2 (0xEE400000) -/* Compatibiltiy Defines */ +#define S5PC100_PA_I2S0 (0xF2000000) +#define S5PC100_PA_I2S1 (0xF2100000) +#define S5PC100_PA_I2S2 (0xF2200000) -#define S3C_PA_FB S5PC100_PA_FB -#define S3C_PA_HSMMC0 S5PC100_PA_HSMMC(0) -#define S3C_PA_HSMMC1 S5PC100_PA_HSMMC(1) -#define S3C_PA_HSMMC2 S5PC100_PA_HSMMC(2) -#define S3C_PA_IIC S5PC100_PA_IIC0 -#define S3C_PA_IIC1 S5PC100_PA_IIC1 -#define S3C_PA_KEYPAD S5PC100_PA_KEYPAD -#define S3C_PA_ONENAND S5PC100_PA_ONENAND -#define S3C_PA_ONENAND_BUF S5PC100_PA_ONENAND_BUF -#define S3C_PA_RTC S5PC100_PA_RTC -#define S3C_PA_TSADC S5PC100_PA_TSADC -#define S3C_PA_USB_HSOTG S5PC100_PA_USB_HSOTG -#define S3C_PA_USB_HSPHY S5PC100_PA_USB_HSPHY -#define S3C_PA_WDT S5PC100_PA_WATCHDOG +#define S5PC100_PA_AC97 0xF2300000 -#define S5P_PA_CHIPID S5PC100_PA_CHIPID -#define S5P_PA_FIMC0 S5PC100_PA_FIMC0 -#define S5P_PA_FIMC1 S5PC100_PA_FIMC1 -#define S5P_PA_FIMC2 S5PC100_PA_FIMC2 -#define S5P_PA_SDRAM S5PC100_PA_SDRAM -#define S5P_PA_SROMC S5PC100_PA_SROMC -#define S5P_PA_SYSCON S5PC100_PA_SYSCON -#define S5P_PA_TIMER S5PC100_PA_TIMER +/* PCM */ +#define S5PC100_PA_PCM0 0xF2400000 +#define S5PC100_PA_PCM1 0xF2500000 -#define SAMSUNG_PA_ADC S5PC100_PA_TSADC -#define SAMSUNG_PA_CFCON S5PC100_PA_CFCON -#define SAMSUNG_PA_KEYPAD S5PC100_PA_KEYPAD +#define S5PC100_PA_SPDIF 0xF2600000 -#define S5PC100_VA_OTHERS (S3C_VA_SYS + 0x10000) +#define S5PC100_PA_TSADC (0xF3000000) -#define S3C_SZ_ONENAND_BUF (SZ_256M - SZ_32M) +/* KEYPAD */ +#define S5PC100_PA_KEYPAD (0xF3100000) -/* UART */ +#define S5PC100_PA_HSMMC(x) (0xED800000 + ((x) * 0x100000)) -#define S3C_PA_UART S5PC100_PA_UART +#define S5PC100_PA_SDRAM (0x20000000) +#define S5P_PA_SDRAM S5PC100_PA_SDRAM -#define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET)) -#define S5P_PA_UART0 S5P_PA_UART(0) -#define S5P_PA_UART1 S5P_PA_UART(1) -#define S5P_PA_UART2 S5P_PA_UART(2) -#define S5P_PA_UART3 S5P_PA_UART(3) +/* compatibiltiy defines. */ +#define S3C_PA_UART S5PC100_PA_UART +#define S3C_PA_IIC S5PC100_PA_IIC0 +#define S3C_PA_IIC1 S5PC100_PA_IIC1 +#define S3C_PA_FB S5PC100_PA_FB +#define S3C_PA_G2D S5PC100_PA_G2D +#define S3C_PA_G3D S5PC100_PA_G3D +#define S3C_PA_JPEG S5PC100_PA_JPEG +#define S3C_PA_ROTATOR S5PC100_PA_ROTATOR +#define S5P_VA_VIC0 S5PC1XX_VA_VIC(0) +#define S5P_VA_VIC1 S5PC1XX_VA_VIC(1) +#define S5P_VA_VIC2 S5PC1XX_VA_VIC(2) +#define S3C_PA_USB_HSOTG S5PC100_PA_USB_HSOTG +#define S3C_PA_USB_HSPHY S5PC100_PA_USB_HSPHY +#define S3C_PA_HSMMC0 S5PC100_PA_HSMMC(0) +#define S3C_PA_HSMMC1 S5PC100_PA_HSMMC(1) +#define S3C_PA_HSMMC2 S5PC100_PA_HSMMC(2) +#define S3C_PA_KEYPAD S5PC100_PA_KEYPAD +#define S3C_PA_WDT S5PC100_PA_WATCHDOG +#define S3C_PA_TSADC S5PC100_PA_TSADC +#define S3C_PA_ONENAND S5PC100_PA_ONENAND +#define S3C_PA_ONENAND_BUF S5PC100_PA_ONENAND_BUF +#define S3C_SZ_ONENAND_BUF S5PC100_SZ_ONENAND_BUF +#define S3C_PA_RTC S5PC100_PA_RTC + +#define SAMSUNG_PA_ADC S5PC100_PA_TSADC +#define SAMSUNG_PA_CFCON S5PC100_PA_CFCON +#define SAMSUNG_PA_KEYPAD S5PC100_PA_KEYPAD -#define S5P_SZ_UART SZ_256 +#define S5P_PA_FIMC0 S5PC100_PA_FIMC0 +#define S5P_PA_FIMC1 S5PC100_PA_FIMC1 +#define S5P_PA_FIMC2 S5PC100_PA_FIMC2 -#endif /* __ASM_ARCH_MAP_H */ +#endif /* __ASM_ARCH_C100_MAP_H */ diff --git a/trunk/arch/arm/mach-s5pv210/include/mach/map.h b/trunk/arch/arm/mach-s5pv210/include/mach/map.h index 1dd58836fd4f..3611492ad681 100644 --- a/trunk/arch/arm/mach-s5pv210/include/mach/map.h +++ b/trunk/arch/arm/mach-s5pv210/include/mach/map.h @@ -1,6 +1,6 @@ /* linux/arch/arm/mach-s5pv210/include/mach/map.h * - * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. + * Copyright (c) 2010 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * * S5PV210 - Memory map definitions @@ -16,120 +16,122 @@ #include #include -#define S5PV210_PA_SDRAM 0x20000000 +#define S5PV210_PA_SROM_BANK5 (0xA8000000) -#define S5PV210_PA_SROM_BANK5 0xA8000000 +#define S5PC110_PA_ONENAND (0xB0000000) +#define S5P_PA_ONENAND S5PC110_PA_ONENAND -#define S5PC110_PA_ONENAND 0xB0000000 -#define S5PC110_PA_ONENAND_DMA 0xB0600000 +#define S5PC110_PA_ONENAND_DMA (0xB0600000) +#define S5P_PA_ONENAND_DMA S5PC110_PA_ONENAND_DMA -#define S5PV210_PA_CHIPID 0xE0000000 +#define S5PV210_PA_CHIPID (0xE0000000) +#define S5P_PA_CHIPID S5PV210_PA_CHIPID -#define S5PV210_PA_SYSCON 0xE0100000 +#define S5PV210_PA_SYSCON (0xE0100000) +#define S5P_PA_SYSCON S5PV210_PA_SYSCON -#define S5PV210_PA_GPIO 0xE0200000 +#define S5PV210_PA_GPIO (0xE0200000) -#define S5PV210_PA_SPDIF 0xE1100000 +/* SPI */ +#define S5PV210_PA_SPI0 0xE1300000 +#define S5PV210_PA_SPI1 0xE1400000 -#define S5PV210_PA_SPI0 0xE1300000 -#define S5PV210_PA_SPI1 0xE1400000 +#define S5PV210_PA_KEYPAD (0xE1600000) -#define S5PV210_PA_KEYPAD 0xE1600000 +#define S5PV210_PA_IIC0 (0xE1800000) +#define S5PV210_PA_IIC1 (0xFAB00000) +#define S5PV210_PA_IIC2 (0xE1A00000) -#define S5PV210_PA_ADC 0xE1700000 +#define S5PV210_PA_TIMER (0xE2500000) +#define S5P_PA_TIMER S5PV210_PA_TIMER -#define S5PV210_PA_IIC0 0xE1800000 -#define S5PV210_PA_IIC1 0xFAB00000 -#define S5PV210_PA_IIC2 0xE1A00000 +#define S5PV210_PA_SYSTIMER (0xE2600000) -#define S5PV210_PA_AC97 0xE2200000 +#define S5PV210_PA_WATCHDOG (0xE2700000) -#define S5PV210_PA_PCM0 0xE2300000 -#define S5PV210_PA_PCM1 0xE1200000 -#define S5PV210_PA_PCM2 0xE2B00000 +#define S5PV210_PA_RTC (0xE2800000) +#define S5PV210_PA_UART (0xE2900000) -#define S5PV210_PA_TIMER 0xE2500000 -#define S5PV210_PA_SYSTIMER 0xE2600000 -#define S5PV210_PA_WATCHDOG 0xE2700000 -#define S5PV210_PA_RTC 0xE2800000 +#define S5P_PA_UART0 (S5PV210_PA_UART + 0x0) +#define S5P_PA_UART1 (S5PV210_PA_UART + 0x400) +#define S5P_PA_UART2 (S5PV210_PA_UART + 0x800) +#define S5P_PA_UART3 (S5PV210_PA_UART + 0xC00) -#define S5PV210_PA_UART 0xE2900000 +#define S5P_SZ_UART SZ_256 -#define S5PV210_PA_SROMC 0xE8000000 +#define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET)) -#define S5PV210_PA_CFCON 0xE8200000 +#define S5PV210_PA_SROMC (0xE8000000) +#define S5P_PA_SROMC S5PV210_PA_SROMC -#define S5PV210_PA_HSMMC(x) (0xEB000000 + ((x) * 0x100000)) +#define S5PV210_PA_CFCON (0xE8200000) -#define S5PV210_PA_HSOTG 0xEC000000 -#define S5PV210_PA_HSPHY 0xEC100000 +#define S5PV210_PA_MDMA 0xFA200000 +#define S5PV210_PA_PDMA0 0xE0900000 +#define S5PV210_PA_PDMA1 0xE0A00000 -#define S5PV210_PA_IIS0 0xEEE30000 -#define S5PV210_PA_IIS1 0xE2100000 -#define S5PV210_PA_IIS2 0xE2A00000 +#define S5PV210_PA_FB (0xF8000000) -#define S5PV210_PA_DMC0 0xF0000000 -#define S5PV210_PA_DMC1 0xF1400000 +#define S5PV210_PA_FIMC0 (0xFB200000) +#define S5PV210_PA_FIMC1 (0xFB300000) +#define S5PV210_PA_FIMC2 (0xFB400000) -#define S5PV210_PA_VIC0 0xF2000000 -#define S5PV210_PA_VIC1 0xF2100000 -#define S5PV210_PA_VIC2 0xF2200000 -#define S5PV210_PA_VIC3 0xF2300000 +#define S5PV210_PA_HSMMC(x) (0xEB000000 + ((x) * 0x100000)) -#define S5PV210_PA_FB 0xF8000000 +#define S5PV210_PA_HSOTG (0xEC000000) +#define S5PV210_PA_HSPHY (0xEC100000) -#define S5PV210_PA_MDMA 0xFA200000 -#define S5PV210_PA_PDMA0 0xE0900000 -#define S5PV210_PA_PDMA1 0xE0A00000 +#define S5PV210_PA_VIC0 (0xF2000000) +#define S5PV210_PA_VIC1 (0xF2100000) +#define S5PV210_PA_VIC2 (0xF2200000) +#define S5PV210_PA_VIC3 (0xF2300000) -#define S5PV210_PA_MIPI_CSIS 0xFA600000 +#define S5PV210_PA_SDRAM (0x20000000) +#define S5P_PA_SDRAM S5PV210_PA_SDRAM -#define S5PV210_PA_FIMC0 0xFB200000 -#define S5PV210_PA_FIMC1 0xFB300000 -#define S5PV210_PA_FIMC2 0xFB400000 +/* S/PDIF */ +#define S5PV210_PA_SPDIF 0xE1100000 -/* Compatibiltiy Defines */ +/* I2S */ +#define S5PV210_PA_IIS0 0xEEE30000 +#define S5PV210_PA_IIS1 0xE2100000 +#define S5PV210_PA_IIS2 0xE2A00000 -#define S3C_PA_FB S5PV210_PA_FB -#define S3C_PA_HSMMC0 S5PV210_PA_HSMMC(0) -#define S3C_PA_HSMMC1 S5PV210_PA_HSMMC(1) -#define S3C_PA_HSMMC2 S5PV210_PA_HSMMC(2) -#define S3C_PA_HSMMC3 S5PV210_PA_HSMMC(3) -#define S3C_PA_IIC S5PV210_PA_IIC0 -#define S3C_PA_IIC1 S5PV210_PA_IIC1 -#define S3C_PA_IIC2 S5PV210_PA_IIC2 -#define S3C_PA_RTC S5PV210_PA_RTC -#define S3C_PA_USB_HSOTG S5PV210_PA_HSOTG -#define S3C_PA_WDT S5PV210_PA_WATCHDOG +/* PCM */ +#define S5PV210_PA_PCM0 0xE2300000 +#define S5PV210_PA_PCM1 0xE1200000 +#define S5PV210_PA_PCM2 0xE2B00000 -#define S5P_PA_CHIPID S5PV210_PA_CHIPID -#define S5P_PA_FIMC0 S5PV210_PA_FIMC0 -#define S5P_PA_FIMC1 S5PV210_PA_FIMC1 -#define S5P_PA_FIMC2 S5PV210_PA_FIMC2 -#define S5P_PA_MIPI_CSIS0 S5PV210_PA_MIPI_CSIS -#define S5P_PA_ONENAND S5PC110_PA_ONENAND -#define S5P_PA_ONENAND_DMA S5PC110_PA_ONENAND_DMA -#define S5P_PA_SDRAM S5PV210_PA_SDRAM -#define S5P_PA_SROMC S5PV210_PA_SROMC -#define S5P_PA_SYSCON S5PV210_PA_SYSCON -#define S5P_PA_TIMER S5PV210_PA_TIMER +/* AC97 */ +#define S5PV210_PA_AC97 0xE2200000 -#define SAMSUNG_PA_ADC S5PV210_PA_ADC -#define SAMSUNG_PA_CFCON S5PV210_PA_CFCON -#define SAMSUNG_PA_KEYPAD S5PV210_PA_KEYPAD +#define S5PV210_PA_ADC (0xE1700000) -/* UART */ +#define S5PV210_PA_DMC0 (0xF0000000) +#define S5PV210_PA_DMC1 (0xF1400000) -#define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET)) +#define S5PV210_PA_MIPI_CSIS 0xFA600000 -#define S3C_PA_UART S5PV210_PA_UART +/* compatibiltiy defines. */ +#define S3C_PA_UART S5PV210_PA_UART +#define S3C_PA_HSMMC0 S5PV210_PA_HSMMC(0) +#define S3C_PA_HSMMC1 S5PV210_PA_HSMMC(1) +#define S3C_PA_HSMMC2 S5PV210_PA_HSMMC(2) +#define S3C_PA_HSMMC3 S5PV210_PA_HSMMC(3) +#define S3C_PA_IIC S5PV210_PA_IIC0 +#define S3C_PA_IIC1 S5PV210_PA_IIC1 +#define S3C_PA_IIC2 S5PV210_PA_IIC2 +#define S3C_PA_FB S5PV210_PA_FB +#define S3C_PA_RTC S5PV210_PA_RTC +#define S3C_PA_WDT S5PV210_PA_WATCHDOG +#define S3C_PA_USB_HSOTG S5PV210_PA_HSOTG +#define S5P_PA_FIMC0 S5PV210_PA_FIMC0 +#define S5P_PA_FIMC1 S5PV210_PA_FIMC1 +#define S5P_PA_FIMC2 S5PV210_PA_FIMC2 +#define S5P_PA_MIPI_CSIS0 S5PV210_PA_MIPI_CSIS -#define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET)) -#define S5P_PA_UART0 S5P_PA_UART(0) -#define S5P_PA_UART1 S5P_PA_UART(1) -#define S5P_PA_UART2 S5P_PA_UART(2) -#define S5P_PA_UART3 S5P_PA_UART(3) - -#define S5P_SZ_UART SZ_256 +#define SAMSUNG_PA_ADC S5PV210_PA_ADC +#define SAMSUNG_PA_CFCON S5PV210_PA_CFCON +#define SAMSUNG_PA_KEYPAD S5PV210_PA_KEYPAD #endif /* __ASM_ARCH_MAP_H */ diff --git a/trunk/arch/arm/mach-s5pv210/mach-aquila.c b/trunk/arch/arm/mach-s5pv210/mach-aquila.c index 557add4fc56c..461aa035afc0 100644 --- a/trunk/arch/arm/mach-s5pv210/mach-aquila.c +++ b/trunk/arch/arm/mach-s5pv210/mach-aquila.c @@ -149,7 +149,7 @@ static struct regulator_init_data aquila_ldo2_data = { static struct regulator_init_data aquila_ldo3_data = { .constraints = { - .name = "VUSB+MIPI_1.1V", + .name = "VUSB/MIPI_1.1V", .min_uV = 1100000, .max_uV = 1100000, .apply_uV = 1, @@ -197,7 +197,7 @@ static struct regulator_init_data aquila_ldo7_data = { static struct regulator_init_data aquila_ldo8_data = { .constraints = { - .name = "VUSB+VADC_3.3V", + .name = "VUSB/VADC_3.3V", .min_uV = 3300000, .max_uV = 3300000, .apply_uV = 1, @@ -207,7 +207,7 @@ static struct regulator_init_data aquila_ldo8_data = { static struct regulator_init_data aquila_ldo9_data = { .constraints = { - .name = "VCC+VCAM_2.8V", + .name = "VCC/VCAM_2.8V", .min_uV = 2800000, .max_uV = 2800000, .apply_uV = 1, @@ -381,12 +381,9 @@ static struct max8998_platform_data aquila_max8998_pdata = { .buck1_set1 = S5PV210_GPH0(3), .buck1_set2 = S5PV210_GPH0(4), .buck2_set3 = S5PV210_GPH0(5), - .buck1_voltage1 = 1200000, - .buck1_voltage2 = 1200000, - .buck1_voltage3 = 1200000, - .buck1_voltage4 = 1200000, - .buck2_voltage1 = 1200000, - .buck2_voltage2 = 1200000, + .buck1_max_voltage1 = 1200000, + .buck1_max_voltage2 = 1200000, + .buck2_max_voltage = 1200000, }; #endif diff --git a/trunk/arch/arm/mach-s5pv210/mach-goni.c b/trunk/arch/arm/mach-s5pv210/mach-goni.c index 056f5c769b0a..e22d5112fd44 100644 --- a/trunk/arch/arm/mach-s5pv210/mach-goni.c +++ b/trunk/arch/arm/mach-s5pv210/mach-goni.c @@ -288,7 +288,7 @@ static struct regulator_init_data goni_ldo2_data = { static struct regulator_init_data goni_ldo3_data = { .constraints = { - .name = "VUSB+MIPI_1.1V", + .name = "VUSB/MIPI_1.1V", .min_uV = 1100000, .max_uV = 1100000, .apply_uV = 1, @@ -337,7 +337,7 @@ static struct regulator_init_data goni_ldo7_data = { static struct regulator_init_data goni_ldo8_data = { .constraints = { - .name = "VUSB+VADC_3.3V", + .name = "VUSB/VADC_3.3V", .min_uV = 3300000, .max_uV = 3300000, .apply_uV = 1, @@ -347,7 +347,7 @@ static struct regulator_init_data goni_ldo8_data = { static struct regulator_init_data goni_ldo9_data = { .constraints = { - .name = "VCC+VCAM_2.8V", + .name = "VCC/VCAM_2.8V", .min_uV = 2800000, .max_uV = 2800000, .apply_uV = 1, @@ -521,12 +521,9 @@ static struct max8998_platform_data goni_max8998_pdata = { .buck1_set1 = S5PV210_GPH0(3), .buck1_set2 = S5PV210_GPH0(4), .buck2_set3 = S5PV210_GPH0(5), - .buck1_voltage1 = 1200000, - .buck1_voltage2 = 1200000, - .buck1_voltage3 = 1200000, - .buck1_voltage4 = 1200000, - .buck2_voltage1 = 1200000, - .buck2_voltage2 = 1200000, + .buck1_max_voltage1 = 1200000, + .buck1_max_voltage2 = 1200000, + .buck2_max_voltage = 1200000, }; #endif diff --git a/trunk/arch/arm/mach-s5pv310/Kconfig b/trunk/arch/arm/mach-s5pv310/Kconfig index b2a9acc5185f..09c4c21b70cc 100644 --- a/trunk/arch/arm/mach-s5pv310/Kconfig +++ b/trunk/arch/arm/mach-s5pv310/Kconfig @@ -122,7 +122,6 @@ config MACH_SMDKV310 select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC3 select S5PV310_DEV_PD - select S5PV310_DEV_SYSMMU select S5PV310_SETUP_I2C1 select S5PV310_SETUP_SDHCI help diff --git a/trunk/arch/arm/mach-s5pv310/include/mach/map.h b/trunk/arch/arm/mach-s5pv310/include/mach/map.h index 901657fa7a12..74d400625a23 100644 --- a/trunk/arch/arm/mach-s5pv310/include/mach/map.h +++ b/trunk/arch/arm/mach-s5pv310/include/mach/map.h @@ -1,6 +1,6 @@ /* linux/arch/arm/mach-s5pv310/include/mach/map.h * - * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. + * Copyright (c) 2010 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * * S5PV310 - Memory map definitions @@ -23,43 +23,90 @@ #include -#define S5PV310_PA_SYSRAM 0x02025000 +#define S5PV310_PA_SYSRAM (0x02025000) -#define S5PV310_PA_I2S0 0x03830000 -#define S5PV310_PA_I2S1 0xE3100000 -#define S5PV310_PA_I2S2 0xE2A00000 +#define S5PV310_PA_SROM_BANK(x) (0x04000000 + ((x) * 0x01000000)) -#define S5PV310_PA_PCM0 0x03840000 -#define S5PV310_PA_PCM1 0x13980000 -#define S5PV310_PA_PCM2 0x13990000 +#define S5PC210_PA_ONENAND (0x0C000000) +#define S5P_PA_ONENAND S5PC210_PA_ONENAND -#define S5PV310_PA_SROM_BANK(x) (0x04000000 + ((x) * 0x01000000)) +#define S5PC210_PA_ONENAND_DMA (0x0C600000) +#define S5P_PA_ONENAND_DMA S5PC210_PA_ONENAND_DMA + +#define S5PV310_PA_CHIPID (0x10000000) +#define S5P_PA_CHIPID S5PV310_PA_CHIPID + +#define S5PV310_PA_SYSCON (0x10010000) +#define S5P_PA_SYSCON S5PV310_PA_SYSCON + +#define S5PV310_PA_PMU (0x10020000) -#define S5PC210_PA_ONENAND 0x0C000000 -#define S5PC210_PA_ONENAND_DMA 0x0C600000 +#define S5PV310_PA_CMU (0x10030000) -#define S5PV310_PA_CHIPID 0x10000000 +#define S5PV310_PA_WATCHDOG (0x10060000) +#define S5PV310_PA_RTC (0x10070000) -#define S5PV310_PA_SYSCON 0x10010000 -#define S5PV310_PA_PMU 0x10020000 -#define S5PV310_PA_CMU 0x10030000 +#define S5PV310_PA_DMC0 (0x10400000) -#define S5PV310_PA_WATCHDOG 0x10060000 -#define S5PV310_PA_RTC 0x10070000 +#define S5PV310_PA_COMBINER (0x10448000) -#define S5PV310_PA_DMC0 0x10400000 +#define S5PV310_PA_COREPERI (0x10500000) +#define S5PV310_PA_GIC_CPU (0x10500100) +#define S5PV310_PA_TWD (0x10500600) +#define S5PV310_PA_GIC_DIST (0x10501000) +#define S5PV310_PA_L2CC (0x10502000) + +/* DMA */ +#define S5PV310_PA_MDMA 0x10810000 +#define S5PV310_PA_PDMA0 0x12680000 +#define S5PV310_PA_PDMA1 0x12690000 + +#define S5PV310_PA_GPIO1 (0x11400000) +#define S5PV310_PA_GPIO2 (0x11000000) +#define S5PV310_PA_GPIO3 (0x03860000) + +#define S5PV310_PA_MIPI_CSIS0 0x11880000 +#define S5PV310_PA_MIPI_CSIS1 0x11890000 + +#define S5PV310_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000)) + +#define S5PV310_PA_SROMC (0x12570000) +#define S5P_PA_SROMC S5PV310_PA_SROMC -#define S5PV310_PA_COMBINER 0x10448000 +/* S/PDIF */ +#define S5PV310_PA_SPDIF 0xE1100000 -#define S5PV310_PA_COREPERI 0x10500000 -#define S5PV310_PA_GIC_CPU 0x10500100 -#define S5PV310_PA_TWD 0x10500600 -#define S5PV310_PA_GIC_DIST 0x10501000 -#define S5PV310_PA_L2CC 0x10502000 +/* I2S */ +#define S5PV310_PA_I2S0 0x03830000 +#define S5PV310_PA_I2S1 0xE3100000 +#define S5PV310_PA_I2S2 0xE2A00000 -#define S5PV310_PA_MDMA 0x10810000 -#define S5PV310_PA_PDMA0 0x12680000 -#define S5PV310_PA_PDMA1 0x12690000 +/* PCM */ +#define S5PV310_PA_PCM0 0x03840000 +#define S5PV310_PA_PCM1 0x13980000 +#define S5PV310_PA_PCM2 0x13990000 + +/* AC97 */ +#define S5PV310_PA_AC97 0x139A0000 + +#define S5PV310_PA_UART (0x13800000) + +#define S5P_PA_UART(x) (S5PV310_PA_UART + ((x) * S3C_UART_OFFSET)) +#define S5P_PA_UART0 S5P_PA_UART(0) +#define S5P_PA_UART1 S5P_PA_UART(1) +#define S5P_PA_UART2 S5P_PA_UART(2) +#define S5P_PA_UART3 S5P_PA_UART(3) +#define S5P_PA_UART4 S5P_PA_UART(4) + +#define S5P_SZ_UART SZ_256 + +#define S5PV310_PA_IIC(x) (0x13860000 + ((x) * 0x10000)) + +#define S5PV310_PA_TIMER (0x139D0000) +#define S5P_PA_TIMER S5PV310_PA_TIMER + +#define S5PV310_PA_SDRAM (0x40000000) +#define S5P_PA_SDRAM S5PV310_PA_SDRAM #define S5PV310_PA_SYSMMU_MDMA 0x10A40000 #define S5PV310_PA_SYSMMU_SSS 0x10A50000 @@ -77,32 +124,11 @@ #define S5PV310_PA_SYSMMU_TV 0x12E20000 #define S5PV310_PA_SYSMMU_MFC_L 0x13620000 #define S5PV310_PA_SYSMMU_MFC_R 0x13630000 +#define S5PV310_SYSMMU_TOTAL_IPNUM 16 +#define S5P_SYSMMU_TOTAL_IPNUM S5PV310_SYSMMU_TOTAL_IPNUM -#define S5PV310_PA_GPIO1 0x11400000 -#define S5PV310_PA_GPIO2 0x11000000 -#define S5PV310_PA_GPIO3 0x03860000 - -#define S5PV310_PA_MIPI_CSIS0 0x11880000 -#define S5PV310_PA_MIPI_CSIS1 0x11890000 - -#define S5PV310_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000)) - -#define S5PV310_PA_SROMC 0x12570000 - -#define S5PV310_PA_UART 0x13800000 - -#define S5PV310_PA_IIC(x) (0x13860000 + ((x) * 0x10000)) - -#define S5PV310_PA_AC97 0x139A0000 - -#define S5PV310_PA_TIMER 0x139D0000 - -#define S5PV310_PA_SDRAM 0x40000000 - -#define S5PV310_PA_SPDIF 0xE1100000 - -/* Compatibiltiy Defines */ - +/* compatibiltiy defines. */ +#define S3C_PA_UART S5PV310_PA_UART #define S3C_PA_HSMMC0 S5PV310_PA_HSMMC(0) #define S3C_PA_HSMMC1 S5PV310_PA_HSMMC(1) #define S3C_PA_HSMMC2 S5PV310_PA_HSMMC(2) @@ -117,28 +143,7 @@ #define S3C_PA_IIC7 S5PV310_PA_IIC(7) #define S3C_PA_RTC S5PV310_PA_RTC #define S3C_PA_WDT S5PV310_PA_WATCHDOG - -#define S5P_PA_CHIPID S5PV310_PA_CHIPID #define S5P_PA_MIPI_CSIS0 S5PV310_PA_MIPI_CSIS0 #define S5P_PA_MIPI_CSIS1 S5PV310_PA_MIPI_CSIS1 -#define S5P_PA_ONENAND S5PC210_PA_ONENAND -#define S5P_PA_ONENAND_DMA S5PC210_PA_ONENAND_DMA -#define S5P_PA_SDRAM S5PV310_PA_SDRAM -#define S5P_PA_SROMC S5PV310_PA_SROMC -#define S5P_PA_SYSCON S5PV310_PA_SYSCON -#define S5P_PA_TIMER S5PV310_PA_TIMER - -/* UART */ - -#define S3C_PA_UART S5PV310_PA_UART - -#define S5P_PA_UART(x) (S3C_PA_UART + ((x) * S3C_UART_OFFSET)) -#define S5P_PA_UART0 S5P_PA_UART(0) -#define S5P_PA_UART1 S5P_PA_UART(1) -#define S5P_PA_UART2 S5P_PA_UART(2) -#define S5P_PA_UART3 S5P_PA_UART(3) -#define S5P_PA_UART4 S5P_PA_UART(4) - -#define S5P_SZ_UART SZ_256 #endif /* __ASM_ARCH_MAP_H */ diff --git a/trunk/arch/arm/mach-s5pv310/include/mach/sysmmu.h b/trunk/arch/arm/mach-s5pv310/include/mach/sysmmu.h index 598fc5c9211b..662fe85ff4d5 100644 --- a/trunk/arch/arm/mach-s5pv310/include/mach/sysmmu.h +++ b/trunk/arch/arm/mach-s5pv310/include/mach/sysmmu.h @@ -13,9 +13,6 @@ #ifndef __ASM_ARM_ARCH_SYSMMU_H #define __ASM_ARM_ARCH_SYSMMU_H __FILE__ -#define S5PV310_SYSMMU_TOTAL_IPNUM 16 -#define S5P_SYSMMU_TOTAL_IPNUM S5PV310_SYSMMU_TOTAL_IPNUM - enum s5pv310_sysmmu_ips { SYSMMU_MDMA, SYSMMU_SSS, @@ -35,7 +32,7 @@ enum s5pv310_sysmmu_ips { SYSMMU_MFC_R, }; -static char *sysmmu_ips_name[S5PV310_SYSMMU_TOTAL_IPNUM] = { +static char *sysmmu_ips_name[S5P_SYSMMU_TOTAL_IPNUM] = { "SYSMMU_MDMA" , "SYSMMU_SSS" , "SYSMMU_FIMC0" , diff --git a/trunk/arch/arm/mach-sa1100/collie.c b/trunk/arch/arm/mach-sa1100/collie.c index bd3e1bfdd6aa..d43c5ef58eb6 100644 --- a/trunk/arch/arm/mach-sa1100/collie.c +++ b/trunk/arch/arm/mach-sa1100/collie.c @@ -241,9 +241,6 @@ static struct locomo_platform_data locomo_info = { struct platform_device collie_locomo_device = { .name = "locomo", .id = 0, - .dev = { - .platform_data = &locomo_info, - }, .num_resources = ARRAY_SIZE(locomo_resources), .resource = locomo_resources, }; diff --git a/trunk/arch/arm/mach-shmobile/Kconfig b/trunk/arch/arm/mach-shmobile/Kconfig index 0c8f6cf3e948..4d1b4c5c9389 100644 --- a/trunk/arch/arm/mach-shmobile/Kconfig +++ b/trunk/arch/arm/mach-shmobile/Kconfig @@ -60,8 +60,6 @@ endchoice config MACH_AG5EVM bool "AG5EVM board" - select ARCH_REQUIRE_GPIOLIB - select SH_LCD_MIPI_DSI depends on ARCH_SH73A0 config MACH_MACKEREL diff --git a/trunk/arch/arm/mach-shmobile/board-ag5evm.c b/trunk/arch/arm/mach-shmobile/board-ag5evm.c index 4303a86e6e38..c18a740a4159 100644 --- a/trunk/arch/arm/mach-shmobile/board-ag5evm.c +++ b/trunk/arch/arm/mach-shmobile/board-ag5evm.c @@ -34,10 +34,9 @@ #include #include #include -#include -#include