From f24d7c8fb1e780018c32bb69fdc37469552d9a24 Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Tue, 8 Jan 2013 08:39:00 -0800 Subject: [PATCH] --- yaml --- r: 348477 b: refs/heads/master c: 2d9e02cad61c49798d9d36b9d87739c279fd6b0f h: refs/heads/master i: 348475: 090ecb78d20e8d518d913b9d4c71c403183cd91a v: v3 --- [refs] | 2 +- .../bindings/gpio/gpio-poweroff.txt | 20 ++- .../bindings/watchdog/twl4030-wdt.txt | 10 ++ trunk/MAINTAINERS | 9 + trunk/Makefile | 2 +- trunk/arch/arm/Kconfig | 1 - trunk/arch/arm/boot/dts/armada-370-xp.dtsi | 6 +- .../arch/arm/boot/dts/armada-xp-mv78230.dtsi | 9 +- .../arch/arm/boot/dts/armada-xp-mv78260.dtsi | 8 + .../arch/arm/boot/dts/armada-xp-mv78460.dtsi | 8 + trunk/arch/arm/boot/dts/armada-xp.dtsi | 14 +- trunk/arch/arm/boot/dts/dove.dtsi | 1 + trunk/arch/arm/boot/dts/ecx-2000.dts | 4 + trunk/arch/arm/boot/dts/highbank.dts | 20 ++- trunk/arch/arm/boot/dts/kirkwood-6282.dtsi | 1 + trunk/arch/arm/boot/dts/kirkwood-topkick.dts | 17 ++ trunk/arch/arm/boot/dts/kirkwood.dtsi | 1 + trunk/arch/arm/boot/dts/twl4030.dtsi | 4 + trunk/arch/arm/configs/multi_v7_defconfig | 1 + trunk/arch/arm/configs/mvebu_defconfig | 4 +- trunk/arch/arm/configs/omap2plus_defconfig | 5 + trunk/arch/arm/mach-highbank/highbank.c | 2 +- trunk/arch/arm/mach-highbank/hotplug.c | 2 +- trunk/arch/arm/mach-highbank/platsmp.c | 12 +- trunk/arch/arm/mach-highbank/pm.c | 19 ++- trunk/arch/arm/mach-highbank/sysregs.h | 23 ++- trunk/arch/arm/mach-highbank/system.c | 4 +- trunk/arch/arm/mach-kirkwood/board-dt.c | 4 + .../arm/mach-kirkwood/board-usi_topkick.c | 4 - trunk/arch/arm/mach-nomadik/board-nhk8815.c | 1 - .../arch/arm/mach-nomadik/include/mach/irqs.h | 78 ++++----- trunk/arch/arm/mach-omap1/Makefile | 2 +- trunk/arch/arm/mach-omap1/fb.c | 80 +++++++++ trunk/arch/arm/mach-omap2/Makefile | 2 +- trunk/arch/arm/mach-omap2/control.h | 2 +- trunk/arch/arm/mach-omap2/dpll3xxx.c | 3 +- trunk/arch/arm/mach-omap2/drm.c | 1 - trunk/arch/arm/mach-omap2/dss-common.c | 3 +- trunk/arch/arm/{plat-omap => mach-omap2}/fb.c | 50 +----- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 1 - trunk/arch/arm/mach-omap2/omap_twl.c | 8 +- trunk/arch/arm/mach-omap2/pmu.c | 2 - trunk/arch/arm/mach-omap2/prm2xxx.c | 3 +- trunk/arch/arm/mach-omap2/prm3xxx.c | 3 +- trunk/arch/arm/mach-sunxi/sunxi.c | 4 +- trunk/arch/arm/plat-omap/Makefile | 2 +- trunk/arch/arm/plat-omap/dmtimer.c | 13 +- trunk/arch/arm/plat-omap/include/plat/cpu.h | 4 - trunk/arch/x86/pci/common.c | 3 +- trunk/drivers/atm/solos-pci.c | 2 +- trunk/drivers/clk/mvebu/clk-gating-ctrl.c | 2 +- trunk/drivers/dma/mv_xor.c | 9 +- trunk/drivers/gpu/drm/drm_mm.c | 41 +++-- trunk/drivers/gpu/drm/i915/i915_dma.c | 3 + trunk/drivers/gpu/drm/i915/i915_drv.h | 8 + trunk/drivers/gpu/drm/i915/i915_gem.c | 77 ++++----- trunk/drivers/gpu/drm/i915/i915_gem_dmabuf.c | 2 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 2 + trunk/drivers/gpu/drm/i915/i915_irq.c | 12 ++ trunk/drivers/gpu/drm/i915/i915_reg.h | 4 +- trunk/drivers/gpu/drm/i915/intel_display.c | 23 ++- trunk/drivers/gpu/drm/i915/intel_pm.c | 160 ++++++++++++++++-- trunk/drivers/gpu/drm/i915/intel_ringbuffer.c | 76 ++++++++- trunk/drivers/gpu/drm/i915/intel_ringbuffer.h | 1 + .../nouveau/core/engine/graph/fuc/gpcnve0.fuc | 5 + .../core/engine/graph/fuc/gpcnve0.fuc.h | 17 +- .../nouveau/core/engine/graph/fuc/hubnvc0.fuc | 10 ++ .../core/engine/graph/fuc/hubnvc0.fuc.h | 147 ++++++++-------- .../nouveau/core/engine/graph/fuc/hubnve0.fuc | 13 ++ .../core/engine/graph/fuc/hubnve0.fuc.h | 157 ++++++++--------- .../gpu/drm/nouveau/core/engine/graph/nvc0.c | 11 +- .../gpu/drm/nouveau/core/engine/graph/nvc0.h | 1 + .../gpu/drm/nouveau/core/engine/graph/nve0.c | 3 +- .../drm/nouveau/core/include/subdev/bios.h | 1 + .../nouveau/core/include/subdev/bios/gpio.h | 8 +- .../nouveau/core/include/subdev/bios/init.h | 1 + .../drm/nouveau/core/include/subdev/gpio.h | 2 +- .../gpu/drm/nouveau/core/subdev/bios/base.c | 5 +- .../gpu/drm/nouveau/core/subdev/bios/gpio.c | 128 ++++++++------ .../gpu/drm/nouveau/core/subdev/bios/init.c | 65 ++++++- .../gpu/drm/nouveau/core/subdev/device/nve0.c | 28 +++ .../gpu/drm/nouveau/core/subdev/gpio/base.c | 9 +- .../gpu/drm/nouveau/core/subdev/gpio/nv50.c | 9 +- .../gpu/drm/nouveau/core/subdev/gpio/nvd0.c | 9 +- .../gpu/drm/nouveau/core/subdev/mxm/base.c | 2 +- trunk/drivers/gpu/drm/radeon/evergreen_cs.c | 30 ++++ trunk/drivers/gpu/drm/radeon/r600_cs.c | 29 ++++ trunk/drivers/gpu/drm/radeon/radeon.h | 3 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 17 +- trunk/drivers/gpu/drm/radeon/radeon_drv.c | 3 +- trunk/drivers/gpu/drm/radeon/radeon_fence.c | 49 ++++-- trunk/drivers/gpu/drm/radeon/radeon_pm.c | 15 +- trunk/drivers/gpu/drm/tegra/dc.c | 11 +- trunk/drivers/gpu/drm/tegra/drm.h | 18 -- trunk/drivers/gpu/drm/tegra/hdmi.c | 25 +-- trunk/drivers/gpu/drm/tegra/host1x.c | 2 + trunk/drivers/hwmon/emc6w201.c | 2 +- trunk/drivers/hwmon/lm73.c | 16 +- trunk/drivers/i2c/busses/i2c-ali1535.c | 8 +- trunk/drivers/i2c/busses/i2c-ali1563.c | 10 +- trunk/drivers/i2c/busses/i2c-ali15x3.c | 8 +- trunk/drivers/i2c/busses/i2c-amd756.c | 7 +- trunk/drivers/i2c/busses/i2c-amd8111.c | 7 +- trunk/drivers/i2c/busses/i2c-at91.c | 14 +- trunk/drivers/i2c/busses/i2c-au1550.c | 6 +- trunk/drivers/i2c/busses/i2c-cpm.c | 8 +- .../i2c/busses/i2c-designware-pcidrv.c | 6 +- .../i2c/busses/i2c-designware-platdrv.c | 6 +- trunk/drivers/i2c/busses/i2c-eg20t.c | 6 +- trunk/drivers/i2c/busses/i2c-elektor.c | 8 +- trunk/drivers/i2c/busses/i2c-gpio.c | 8 +- trunk/drivers/i2c/busses/i2c-highlander.c | 6 +- trunk/drivers/i2c/busses/i2c-hydra.c | 6 +- trunk/drivers/i2c/busses/i2c-i801.c | 28 ++- trunk/drivers/i2c/busses/i2c-ibm_iic.c | 8 +- trunk/drivers/i2c/busses/i2c-intel-mid.c | 6 +- trunk/drivers/i2c/busses/i2c-isch.c | 6 +- trunk/drivers/i2c/busses/i2c-mpc.c | 38 ++--- trunk/drivers/i2c/busses/i2c-mv64xxx.c | 18 +- trunk/drivers/i2c/busses/i2c-mxs.c | 6 +- trunk/drivers/i2c/busses/i2c-nforce2.c | 12 +- trunk/drivers/i2c/busses/i2c-nuc900.c | 6 +- trunk/drivers/i2c/busses/i2c-ocores.c | 6 +- trunk/drivers/i2c/busses/i2c-octeon.c | 10 +- trunk/drivers/i2c/busses/i2c-omap.c | 6 +- trunk/drivers/i2c/busses/i2c-parport-light.c | 6 +- trunk/drivers/i2c/busses/i2c-pasemi.c | 6 +- trunk/drivers/i2c/busses/i2c-pca-isa.c | 8 +- trunk/drivers/i2c/busses/i2c-pca-platform.c | 6 +- trunk/drivers/i2c/busses/i2c-piix4.c | 32 ++-- trunk/drivers/i2c/busses/i2c-pmcmsp.c | 6 +- trunk/drivers/i2c/busses/i2c-pnx.c | 6 +- trunk/drivers/i2c/busses/i2c-powermac.c | 16 +- trunk/drivers/i2c/busses/i2c-puv3.c | 6 +- trunk/drivers/i2c/busses/i2c-pxa-pci.c | 6 +- trunk/drivers/i2c/busses/i2c-rcar.c | 6 +- trunk/drivers/i2c/busses/i2c-s6000.c | 8 +- trunk/drivers/i2c/busses/i2c-sh7760.c | 8 +- trunk/drivers/i2c/busses/i2c-sh_mobile.c | 2 +- trunk/drivers/i2c/busses/i2c-sirf.c | 8 +- trunk/drivers/i2c/busses/i2c-sis5595.c | 4 +- trunk/drivers/i2c/busses/i2c-sis630.c | 8 +- trunk/drivers/i2c/busses/i2c-sis96x.c | 6 +- trunk/drivers/i2c/busses/i2c-tegra.c | 8 +- trunk/drivers/i2c/busses/i2c-via.c | 6 +- trunk/drivers/i2c/busses/i2c-viapro.c | 4 +- trunk/drivers/i2c/busses/i2c-viperboard.c | 6 +- trunk/drivers/i2c/busses/i2c-xiic.c | 8 +- trunk/drivers/i2c/busses/i2c-xlr.c | 6 +- trunk/drivers/i2c/busses/scx200_acb.c | 16 +- trunk/drivers/i2c/muxes/i2c-mux-gpio.c | 14 +- trunk/drivers/i2c/muxes/i2c-mux-pinctrl.c | 8 +- trunk/drivers/leds/leds-gpio.c | 5 +- trunk/drivers/media/platform/omap3isp/isp.c | 2 - trunk/drivers/media/usb/uvc/uvc_ctrl.c | 19 +-- trunk/drivers/media/usb/uvc/uvc_v4l2.c | 12 +- trunk/drivers/net/ethernet/marvell/mvmdio.c | 6 +- trunk/drivers/net/ethernet/marvell/mvneta.c | 19 +-- trunk/drivers/net/ethernet/ti/cpts.c | 3 +- trunk/drivers/net/ethernet/ti/cpts.h | 1 - trunk/drivers/net/tun.c | 24 +-- trunk/drivers/net/vxlan.c | 6 +- .../net/wireless/rtlwifi/rtl8723ae/sw.c | 2 +- trunk/drivers/pci/pci-sysfs.c | 85 ++++------ trunk/drivers/pci/pcie/portdrv_pci.c | 20 ++- trunk/drivers/pci/quirks.c | 7 +- trunk/drivers/pinctrl/mvebu/pinctrl-dove.c | 7 +- trunk/drivers/power/avs/smartreflex.c | 2 - trunk/drivers/power/reset/gpio-poweroff.c | 33 ++-- trunk/drivers/watchdog/da9055_wdt.c | 17 +- trunk/drivers/watchdog/omap_wdt.c | 1 - trunk/drivers/watchdog/twl4030_wdt.c | 11 +- trunk/fs/ecryptfs/crypto.c | 2 +- trunk/fs/ecryptfs/kthread.c | 6 +- trunk/fs/ecryptfs/mmap.c | 12 +- trunk/fs/eventpoll.c | 22 ++- trunk/fs/ext4/extents.c | 22 ++- trunk/fs/ext4/file.c | 8 - trunk/fs/ext4/fsync.c | 2 - trunk/fs/ext4/inode.c | 99 +++++++++-- trunk/fs/ext4/namei.c | 3 +- trunk/fs/ext4/super.c | 30 ++-- trunk/fs/f2fs/acl.c | 1 - trunk/fs/jbd2/transaction.c | 30 ++-- trunk/fs/proc/generic.c | 13 +- trunk/fs/proc/task_mmu.c | 2 +- trunk/include/Kbuild | 3 - trunk/include/drm/drm_mm.h | 25 ++- trunk/include/linux/Kbuild | 5 - trunk/include/linux/hdlc/Kbuild | 0 trunk/include/linux/hsi/Kbuild | 0 trunk/include/linux/jbd2.h | 2 +- trunk/include/linux/mempolicy.h | 13 +- trunk/include/linux/netdevice.h | 2 +- trunk/include/linux/page-flags.h | 8 +- trunk/include/linux/pci_ids.h | 1 + trunk/include/linux/pid.h | 1 + trunk/include/linux/pid_namespace.h | 4 +- trunk/include/linux/raid/Kbuild | 0 trunk/include/linux/usb/Kbuild | 0 trunk/include/net/sock.h | 2 +- trunk/include/rdma/Kbuild | 0 trunk/include/sound/Kbuild | 0 trunk/include/trace/events/ext4.h | 14 +- trunk/include/uapi/drm/i915_drm.h | 10 ++ trunk/include/uapi/linux/pci_regs.h | 2 + trunk/kernel/fork.c | 8 + trunk/kernel/pid.c | 15 +- trunk/kernel/pid_namespace.c | 4 + trunk/mm/mempolicy.c | 130 +++++++------- trunk/mm/shmem.c | 4 +- trunk/mm/vmscan.c | 107 +++++------- trunk/net/batman-adv/bat_iv_ogm.c | 2 +- trunk/net/bridge/br_if.c | 8 +- trunk/net/ceph/messenger.c | 23 +-- trunk/net/ceph/osd_client.c | 34 ++-- trunk/net/core/dev.c | 18 +- trunk/net/core/net-sysfs.c | 4 - trunk/net/core/sock.c | 4 +- trunk/net/ipv4/arp.c | 10 +- trunk/net/ipv4/ip_gre.c | 13 +- trunk/net/ipv4/tcp_input.c | 14 +- trunk/net/ipv6/ip6_gre.c | 3 +- trunk/net/rds/ib_cm.c | 11 +- trunk/net/rds/ib_recv.c | 9 +- trunk/net/sched/sch_htb.c | 2 +- trunk/net/wireless/reg.c | 7 - trunk/net/wireless/sysfs.c | 4 - trunk/scripts/headers_install.pl | 6 +- 229 files changed, 2018 insertions(+), 1291 deletions(-) create mode 100644 trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt create mode 100644 trunk/arch/arm/mach-omap1/fb.c rename trunk/arch/arm/{plat-omap => mach-omap2}/fb.c (76%) delete mode 100644 trunk/include/linux/Kbuild delete mode 100644 trunk/include/linux/hdlc/Kbuild delete mode 100644 trunk/include/linux/hsi/Kbuild delete mode 100644 trunk/include/linux/raid/Kbuild delete mode 100644 trunk/include/linux/usb/Kbuild delete mode 100644 trunk/include/rdma/Kbuild delete mode 100644 trunk/include/sound/Kbuild diff --git a/[refs] b/[refs] index b674bba56f7a..519ec7d3c2f7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e37f0d5b32c2a66677d0f2a21431a87e7e9ce22d +refs/heads/master: 2d9e02cad61c49798d9d36b9d87739c279fd6b0f diff --git a/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt b/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt index 558cdf3c9abc..d4eab9227ea4 100644 --- a/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt +++ b/trunk/Documentation/devicetree/bindings/gpio/gpio-poweroff.txt @@ -1,4 +1,19 @@ -GPIO line that should be set high/low to power off a device +Driver a GPIO line that can be used to turn the power off. + +The driver supports both level triggered and edge triggered power off. +At driver load time, the driver will request the given gpio line and +install a pm_power_off handler. If the optional properties 'input' is +not found, the GPIO line will be driven in the inactive +state. Otherwise its configured as an input. + +When the pm_power_off is called, the gpio is configured as an output, +and drive active, so triggering a level triggered power off +condition. This will also cause an inactive->active edge condition, so +triggering positive edge triggered power off. After a delay of 100ms, +the GPIO is set to inactive, thus causing an active->inactive edge, +triggering negative edge triggered power off. After another 100ms +delay the GPIO is driver active again. If the power is still on and +the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted. Required properties: - compatible : should be "gpio-poweroff". @@ -13,10 +28,9 @@ Optional properties: property is not specified, the GPIO is initialized as an output in its inactive state. - Examples: gpio-poweroff { compatible = "gpio-poweroff"; - gpios = <&gpio 4 0>; /* GPIO 4 Active Low */ + gpios = <&gpio 4 0>; }; diff --git a/trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt b/trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt new file mode 100644 index 000000000000..80a37193c0b8 --- /dev/null +++ b/trunk/Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt @@ -0,0 +1,10 @@ +Device tree bindings for twl4030-wdt driver (TWL4030 watchdog) + +Required properties: + compatible = "ti,twl4030-wdt"; + +Example: + +watchdog { + compatible = "ti,twl4030-wdt"; +}; diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 4e2a1f67a1fc..fa309ab7ccbf 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -5385,6 +5385,15 @@ F: arch/arm/*omap*/ F: drivers/i2c/busses/i2c-omap.c F: include/linux/i2c-omap.h +OMAP DEVICE TREE SUPPORT +M: BenoƮt Cousson +M: Tony Lindgren +L: linux-omap@vger.kernel.org +L: devicetree-discuss@lists.ozlabs.org (moderated for non-subscribers) +S: Maintained +F: arch/arm/boot/dts/*omap* +F: arch/arm/boot/dts/*am3* + OMAP CLOCK FRAMEWORK SUPPORT M: Paul Walmsley L: linux-omap@vger.kernel.org diff --git a/trunk/Makefile b/trunk/Makefile index 275b9567382c..80c5694b29fd 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 8 SUBLEVEL = 0 -EXTRAVERSION = -rc1 +EXTRAVERSION = -rc2 NAME = Terrified Chipmunk # *DOCUMENTATION* diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index f95ba14ae3d0..ab864d9545dd 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -371,7 +371,6 @@ config ARCH_CNS3XXX config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" select ARCH_REQUIRE_GPIOLIB - select ARCH_USES_GETTIMEOFFSET select AUTO_ZRELADDR select CLKDEV_LOOKUP select COMMON_CLK diff --git a/trunk/arch/arm/boot/dts/armada-370-xp.dtsi b/trunk/arch/arm/boot/dts/armada-370-xp.dtsi index cf6c48a09eac..4c0abe85405f 100644 --- a/trunk/arch/arm/boot/dts/armada-370-xp.dtsi +++ b/trunk/arch/arm/boot/dts/armada-370-xp.dtsi @@ -50,17 +50,19 @@ ranges; serial@d0012000 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012000 0x100>; reg-shift = <2>; interrupts = <41>; + reg-io-width = <4>; status = "disabled"; }; serial@d0012100 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012100 0x100>; reg-shift = <2>; interrupts = <42>; + reg-io-width = <4>; status = "disabled"; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi index c45c7b4dc352..271855a6e224 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78230.dtsi @@ -34,7 +34,14 @@ reg = <0>; clocks = <&cpuclk 0>; }; - } + + cpu@1 { + device_type = "cpu"; + compatible = "marvell,sheeva-v7"; + reg = <1>; + clocks = <&cpuclk 1>; + }; + }; soc { pinctrl { diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi index a2aee5707377..1c1937dbce73 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78260.dtsi @@ -85,5 +85,13 @@ #interrupts-cells = <2>; interrupts = <24>; }; + + ethernet@d0034000 { + compatible = "marvell,armada-370-neta"; + reg = <0xd0034000 0x2500>; + interrupts = <14>; + clocks = <&gateclk 1>; + status = "disabled"; + }; }; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi index da03a129243a..4905cf3a5ef8 100644 --- a/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp-mv78460.dtsi @@ -100,5 +100,13 @@ #interrupts-cells = <2>; interrupts = <24>; }; + + ethernet@d0034000 { + compatible = "marvell,armada-370-neta"; + reg = <0xd0034000 0x2500>; + interrupts = <14>; + clocks = <&gateclk 1>; + status = "disabled"; + }; }; }; diff --git a/trunk/arch/arm/boot/dts/armada-xp.dtsi b/trunk/arch/arm/boot/dts/armada-xp.dtsi index 367aa3f94912..2e37ef101c90 100644 --- a/trunk/arch/arm/boot/dts/armada-xp.dtsi +++ b/trunk/arch/arm/boot/dts/armada-xp.dtsi @@ -42,17 +42,19 @@ soc { serial@d0012200 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012200 0x100>; reg-shift = <2>; interrupts = <43>; + reg-io-width = <4>; status = "disabled"; }; serial@d0012300 { - compatible = "ns16550"; + compatible = "snps,dw-apb-uart"; reg = <0xd0012300 0x100>; reg-shift = <2>; interrupts = <44>; + reg-io-width = <4>; status = "disabled"; }; @@ -93,14 +95,6 @@ status = "disabled"; }; - ethernet@d0034000 { - compatible = "marvell,armada-370-neta"; - reg = <0xd0034000 0x2500>; - interrupts = <14>; - clocks = <&gateclk 1>; - status = "disabled"; - }; - xor@d0060900 { compatible = "marvell,orion-xor"; reg = <0xd0060900 0x100 diff --git a/trunk/arch/arm/boot/dts/dove.dtsi b/trunk/arch/arm/boot/dts/dove.dtsi index f3f7e9d8adca..42eac1ff3cc8 100644 --- a/trunk/arch/arm/boot/dts/dove.dtsi +++ b/trunk/arch/arm/boot/dts/dove.dtsi @@ -117,6 +117,7 @@ pinctrl: pinctrl@d0200 { compatible = "marvell,dove-pinctrl"; reg = <0xd0200 0x10>; + clocks = <&gate_clk 22>; }; spi0: spi@10600 { diff --git a/trunk/arch/arm/boot/dts/ecx-2000.dts b/trunk/arch/arm/boot/dts/ecx-2000.dts index 46477ac1de99..139b40cc3a23 100644 --- a/trunk/arch/arm/boot/dts/ecx-2000.dts +++ b/trunk/arch/arm/boot/dts/ecx-2000.dts @@ -32,6 +32,7 @@ cpu@0 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <0>; clocks = <&a9pll>; clock-names = "cpu"; @@ -39,6 +40,7 @@ cpu@1 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <1>; clocks = <&a9pll>; clock-names = "cpu"; @@ -46,6 +48,7 @@ cpu@2 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <2>; clocks = <&a9pll>; clock-names = "cpu"; @@ -53,6 +56,7 @@ cpu@3 { compatible = "arm,cortex-a15"; + device_type = "cpu"; reg = <3>; clocks = <&a9pll>; clock-names = "cpu"; diff --git a/trunk/arch/arm/boot/dts/highbank.dts b/trunk/arch/arm/boot/dts/highbank.dts index a9ae5d32e80d..5927a8df5625 100644 --- a/trunk/arch/arm/boot/dts/highbank.dts +++ b/trunk/arch/arm/boot/dts/highbank.dts @@ -30,33 +30,37 @@ #address-cells = <1>; #size-cells = <0>; - cpu@0 { + cpu@900 { compatible = "arm,cortex-a9"; - reg = <0>; + device_type = "cpu"; + reg = <0x900>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; }; - cpu@1 { + cpu@901 { compatible = "arm,cortex-a9"; - reg = <1>; + device_type = "cpu"; + reg = <0x901>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; }; - cpu@2 { + cpu@902 { compatible = "arm,cortex-a9"; - reg = <2>; + device_type = "cpu"; + reg = <0x902>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; }; - cpu@3 { + cpu@903 { compatible = "arm,cortex-a9"; - reg = <3>; + device_type = "cpu"; + reg = <0x903>; next-level-cache = <&L2>; clocks = <&a9pll>; clock-names = "cpu"; diff --git a/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi b/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi index 9ae2004d5675..4ccea2130a6c 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood-6282.dtsi @@ -39,6 +39,7 @@ #size-cells = <0>; interrupts = <32>; clock-frequency = <100000>; + clocks = <&gate_clk 7>; status = "disabled"; }; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood-topkick.dts b/trunk/arch/arm/boot/dts/kirkwood-topkick.dts index c0de5a7f660d..cd15452a52a6 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-topkick.dts +++ b/trunk/arch/arm/boot/dts/kirkwood-topkick.dts @@ -82,4 +82,21 @@ gpios = <&gpio1 16 1>; }; }; + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + sata0_power: regulator@1 { + compatible = "regulator-fixed"; + reg = <1>; + regulator-name = "SATA0 Power"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + regulator-always-on; + regulator-boot-on; + gpio = <&gpio1 4 0>; + }; + }; }; diff --git a/trunk/arch/arm/boot/dts/kirkwood.dtsi b/trunk/arch/arm/boot/dts/kirkwood.dtsi index 7735cee4a9c6..110d6cbb795b 100644 --- a/trunk/arch/arm/boot/dts/kirkwood.dtsi +++ b/trunk/arch/arm/boot/dts/kirkwood.dtsi @@ -144,6 +144,7 @@ compatible = "marvell,orion-ehci"; reg = <0x50000 0x1000>; interrupts = <19>; + clocks = <&gate_clk 3>; status = "okay"; }; diff --git a/trunk/arch/arm/boot/dts/twl4030.dtsi b/trunk/arch/arm/boot/dts/twl4030.dtsi index 63411b036932..ed0bc9546837 100644 --- a/trunk/arch/arm/boot/dts/twl4030.dtsi +++ b/trunk/arch/arm/boot/dts/twl4030.dtsi @@ -19,6 +19,10 @@ interrupts = <11>; }; + watchdog { + compatible = "ti,twl4030-wdt"; + }; + vdac: regulator-vdac { compatible = "ti,twl4030-vdac"; regulator-min-microvolt = <1800000>; diff --git a/trunk/arch/arm/configs/multi_v7_defconfig b/trunk/arch/arm/configs/multi_v7_defconfig index dbea6f4efe9f..2eeff1e64b6e 100644 --- a/trunk/arch/arm/configs/multi_v7_defconfig +++ b/trunk/arch/arm/configs/multi_v7_defconfig @@ -6,6 +6,7 @@ CONFIG_MACH_ARMADA_370=y CONFIG_MACH_ARMADA_XP=y CONFIG_ARCH_HIGHBANK=y CONFIG_ARCH_SOCFPGA=y +CONFIG_ARCH_SUNXI=y # CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA is not set CONFIG_ARM_ERRATA_754322=y CONFIG_SMP=y diff --git a/trunk/arch/arm/configs/mvebu_defconfig b/trunk/arch/arm/configs/mvebu_defconfig index a702fb345c01..b5bc96cb65a7 100644 --- a/trunk/arch/arm/configs/mvebu_defconfig +++ b/trunk/arch/arm/configs/mvebu_defconfig @@ -33,9 +33,7 @@ CONFIG_MVNETA=y CONFIG_MARVELL_PHY=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_I2C=y -CONFIG_I2C_MV64XXX=y +CONFIG_SERIAL_8250_DW=y CONFIG_GPIOLIB=y CONFIG_GPIO_SYSFS=y # CONFIG_USB_SUPPORT is not set diff --git a/trunk/arch/arm/configs/omap2plus_defconfig b/trunk/arch/arm/configs/omap2plus_defconfig index a1dc5c071e71..82ce8d738fa1 100644 --- a/trunk/arch/arm/configs/omap2plus_defconfig +++ b/trunk/arch/arm/configs/omap2plus_defconfig @@ -65,6 +65,8 @@ CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_DEFAULT_PID=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_CONNECTOR=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y CONFIG_MTD=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y @@ -132,9 +134,11 @@ CONFIG_POWER_SUPPLY=y CONFIG_WATCHDOG=y CONFIG_OMAP_WATCHDOG=y CONFIG_TWL4030_WATCHDOG=y +CONFIG_MFD_TPS65217=y CONFIG_REGULATOR_TWL4030=y CONFIG_REGULATOR_TPS65023=y CONFIG_REGULATOR_TPS6507X=y +CONFIG_REGULATOR_TPS65217=y CONFIG_FB=y CONFIG_FIRMWARE_EDID=y CONFIG_FB_MODE_HELPERS=y @@ -170,6 +174,7 @@ CONFIG_SND_DEBUG=y CONFIG_SND_USB_AUDIO=m CONFIG_SND_SOC=m CONFIG_SND_OMAP_SOC=m +CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m CONFIG_USB=y CONFIG_USB_DEBUG=y diff --git a/trunk/arch/arm/mach-highbank/highbank.c b/trunk/arch/arm/mach-highbank/highbank.c index dc248167d206..981dc1e1da51 100644 --- a/trunk/arch/arm/mach-highbank/highbank.c +++ b/trunk/arch/arm/mach-highbank/highbank.c @@ -135,7 +135,7 @@ static struct sys_timer highbank_timer = { static void highbank_power_off(void) { - hignbank_set_pwr_shutdown(); + highbank_set_pwr_shutdown(); while (1) cpu_do_idle(); diff --git a/trunk/arch/arm/mach-highbank/hotplug.c b/trunk/arch/arm/mach-highbank/hotplug.c index 7b60faccd551..f30c52843396 100644 --- a/trunk/arch/arm/mach-highbank/hotplug.c +++ b/trunk/arch/arm/mach-highbank/hotplug.c @@ -30,7 +30,7 @@ void __ref highbank_cpu_die(unsigned int cpu) { flush_cache_all(); - highbank_set_cpu_jump(cpu, secondary_startup); + highbank_set_cpu_jump(cpu, phys_to_virt(0)); highbank_set_core_pwr(); cpu_do_idle(); diff --git a/trunk/arch/arm/mach-highbank/platsmp.c b/trunk/arch/arm/mach-highbank/platsmp.c index 1129957f6c1d..4ecc864ac8b9 100644 --- a/trunk/arch/arm/mach-highbank/platsmp.c +++ b/trunk/arch/arm/mach-highbank/platsmp.c @@ -32,6 +32,7 @@ static void __cpuinit highbank_secondary_init(unsigned int cpu) static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle) { + highbank_set_cpu_jump(cpu, secondary_startup); gic_raise_softirq(cpumask_of(cpu), 0); return 0; } @@ -61,19 +62,8 @@ static void __init highbank_smp_init_cpus(void) static void __init highbank_smp_prepare_cpus(unsigned int max_cpus) { - int i; - if (scu_base_addr) scu_enable(scu_base_addr); - - /* - * Write the address of secondary startup into the jump table - * The cores are in wfi and wait until they receive a soft interrupt - * and a non-zero value to jump to. Then the secondary CPU branches - * to this address. - */ - for (i = 1; i < max_cpus; i++) - highbank_set_cpu_jump(i, secondary_startup); } struct smp_operations highbank_smp_ops __initdata = { diff --git a/trunk/arch/arm/mach-highbank/pm.c b/trunk/arch/arm/mach-highbank/pm.c index 74aa135966f0..04eddb4f4380 100644 --- a/trunk/arch/arm/mach-highbank/pm.c +++ b/trunk/arch/arm/mach-highbank/pm.c @@ -14,10 +14,12 @@ * this program. If not, see . */ +#include #include #include #include +#include #include #include @@ -26,16 +28,31 @@ static int highbank_suspend_finish(unsigned long val) { + outer_flush_all(); + outer_disable(); + + highbank_set_pwr_suspend(); + cpu_do_idle(); + + highbank_clear_pwr_request(); return 0; } static int highbank_pm_enter(suspend_state_t state) { - hignbank_set_pwr_suspend(); + cpu_pm_enter(); + cpu_cluster_pm_enter(); + highbank_set_cpu_jump(0, cpu_resume); cpu_suspend(0, highbank_suspend_finish); + cpu_cluster_pm_exit(); + cpu_pm_exit(); + + highbank_smc1(0x102, 0x1); + if (scu_base_addr) + scu_enable(scu_base_addr); return 0; } diff --git a/trunk/arch/arm/mach-highbank/sysregs.h b/trunk/arch/arm/mach-highbank/sysregs.h index e13e8ea7c6cb..70af9d13fcef 100644 --- a/trunk/arch/arm/mach-highbank/sysregs.h +++ b/trunk/arch/arm/mach-highbank/sysregs.h @@ -44,28 +44,43 @@ static inline void highbank_set_core_pwr(void) writel_relaxed(1, sregs_base + SREG_CPU_PWR_CTRL(cpu)); } -static inline void hignbank_set_pwr_suspend(void) +static inline void highbank_clear_core_pwr(void) +{ + int cpu = cpu_logical_map(smp_processor_id()); + if (scu_base_addr) + scu_power_mode(scu_base_addr, SCU_PM_NORMAL); + else + writel_relaxed(0, sregs_base + SREG_CPU_PWR_CTRL(cpu)); +} + +static inline void highbank_set_pwr_suspend(void) { writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } -static inline void hignbank_set_pwr_shutdown(void) +static inline void highbank_set_pwr_shutdown(void) { writel(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } -static inline void hignbank_set_pwr_soft_reset(void) +static inline void highbank_set_pwr_soft_reset(void) { writel(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } -static inline void hignbank_set_pwr_hard_reset(void) +static inline void highbank_set_pwr_hard_reset(void) { writel(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ); highbank_set_core_pwr(); } +static inline void highbank_clear_pwr_request(void) +{ + writel(~0UL, sregs_base + HB_SREG_A9_PWR_REQ); + highbank_clear_core_pwr(); +} + #endif diff --git a/trunk/arch/arm/mach-highbank/system.c b/trunk/arch/arm/mach-highbank/system.c index aed96ad9bd4a..37d8384dcf19 100644 --- a/trunk/arch/arm/mach-highbank/system.c +++ b/trunk/arch/arm/mach-highbank/system.c @@ -22,9 +22,9 @@ void highbank_restart(char mode, const char *cmd) { if (mode == 'h') - hignbank_set_pwr_hard_reset(); + highbank_set_pwr_hard_reset(); else - hignbank_set_pwr_soft_reset(); + highbank_set_pwr_soft_reset(); while (1) cpu_do_idle(); diff --git a/trunk/arch/arm/mach-kirkwood/board-dt.c b/trunk/arch/arm/mach-kirkwood/board-dt.c index ff4150a2ad05..de4fd2bb1e27 100644 --- a/trunk/arch/arm/mach-kirkwood/board-dt.c +++ b/trunk/arch/arm/mach-kirkwood/board-dt.c @@ -67,6 +67,10 @@ static void __init kirkwood_legacy_clk_init(void) orion_clkdev_add(NULL, "mv643xx_eth_port.1", of_clk_get_from_provider(&clkspec)); + clkspec.args[0] = CGC_BIT_SDIO; + orion_clkdev_add(NULL, "mvsdio", + of_clk_get_from_provider(&clkspec)); + } static void __init kirkwood_of_clk_init(void) diff --git a/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c b/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c index 15e69fcde9f4..23d2dd1b1b1e 100644 --- a/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c +++ b/trunk/arch/arm/mach-kirkwood/board-usi_topkick.c @@ -64,8 +64,6 @@ static unsigned int topkick_mpp_config[] __initdata = { 0 }; -#define TOPKICK_SATA0_PWR_ENABLE 36 - void __init usi_topkick_init(void) { /* @@ -73,8 +71,6 @@ void __init usi_topkick_init(void) */ kirkwood_mpp_conf(topkick_mpp_config); - /* SATA0 power enable */ - gpio_set_value(TOPKICK_SATA0_PWR_ENABLE, 1); kirkwood_ge00_init(&topkick_ge00_data); kirkwood_sdio_init(&topkick_mvsdio_data); diff --git a/trunk/arch/arm/mach-nomadik/board-nhk8815.c b/trunk/arch/arm/mach-nomadik/board-nhk8815.c index 98167a4319f7..9f19069248da 100644 --- a/trunk/arch/arm/mach-nomadik/board-nhk8815.c +++ b/trunk/arch/arm/mach-nomadik/board-nhk8815.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include diff --git a/trunk/arch/arm/mach-nomadik/include/mach/irqs.h b/trunk/arch/arm/mach-nomadik/include/mach/irqs.h index b549d0571548..215f8cdb4004 100644 --- a/trunk/arch/arm/mach-nomadik/include/mach/irqs.h +++ b/trunk/arch/arm/mach-nomadik/include/mach/irqs.h @@ -22,49 +22,49 @@ #include -#define IRQ_VIC_START 1 /* first VIC interrupt is 1 */ +#define IRQ_VIC_START 32 /* first VIC interrupt is 1 */ /* * Interrupt numbers generic for all Nomadik Chip cuts */ -#define IRQ_WATCHDOG 1 -#define IRQ_SOFTINT 2 -#define IRQ_CRYPTO 3 -#define IRQ_OWM 4 -#define IRQ_MTU0 5 -#define IRQ_MTU1 6 -#define IRQ_GPIO0 7 -#define IRQ_GPIO1 8 -#define IRQ_GPIO2 9 -#define IRQ_GPIO3 10 -#define IRQ_RTC_RTT 11 -#define IRQ_SSP 12 -#define IRQ_UART0 13 -#define IRQ_DMA1 14 -#define IRQ_CLCD_MDIF 15 -#define IRQ_DMA0 16 -#define IRQ_PWRFAIL 17 -#define IRQ_UART1 18 -#define IRQ_FIRDA 19 -#define IRQ_MSP0 20 -#define IRQ_I2C0 21 -#define IRQ_I2C1 22 -#define IRQ_SDMMC 23 -#define IRQ_USBOTG 24 -#define IRQ_SVA_IT0 25 -#define IRQ_SVA_IT1 26 -#define IRQ_SAA_IT0 27 -#define IRQ_SAA_IT1 28 -#define IRQ_UART2 29 -#define IRQ_MSP2 30 -#define IRQ_L2CC 49 -#define IRQ_HPI 50 -#define IRQ_SKE 51 -#define IRQ_KP 52 -#define IRQ_MEMST 55 -#define IRQ_SGA_IT 59 -#define IRQ_USBM 61 -#define IRQ_MSP1 63 +#define IRQ_WATCHDOG (IRQ_VIC_START+0) +#define IRQ_SOFTINT (IRQ_VIC_START+1) +#define IRQ_CRYPTO (IRQ_VIC_START+2) +#define IRQ_OWM (IRQ_VIC_START+3) +#define IRQ_MTU0 (IRQ_VIC_START+4) +#define IRQ_MTU1 (IRQ_VIC_START+5) +#define IRQ_GPIO0 (IRQ_VIC_START+6) +#define IRQ_GPIO1 (IRQ_VIC_START+7) +#define IRQ_GPIO2 (IRQ_VIC_START+8) +#define IRQ_GPIO3 (IRQ_VIC_START+9) +#define IRQ_RTC_RTT (IRQ_VIC_START+10) +#define IRQ_SSP (IRQ_VIC_START+11) +#define IRQ_UART0 (IRQ_VIC_START+12) +#define IRQ_DMA1 (IRQ_VIC_START+13) +#define IRQ_CLCD_MDIF (IRQ_VIC_START+14) +#define IRQ_DMA0 (IRQ_VIC_START+15) +#define IRQ_PWRFAIL (IRQ_VIC_START+16) +#define IRQ_UART1 (IRQ_VIC_START+17) +#define IRQ_FIRDA (IRQ_VIC_START+18) +#define IRQ_MSP0 (IRQ_VIC_START+19) +#define IRQ_I2C0 (IRQ_VIC_START+20) +#define IRQ_I2C1 (IRQ_VIC_START+21) +#define IRQ_SDMMC (IRQ_VIC_START+22) +#define IRQ_USBOTG (IRQ_VIC_START+23) +#define IRQ_SVA_IT0 (IRQ_VIC_START+24) +#define IRQ_SVA_IT1 (IRQ_VIC_START+25) +#define IRQ_SAA_IT0 (IRQ_VIC_START+26) +#define IRQ_SAA_IT1 (IRQ_VIC_START+27) +#define IRQ_UART2 (IRQ_VIC_START+28) +#define IRQ_MSP2 (IRQ_VIC_START+29) +#define IRQ_L2CC (IRQ_VIC_START+30) +#define IRQ_HPI (IRQ_VIC_START+31) +#define IRQ_SKE (IRQ_VIC_START+32) +#define IRQ_KP (IRQ_VIC_START+33) +#define IRQ_MEMST (IRQ_VIC_START+34) +#define IRQ_SGA_IT (IRQ_VIC_START+35) +#define IRQ_USBM (IRQ_VIC_START+36) +#define IRQ_MSP1 (IRQ_VIC_START+37) #define NOMADIK_GPIO_OFFSET (IRQ_VIC_START+64) diff --git a/trunk/arch/arm/mach-omap1/Makefile b/trunk/arch/arm/mach-omap1/Makefile index f0e69cbc5baa..222d58c0ae76 100644 --- a/trunk/arch/arm/mach-omap1/Makefile +++ b/trunk/arch/arm/mach-omap1/Makefile @@ -4,7 +4,7 @@ # Common support obj-y := io.o id.o sram-init.o sram.o time.o irq.o mux.o flash.o \ - serial.o devices.o dma.o + serial.o devices.o dma.o fb.o obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o timer.o ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),) diff --git a/trunk/arch/arm/mach-omap1/fb.c b/trunk/arch/arm/mach-omap1/fb.c new file mode 100644 index 000000000000..c770d45c7226 --- /dev/null +++ b/trunk/arch/arm/mach-omap1/fb.c @@ -0,0 +1,80 @@ +/* + * File: arch/arm/plat-omap/fb.c + * + * Framebuffer device registration for TI OMAP platforms + * + * Copyright (C) 2006 Nokia Corporation + * Author: Imre Deak + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE) + +static bool omapfb_lcd_configured; +static struct omapfb_platform_data omapfb_config; + +static u64 omap_fb_dma_mask = ~(u32)0; + +static struct platform_device omap_fb_device = { + .name = "omapfb", + .id = -1, + .dev = { + .dma_mask = &omap_fb_dma_mask, + .coherent_dma_mask = DMA_BIT_MASK(32), + .platform_data = &omapfb_config, + }, + .num_resources = 0, +}; + +void __init omapfb_set_lcd_config(const struct omap_lcd_config *config) +{ + omapfb_config.lcd = *config; + omapfb_lcd_configured = true; +} + +static int __init omap_init_fb(void) +{ + /* + * If the board file has not set the lcd config with + * omapfb_set_lcd_config(), don't bother registering the omapfb device + */ + if (!omapfb_lcd_configured) + return 0; + + return platform_device_register(&omap_fb_device); +} + +arch_initcall(omap_init_fb); + +#else + +void __init omapfb_set_lcd_config(const struct omap_lcd_config *config) +{ +} + +#endif diff --git a/trunk/arch/arm/mach-omap2/Makefile b/trunk/arch/arm/mach-omap2/Makefile index a8004f33b7e2..947cafe65aef 100644 --- a/trunk/arch/arm/mach-omap2/Makefile +++ b/trunk/arch/arm/mach-omap2/Makefile @@ -3,7 +3,7 @@ # # Common support -obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer.o pm.o \ +obj-y := id.o io.o control.o mux.o devices.o fb.o serial.o gpmc.o timer.o pm.o \ common.o gpio.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \ omap_device.o sram.o diff --git a/trunk/arch/arm/mach-omap2/control.h b/trunk/arch/arm/mach-omap2/control.h index 3d944d3263d2..e6c328128a0a 100644 --- a/trunk/arch/arm/mach-omap2/control.h +++ b/trunk/arch/arm/mach-omap2/control.h @@ -234,7 +234,7 @@ #define OMAP343X_PADCONF_ETK_D14 OMAP343X_PADCONF_ETK(16) #define OMAP343X_PADCONF_ETK_D15 OMAP343X_PADCONF_ETK(17) -/* 34xx GENERAL_WKUP regist offsets */ +/* 34xx GENERAL_WKUP register offsets */ #define OMAP343X_CONTROL_WKUP_DEBOBSMUX(i) (OMAP343X_CONTROL_GENERAL_WKUP + \ 0x008 + (i)) #define OMAP343X_CONTROL_WKUP_DEBOBS0 (OMAP343X_CONTROL_GENERAL_WKUP + 0x008) diff --git a/trunk/arch/arm/mach-omap2/dpll3xxx.c b/trunk/arch/arm/mach-omap2/dpll3xxx.c index 2bb18838cba9..0a02aab5df67 100644 --- a/trunk/arch/arm/mach-omap2/dpll3xxx.c +++ b/trunk/arch/arm/mach-omap2/dpll3xxx.c @@ -504,8 +504,7 @@ int omap3_noncore_dpll_set_rate(struct clk_hw *hw, unsigned long rate, if (!cpu_is_omap44xx() && !cpu_is_omap3630()) { freqsel = _omap3_dpll_compute_freqsel(clk, dd->last_rounded_n); - if (!freqsel) - WARN_ON(1); + WARN_ON(!freqsel); } pr_debug("%s: %s: set rate: locking rate to %lu.\n", diff --git a/trunk/arch/arm/mach-omap2/drm.c b/trunk/arch/arm/mach-omap2/drm.c index fce5aa3fff49..4c7566c7e24a 100644 --- a/trunk/arch/arm/mach-omap2/drm.c +++ b/trunk/arch/arm/mach-omap2/drm.c @@ -27,7 +27,6 @@ #include "omap_device.h" #include "omap_hwmod.h" -#include #if defined(CONFIG_DRM_OMAP) || (CONFIG_DRM_OMAP_MODULE) diff --git a/trunk/arch/arm/mach-omap2/dss-common.c b/trunk/arch/arm/mach-omap2/dss-common.c index 679a0478644f..4be5cfc81ab8 100644 --- a/trunk/arch/arm/mach-omap2/dss-common.c +++ b/trunk/arch/arm/mach-omap2/dss-common.c @@ -31,8 +31,7 @@ #include