Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 30 Jul 2012 16:22:37 +0000 (09:22 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 30 Jul 2012 16:22:37 +0000 (09:22 -0700)
Pull PWM subsystem from Thierry Reding:
 "The new PWM subsystem aims at collecting all implementations of the
  legacy PWM API and to eventually replace it completely.

  The subsystem has been in development for over half a year now and
  many drivers have already been converted.  It has been in linux-next
  for a couple of weeks and there have been no major issues so I think
  it is ready for inclusion in your tree."

Arnd Bergmann <arnd@arndb.de>:
 "Very much Ack on the new subsystem.  It uses the interface
  declarations as the previously separate pwm drivers, so nothing
  changes for now in the drivers using it, although it enables us to
  change those more easily in the future if we want to.

  This work is also one of the missing pieces that are required to
  eventually build ARM kernels for multiple platforms, which is
  currently prohibited (amongs other things) by the fact that you cannot
  have more than one driver exporting the pwm functions."

Tested-and-acked-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Philip, Avinash <avinashphilip@ti.com> # TI's AM33xx platforms
Acked-By: Alexandre Pereira da Silva <aletes.xgr@gmail.com> # LPC32XX
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Sachin Kamat <sachin.kamat@linaro.org>
Fix up trivial conflicts with other cleanups and DT updates.

* 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm: (36 commits)
  pwm: pwm-tiehrpwm: PWM driver support for EHRPWM
  pwm: pwm-tiecap: PWM driver support for ECAP APWM
  pwm: fix used-uninitialized warning in pwm_get()
  pwm: add lpc32xx PWM support
  pwm_backlight: pass correct brightness to callback
  pwm: Use pr_* functions in pwm-samsung.c file
  pwm: Convert pwm-samsung to use devm_* APIs
  pwm: Convert pwm-tegra to use devm_clk_get()
  pwm: pwm-mxs: Return proper error if pwmchip_remove() fails
  pwm: pwm-bfin: Return proper error if pwmchip_remove() fails
  pwm: pxa: Propagate pwmchip_remove() error
  pwm: Convert pwm-pxa to use devm_* APIs
  pwm: Convert pwm-vt8500 to use devm_* APIs
  pwm: Convert pwm-imx to use devm_* APIs
  pwm: Conflict with legacy PWM API
  pwm: pwm-mxs: add pinctrl support
  pwm: pwm-mxs: use devm_* managed functions
  pwm: pwm-mxs: use global reset function stmp_reset_block
  pwm: pwm-mxs: encode soc name in compatible string
  pwm: Take over maintainership of the PWM subsystem
  ...

14 files changed:
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/boot/dts/tegra20.dtsi
arch/arm/boot/dts/tegra30.dtsi
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-vt8500/Makefile
arch/arm/plat-mxc/Makefile
arch/arm/plat-samsung/Makefile
arch/blackfin/Kconfig
drivers/mfd/Kconfig
drivers/misc/Kconfig
drivers/video/backlight/Kconfig
include/linux/of.h

diff --combined MAINTAINERS
index bd451649f13a2ee9527bda181cfa002c77c526f4,09da19dd5e027b9aef814dfe25ed696e01fa84cb..b141083b26211f349462408d6b0bd099b1bb0c7f
@@@ -242,6 -242,13 +242,6 @@@ W:        http://www.lesswatts.org/projects/ac
  S:    Supported
  F:    drivers/acpi/fan.c
  
 -ACPI PROCESSOR AGGREGATOR DRIVER
 -M:    Shaohua Li <shaohua.li@intel.com>
 -L:    linux-acpi@vger.kernel.org
 -W:    http://www.lesswatts.org/projects/acpi/
 -S:    Supported
 -F:    drivers/acpi/acpi_pad.c
 -
  ACPI THERMAL DRIVER
  M:    Zhang Rui <rui.zhang@intel.com>
  L:    linux-acpi@vger.kernel.org
@@@ -322,7 -329,7 +322,7 @@@ F: drivers/hwmon/adm1029.
  
  ADM8211 WIRELESS DRIVER
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/
 +W:    http://wireless.kernel.org/
  S:    Orphan
  F:    drivers/net/wireless/adm8211.*
  
@@@ -572,7 -579,7 +572,7 @@@ F: drivers/net/appletalk
  F:    net/appletalk/
  
  ARASAN COMPACT FLASH PATA CONTROLLER
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  L:    linux-ide@vger.kernel.org
  S:    Maintained
  F:    include/linux/pata_arasan_cf_data.h
@@@ -887,14 -894,6 +887,14 @@@ ARM/MAGICIAN MACHINE SUPPOR
  M:    Philipp Zabel <philipp.zabel@gmail.com>
  S:    Maintained
  
 +ARM/Marvell Armada 370 and Armada XP SOC support
 +M:    Jason Cooper <jason@lakedaemon.net>
 +M:    Andrew Lunn <andrew@lunn.ch>
 +M:    Gregory Clement <gregory.clement@free-electrons.com>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-mvebu/
 +
  ARM/Marvell Dove/Kirkwood/MV78xx0/Orion SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
  M:    Andrew Lunn <andrew@lunn.ch>
@@@ -1104,16 -1103,6 +1104,16 @@@ S:    Supporte
  F:    arch/arm/mach-shmobile/
  F:    drivers/sh/
  
 +ARM/SOCFPGA ARCHITECTURE
 +M:    Dinh Nguyen <dinguyen@altera.com>
 +S:    Maintained
 +F:    arch/arm/mach-socfpga/
 +
 +ARM/SOCFPGA CLOCK FRAMEWORK SUPPORT
 +M:    Dinh Nguyen <dinguyen@altera.com>
 +S:    Maintained
 +F:    drivers/clk/socfpga/
 +
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1186,17 -1175,6 +1186,17 @@@ S:    Maintaine
  F:    arch/arm/mach-pxa/vpac270.c
  F:    arch/arm/mach-pxa/include/mach/vpac270.h
  
 +ARM/VT8500 ARM ARCHITECTURE
 +M:    Tony Prisk <linux@prisktech.co.nz>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm/mach-vt8500/
 +F:    drivers/video/vt8500lcdfb.*
 +F:    drivers/video/wm8505fb*
 +F:    drivers/video/wmt_ge_rops.*
 +F:    drivers/tty/serial/vt8500_serial.c
 +F:    drivers/rtc/rtc-vt8500-c
 +
  ARM/ZIPIT Z2 SUPPORT
  M:    Marek Vasut <marek.vasut@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1445,7 -1423,7 +1445,7 @@@ B43 WIRELESS DRIVE
  M:    Stefano Brivio <stefano.brivio@polimi.it>
  L:    linux-wireless@vger.kernel.org
  L:    b43-dev@lists.infradead.org
 -W:    http://linuxwireless.org/en/users/Drivers/b43
 +W:    http://wireless.kernel.org/en/users/Drivers/b43
  S:    Maintained
  F:    drivers/net/wireless/b43/
  
@@@ -1454,7 -1432,7 +1454,7 @@@ M:      Larry Finger <Larry.Finger@lwfinger.
  M:    Stefano Brivio <stefano.brivio@polimi.it>
  L:    linux-wireless@vger.kernel.org
  L:    b43-dev@lists.infradead.org
 -W:    http://linuxwireless.org/en/users/Drivers/b43
 +W:    http://wireless.kernel.org/en/users/Drivers/b43
  S:    Maintained
  F:    drivers/net/wireless/b43legacy/
  
@@@ -1540,11 -1518,6 +1540,11 @@@ W:    http://blackfin.uclinux.org
  S:    Supported
  F:    drivers/i2c/busses/i2c-bfin-twi.c
  
 +BLINKM RGB LED DRIVER
 +M:    Jan-Simon Moeller <jansimon.moeller@gmx.de>
 +S:    Maintained
 +F:    drivers/leds/leds-blinkm.c
 +
  BLOCK LAYER
  M:    Jens Axboe <axboe@kernel.dk>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
@@@ -1622,7 -1595,6 +1622,7 @@@ M:      Arend van Spriel <arend@broadcom.com
  M:    Franky (Zhenhui) Lin <frankyl@broadcom.com>
  M:    Kan Yan <kanyan@broadcom.com>
  L:    linux-wireless@vger.kernel.org
 +L:    brcm80211-dev-list@broadcom.com
  S:    Supported
  F:    drivers/net/wireless/brcm80211/
  
@@@ -1674,11 -1646,11 +1674,11 @@@ S:   Maintaine
  F:    drivers/gpio/gpio-bt8xx.c
  
  BTRFS FILE SYSTEM
 -M:    Chris Mason <chris.mason@oracle.com>
 +M:    Chris Mason <chris.mason@fusionio.com>
  L:    linux-btrfs@vger.kernel.org
  W:    http://btrfs.wiki.kernel.org/
  Q:    http://patchwork.kernel.org/project/linux-btrfs/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git
  S:    Maintained
  F:    Documentation/filesystems/btrfs.txt
  F:    fs/btrfs/
@@@ -1828,9 -1800,6 +1828,9 @@@ F:      include/linux/cfag12864b.
  CFG80211 and NL80211
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linux-wireless@vger.kernel.org
 +W:    http://wireless.kernel.org/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  S:    Maintained
  F:    include/linux/nl80211.h
  F:    include/net/cfg80211.h
@@@ -2737,14 -2706,6 +2737,14 @@@ M:    Mimi Zohar <zohar@us.ibm.com
  S:    Supported
  F:    security/integrity/evm/
  
 +EXTERNAL CONNECTOR SUBSYSTEM (EXTCON)
 +M:    MyungJoo Ham <myungjoo.ham@samsung.com>
 +M:    Chanwoo Choi <cw00.choi@samsung.com>
 +L:    linux-kernel@vger.kernel.org
 +S:    Maintained
 +F:    drivers/extcon/
 +F:    Documentation/extcon/
 +
  EXYNOS DP DRIVER
  M:    Jingoo Han <jg1.han@samsung.com>
  L:    linux-fbdev@vger.kernel.org
@@@ -3469,14 -3430,13 +3469,14 @@@ S:   Supporte
  F:    drivers/idle/i7300_idle.c
  
  IEEE 802.15.4 SUBSYSTEM
 +M:    Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
  M:    Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
 -M:    Sergey Lapin <slapin@ossfans.org>
  L:    linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
  W:    http://apps.sourceforge.net/trac/linux-zigbee
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
  S:    Maintained
  F:    net/ieee802154/
 +F:    net/mac802154/
  F:    drivers/ieee802154/
  
  IIO SUBSYSTEM AND DRIVERS
@@@ -3697,6 -3657,14 +3697,6 @@@ T:     git git://git.kernel.org/pub/scm/lin
  S:    Supported
  F:    drivers/net/wireless/iwlwifi/
  
 -INTEL WIRELESS MULTICOMM 3200 WIFI (iwmc3200wifi)
 -M:    Samuel Ortiz <samuel.ortiz@intel.com>
 -M:    Intel Linux Wireless <ilw@linux.intel.com>
 -L:    linux-wireless@vger.kernel.org
 -S:    Supported
 -W:    http://wireless.kernel.org/en/users/Drivers/iwmc3200wifi
 -F:    drivers/net/wireless/iwmc3200wifi/
 -
  INTEL MANAGEMENT ENGINE (mei)
  M:    Tomas Winkler <tomas.winkler@intel.com>
  L:    linux-kernel@vger.kernel.org
@@@ -4019,8 -3987,8 +4019,8 @@@ F:      arch/ia64/include/asm/kvm
  F:    arch/ia64/kvm/
  
  KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
 -M:    Carsten Otte <cotte@de.ibm.com>
  M:    Christian Borntraeger <borntraeger@de.ibm.com>
 +M:    Cornelia Huck <cornelia.huck@de.ibm.com>
  M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -4380,9 -4348,8 +4380,9 @@@ F:      arch/m68k/hp300
  MAC80211
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git
 +W:    http://wireless.kernel.org/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  S:    Maintained
  F:    Documentation/networking/mac80211-injection.txt
  F:    include/net/mac80211.h
@@@ -4392,9 -4359,8 +4392,9 @@@ MAC80211 PID RATE CONTRO
  M:    Stefano Brivio <stefano.brivio@polimi.it>
  M:    Mattias Nissler <mattias.nissler@gmx.de>
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/PID
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git
 +W:    http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/PID
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  S:    Maintained
  F:    net/mac80211/rc80211_pid*
  
@@@ -4621,6 -4587,7 +4621,6 @@@ S:      Maintaine
  F:    drivers/usb/musb/
  
  MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
 -M:    Jon Mason <mason@myri.com>
  M:    Andrew Gallatin <gallatin@myri.com>
  L:    netdev@vger.kernel.org
  W:    http://www.myri.com/scs/download-Myri10GE.html
@@@ -4665,6 -4632,8 +4665,6 @@@ F:      net/sched/sch_netem.
  NETERION 10GbE DRIVERS (s2io/vxge)
  M:    Jon Mason <jdmason@kudzu.us>
  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
  S:    Supported
  F:    Documentation/networking/s2io.txt
  F:    Documentation/networking/vxge.txt
@@@ -4680,8 -4649,8 +4680,8 @@@ L:      netfilter@vger.kernel.or
  L:    coreteam@netfilter.org
  W:    http://www.netfilter.org/
  W:    http://www.iptables.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-2.6.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next-2.6.git
 +T:    git git://1984.lsi.us.es/nf
 +T:    git git://1984.lsi.us.es/nf-next
  S:    Supported
  F:    include/linux/netfilter*
  F:    include/linux/netfilter/
@@@ -4883,7 -4852,6 +4883,7 @@@ M:      Kevin Hilman <khilman@ti.com
  L:    linux-omap@vger.kernel.org
  S:    Maintained
  F:    arch/arm/*omap*/*pm*
 +F:    drivers/cpufreq/omap-cpufreq.c
  
  OMAP POWERDOMAIN/CLOCKDOMAIN SOC ADAPTATION LAYER SUPPORT
  M:    Rajendra Nayak <rnayak@ti.com>
@@@ -4970,13 -4938,6 +4970,13 @@@ S:    Maintaine
  F:    drivers/usb/*/*omap*
  F:    arch/arm/*omap*/usb*
  
 +OMAP GPIO DRIVER
 +M:    Santosh Shilimkar <santosh.shilimkar@ti.com>
 +M:    Kevin Hilman <khilman@ti.com>
 +L:    linux-omap@vger.kernel.org
 +S:    Maintained
 +F:    drivers/gpio/gpio-omap.c
 +
  OMFS FILESYSTEM
  M:    Bob Copeland <me@bobcopeland.com>
  L:    linux-karma-devel@lists.sourceforge.net
@@@ -5082,7 -5043,7 +5082,7 @@@ F:      fs/ocfs2
  
  ORINOCO DRIVER
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/en/users/Drivers/orinoco
 +W:    http://wireless.kernel.org/en/users/Drivers/orinoco
  W:    http://www.nongnu.org/orinoco/
  S:    Orphan
  F:    drivers/net/wireless/orinoco/
@@@ -5234,7 -5195,7 +5234,7 @@@ PCI SUBSYSTE
  M:    Bjorn Helgaas <bhelgaas@google.com>
  L:    linux-pci@vger.kernel.org
  Q:    http://patchwork.ozlabs.org/project/linux-pci/list/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/linux.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
  S:    Supported
  F:    Documentation/PCI/
  F:    drivers/pci/
@@@ -5330,7 -5291,7 +5330,7 @@@ S:      Maintaine
  F:    drivers/pinctrl/
  
  PIN CONTROLLER - ST SPEAR
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
@@@ -5526,6 -5487,18 +5526,18 @@@ S:    Maintaine
  F:    Documentation/video4linux/README.pvrusb2
  F:    drivers/media/video/pvrusb2/
  
+ PWM SUBSYSTEM
+ M:    Thierry Reding <thierry.reding@avionic-design.de>
+ L:    linux-kernel@vger.kernel.org
+ S:    Maintained
+ W:    http://gitorious.org/linux-pwm
+ T:    git git://gitorious.org/linux-pwm/linux-pwm.git
+ F:    Documentation/pwm.txt
+ F:    Documentation/devicetree/bindings/pwm/
+ F:    include/linux/pwm.h
+ F:    include/linux/of_pwm.h
+ F:    drivers/pwm/
  PXA2xx/PXA3xx SUPPORT
  M:    Eric Miao <eric.y.miao@gmail.com>
  M:    Russell King <linux@arm.linux.org.uk>
@@@ -5597,7 -5570,7 +5609,7 @@@ F:      Documentation/networking/LICENSE.qla
  F:    drivers/net/ethernet/qlogic/qla3xxx.*
  
  QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
 -M:    Anirban Chakraborty <anirban.chakraborty@qlogic.com>
 +M:    Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
  M:    Sony Chacko <sony.chacko@qlogic.com>
  M:    linux-driver@qlogic.com
  L:    netdev@vger.kernel.org
@@@ -5605,6 -5578,7 +5617,6 @@@ S:      Supporte
  F:    drivers/net/ethernet/qlogic/qlcnic/
  
  QLOGIC QLGE 10Gb ETHERNET DRIVER
 -M:    Anirban Chakraborty <anirban.chakraborty@qlogic.com>
  M:    Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
  M:    Ron Mercer <ron.mercer@qlogic.com>
  M:    linux-driver@qlogic.com
@@@ -5741,7 -5715,6 +5753,7 @@@ F:      include/linux/regmap.
  
  REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
  M:    Ohad Ben-Cohen <ohad@wizery.com>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc.git
  S:    Maintained
  F:    drivers/remoteproc/
  F:    Documentation/remoteproc.txt
@@@ -5750,9 -5723,6 +5762,9 @@@ F:      include/linux/remoteproc.
  RFKILL
  M:    Johannes Berg <johannes@sipsolutions.net>
  L:    linux-wireless@vger.kernel.org
 +W:    http://wireless.kernel.org/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
  S:    Maintained
  F:    Documentation/rfkill.txt
  F:    net/rfkill/
@@@ -5787,7 -5757,7 +5799,7 @@@ F:      net/rose
  RTL8180 WIRELESS DRIVER
  M:    "John W. Linville" <linville@tuxdriver.com>
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/
 +W:    http://wireless.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  S:    Maintained
  F:    drivers/net/wireless/rtl818x/rtl8180/
@@@ -5797,7 -5767,7 +5809,7 @@@ M:      Herton Ronaldo Krzesinski <herton@ca
  M:    Hin-Tak Leung <htl10@users.sourceforge.net>
  M:    Larry Finger <Larry.Finger@lwfinger.net>
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/
 +W:    http://wireless.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  S:    Maintained
  F:    drivers/net/wireless/rtl818x/rtl8187/
@@@ -5806,7 -5776,7 +5818,7 @@@ RTL8192CE WIRELESS DRIVE
  M:    Larry Finger <Larry.Finger@lwfinger.net>
  M:    Chaoming Li <chaoming_li@realsil.com.cn>
  L:    linux-wireless@vger.kernel.org
 -W:    http://linuxwireless.org/
 +W:    http://wireless.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
  S:    Maintained
  F:    drivers/net/wireless/rtlwifi/
@@@ -5907,7 -5877,7 +5919,7 @@@ S:      Maintaine
  F:    drivers/tty/serial
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  S:    Maintained
  F:    include/linux/dw_dmac.h
  F:    drivers/dma/dw_dmac_regs.h
@@@ -5943,7 -5913,7 +5955,7 @@@ M:      Ingo Molnar <mingo@redhat.com
  M:    Peter Zijlstra <peterz@infradead.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
  S:    Maintained
 -F:    kernel/sched*
 +F:    kernel/sched/
  F:    include/linux/sched.h
  
  SCORE ARCHITECTURE
@@@ -6055,7 -6025,7 +6067,7 @@@ S:      Maintaine
  F:    drivers/mmc/host/sdhci-s3c.c
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  L:    spear-devel@list.st.com
  L:    linux-mmc@vger.kernel.org
  S:    Maintained
@@@ -6245,15 -6215,6 +6257,15 @@@ T:    git git://git.kernel.org/pub/scm/lin
  F:    include/linux/srcu*
  F:    kernel/srcu*
  
 +SMACK SECURITY MODULE
 +M:    Casey Schaufler <casey@schaufler-ca.com>
 +L:    linux-security-module@vger.kernel.org
 +W:    http://schaufler-ca.com
 +T:    git git://git.gitorious.org/smack-next/kernel.git
 +S:    Maintained
 +F:    Documentation/security/Smack.txt
 +F:    security/smack/
 +
  SMC91x ETHERNET DRIVER
  M:    Nicolas Pitre <nico@fluxnic.net>
  S:    Odd Fixes
@@@ -6267,9 -6228,9 +6279,9 @@@ F:      Documentation/hwmon/smm66
  F:    drivers/hwmon/smm665.c
  
  SMSC EMC2103 HARDWARE MONITOR DRIVER
 -M:    Steve Glendinning <steve.glendinning@smsc.com>
 +M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    lm-sensors@lm-sensors.org
 -S:    Supported
 +S:    Maintained
  F:    Documentation/hwmon/emc2103
  F:    drivers/hwmon/emc2103.c
  
@@@ -6288,22 -6249,22 +6300,22 @@@ F:   Documentation/hwmon/smsc47b39
  F:    drivers/hwmon/smsc47b397.c
  
  SMSC911x ETHERNET DRIVER
 -M:    Steve Glendinning <steve.glendinning@smsc.com>
 +M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    netdev@vger.kernel.org
 -S:    Supported
 +S:    Maintained
  F:    include/linux/smsc911x.h
  F:    drivers/net/ethernet/smsc/smsc911x.*
  
  SMSC9420 PCI ETHERNET DRIVER
 -M:    Steve Glendinning <steve.glendinning@smsc.com>
 +M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    netdev@vger.kernel.org
 -S:    Supported
 +S:    Maintained
  F:    drivers/net/ethernet/smsc/smsc9420.*
  
  SMSC UFX6000 and UFX7000 USB to VGA DRIVER
 -M:    Steve Glendinning <steve.glendinning@smsc.com>
 +M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    linux-fbdev@vger.kernel.org
 -S:    Supported
 +S:    Maintained
  F:    drivers/video/smscufx.c
  
  SN-IA64 (Itanium) SUB-PLATFORM
@@@ -6420,7 -6381,7 +6432,7 @@@ S:      Maintaine
  F:    include/linux/compiler.h
  
  SPEAR PLATFORM SUPPORT
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  M:    Shiraz Hashim <shiraz.hashim@st.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -6429,7 -6390,7 +6441,7 @@@ S:      Maintaine
  F:    arch/arm/plat-spear/
  
  SPEAR13XX MACHINE SUPPORT
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  M:    Shiraz Hashim <shiraz.hashim@st.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -6438,7 -6399,7 +6450,7 @@@ S:      Maintaine
  F:    arch/arm/mach-spear13xx/
  
  SPEAR3XX MACHINE SUPPORT
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  M:    Shiraz Hashim <shiraz.hashim@st.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -6449,7 -6410,7 +6461,7 @@@ F:      arch/arm/mach-spear3xx
  SPEAR6XX MACHINE SUPPORT
  M:    Rajeev Kumar <rajeev-dlh.kumar@st.com>
  M:    Shiraz Hashim <shiraz.hashim@st.com>
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
@@@ -6457,7 -6418,7 +6469,7 @@@ S:      Maintaine
  F:    arch/arm/mach-spear6xx/
  
  SPEAR CLOCK FRAMEWORK SUPPORT
 -M:    Viresh Kumar <viresh.kumar@st.com>
 +M:     Viresh Kumar <viresh.linux@gmail.com>
  L:    spear-devel@list.st.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
@@@ -6790,11 -6751,9 +6802,11 @@@ F:    include/linux/tifm.
  
  TI LM49xxx FAMILY ASoC CODEC DRIVERS
  M:    M R Swami Reddy <mr.swami.reddy@ti.com>
 +M:    Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Maintained
  F:    sound/soc/codecs/lm49453*
 +F:    sound/soc/codecs/isabelle*
  
  TI TWL4030 SERIES SOC CODEC DRIVER
  M:    Peter Ujfalusi <peter.ujfalusi@ti.com>
@@@ -6888,11 -6847,10 +6900,11 @@@ F:   include/linux/shmem_fs.
  F:    mm/shmem.c
  
  TPM DEVICE DRIVER
 -M:    Debora Velarde <debora@linux.vnet.ibm.com>
 -M:    Rajiv Andrade <srajiv@linux.vnet.ibm.com>
 +M:    Kent Yoder <key@linux.vnet.ibm.com>
 +M:    Rajiv Andrade <mail@srajiv.net>
  W:    http://tpmdd.sourceforge.net
 -M:    Marcel Selhorst <m.selhorst@sirrix.com>
 +M:    Marcel Selhorst <tpmdd@selhorst.net>
 +M:    Sirrix AG <tpmdd@sirrix.com>
  W:    http://www.sirrix.com
  L:    tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
  S:    Maintained
@@@ -6992,13 -6950,6 +7004,13 @@@ S:    Maintaine
  F:    Documentation/filesystems/ufs.txt
  F:    fs/ufs/
  
 +UHID USERSPACE HID IO DRIVER:
 +M:    David Herrmann <dh.herrmann@googlemail.com>
 +L:    linux-input@vger.kernel.org
 +S:    Maintained
 +F:    drivers/hid/uhid.c
 +F:    include/linux/uhid.h
 +
  ULTRA-WIDEBAND (UWB) SUBSYSTEM:
  L:    linux-usb@vger.kernel.org
  S:    Orphan
@@@ -7259,9 -7210,9 +7271,9 @@@ S:      Supporte
  F:    drivers/usb/serial/whiteheat*
  
  USB SMSC95XX ETHERNET DRIVER
 -M:    Steve Glendinning <steve.glendinning@smsc.com>
 +M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    netdev@vger.kernel.org
 -S:    Supported
 +S:    Maintained
  F:    drivers/net/usb/smsc95xx.*
  
  USB SN9C1xx DRIVER
@@@ -7474,7 -7425,7 +7486,7 @@@ F:      include/linux/vlynq.
  
  VME SUBSYSTEM
  M:    Martyn Welch <martyn.welch@ge.com>
 -M:    Manohar Vanga <manohar.vanga@cern.ch>
 +M:    Manohar Vanga <manohar.vanga@gmail.com>
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    devel@driverdev.osuosl.org
  S:    Maintained
@@@ -7630,9 -7581,7 +7642,9 @@@ W:      http://opensource.wolfsonmicro.com/c
  S:    Supported
  F:    Documentation/hwmon/wm83??
  F:    arch/arm/mach-s3c64xx/mach-crag6410*
 +F:    drivers/clk/clk-wm83*.c
  F:    drivers/leds/leds-wm83*.c
 +F:    drivers/gpio/gpio-*wm*.c
  F:    drivers/hwmon/wm83??-hwmon.c
  F:    drivers/input/misc/wm831x-on.c
  F:    drivers/input/touchscreen/wm831x-ts.c
diff --combined arch/arm/Kconfig
index fbdd8533c05daeda38181127c077cd62430972ef,8da8f82f6fe346b9c96bc7e6eeb69f2d222a8134..6b86bb963a28a021f2d7e05c58f2677ed4a08c7b
@@@ -45,9 -45,6 +45,9 @@@ config AR
        select GENERIC_SMP_IDLE_THREAD
        select KTIME_SCALAR
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 +      select GENERIC_STRNCPY_FROM_USER
 +      select GENERIC_STRNLEN_USER
 +      select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN
        help
          The ARM series is a line of low-power-consumption RISC chip designs
          licensed by ARM Ltd and targeted at embedded applications and
@@@ -253,31 -250,12 +253,31 @@@ choic
        prompt "ARM system type"
        default ARCH_VERSATILE
  
 +config ARCH_SOCFPGA
 +      bool "Altera SOCFPGA family"
 +      select ARCH_WANT_OPTIONAL_GPIOLIB
 +      select ARM_AMBA
 +      select ARM_GIC
 +      select CACHE_L2X0
 +      select CLKDEV_LOOKUP
 +      select COMMON_CLK
 +      select CPU_V7
 +      select DW_APB_TIMER
 +      select DW_APB_TIMER_OF
 +      select GENERIC_CLOCKEVENTS
 +      select GPIO_PL061 if GPIOLIB
 +      select HAVE_ARM_SCU
 +      select SPARSE_IRQ
 +      select USE_OF
 +      help
 +        This enables support for Altera SOCFPGA Cyclone V platform
 +
  config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
        select ARCH_HAS_CPUFREQ
 -      select CLKDEV_LOOKUP
 -      select HAVE_MACH_CLKDEV
 +      select COMMON_CLK
 +      select CLK_VERSATILE
        select HAVE_TCM
        select ICST
        select GENERIC_CLOCKEVENTS
@@@ -299,7 -277,6 +299,7 @@@ config ARCH_REALVIE
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select PLAT_VERSATILE
 +      select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        select ARM_TIMER_SP804
        select GPIO_PL061 if GPIOLIB
@@@ -316,9 -293,7 +316,9 @@@ config ARCH_VERSATIL
        select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
 +      select NEED_MACH_IO_H if PCI
        select PLAT_VERSATILE
 +      select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        select PLAT_VERSATILE_FPGA_IRQ
        select ARM_TIMER_SP804
@@@ -331,7 -306,7 +331,7 @@@ config ARCH_VEXPRES
        select ARM_AMBA
        select ARM_TIMER_SP804
        select CLKDEV_LOOKUP
 -      select HAVE_MACH_CLKDEV
 +      select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select HAVE_CLK
        select HAVE_PATA_PLATFORM
        select NO_IOPORT
        select PLAT_VERSATILE
        select PLAT_VERSATILE_CLCD
 +      select REGULATOR_FIXED_VOLTAGE if REGULATOR
        help
          This enables support for the ARM Ltd Versatile Express boards.
  
@@@ -374,7 -348,6 +374,7 @@@ config ARCH_HIGHBAN
        select ARM_TIMER_SP804
        select CACHE_L2X0
        select CLKDEV_LOOKUP
 +      select COMMON_CLK
        select CPU_V7
        select GENERIC_CLOCKEVENTS
        select HAVE_ARM_SCU
@@@ -415,7 -388,6 +415,7 @@@ config ARCH_PRIMA
        bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
        select CPU_V7
        select NO_IOPORT
 +      select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
        select CLKDEV_LOOKUP
        select GENERIC_IRQ_CHIP
@@@ -474,8 -446,6 +474,8 @@@ config ARCH_MX
        select CLKSRC_MMIO
        select GENERIC_IRQ_CHIP
        select MULTI_IRQ_HANDLER
 +      select SPARSE_IRQ
 +      select USE_OF
        help
          Support for Freescale MXC/iMX-based family of processors
  
@@@ -562,18 -532,6 +562,18 @@@ config ARCH_IXP4X
        help
          Support for Intel's IXP4XX (XScale) family of processors.
  
 +config ARCH_MVEBU
 +      bool "Marvell SOCs with Device Tree support"
 +      select GENERIC_CLOCKEVENTS
 +      select MULTI_IRQ_HANDLER
 +      select SPARSE_IRQ
 +      select CLKSRC_MMIO
 +      select GENERIC_IRQ_CHIP
 +      select IRQ_DOMAIN
 +      select COMMON_CLK
 +      help
 +        Support for the Marvell SoC Family with device tree support
 +
  config ARCH_DOVE
        bool "Marvell Dove"
        select CPU_V7
@@@ -608,7 -566,6 +608,7 @@@ config ARCH_LPC32X
        select CLKDEV_LOOKUP
        select GENERIC_CLOCKEVENTS
        select USE_OF
 +      select HAVE_PWM
        help
          Support for the NXP LPC32XX family of processors
  
@@@ -631,7 -588,6 +631,7 @@@ config ARCH_ORION5
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 +      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell Orion 5x series SoCs:
@@@ -689,7 -645,6 +689,7 @@@ config ARCH_TEGR
        select MIGHT_HAVE_CACHE_L2X0
        select NEED_MACH_IO_H if PCI
        select ARCH_HAS_CPUFREQ
 +      select USE_OF
        help
          This enables support for NVIDIA Tegra based systems (Tegra APX,
          Tegra 6xx and Tegra 2 series).
@@@ -701,7 -656,6 +701,7 @@@ config ARCH_PICOXCEL
        select ARM_VIC
        select CPU_V6K
        select DW_APB_TIMER
 +      select DW_APB_TIMER_OF
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
        select HAVE_TCM
@@@ -932,7 -886,7 +932,7 @@@ config ARCH_U30
        select ARM_VIC
        select GENERIC_CLOCKEVENTS
        select CLKDEV_LOOKUP
 -      select HAVE_MACH_CLKDEV
 +      select COMMON_CLK
        select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
        help
@@@ -957,7 -911,7 +957,7 @@@ config ARCH_NOMADI
        select ARM_AMBA
        select ARM_VIC
        select CPU_ARM926T
 -      select CLKDEV_LOOKUP
 +      select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select PINCTRL
        select MIGHT_HAVE_CACHE_L2X0
@@@ -980,7 -934,6 +980,7 @@@ config ARCH_DAVINC
  
  config ARCH_OMAP
        bool "TI OMAP"
 +      depends on MMU
        select HAVE_CLK
        select ARCH_REQUIRE_GPIOLIB
        select ARCH_HAS_CPUFREQ
@@@ -1009,7 -962,6 +1009,6 @@@ config ARCH_VT850
        select ARCH_HAS_CPUFREQ
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
-       select HAVE_PWM
        help
          Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
  
@@@ -1032,8 -984,6 +1031,8 @@@ endchoic
  # Kconfigs may be included either alphabetically (according to the
  # plat- suffix) or along side the corresponding mach-* source.
  #
 +source "arch/arm/mach-mvebu/Kconfig"
 +
  source "arch/arm/mach-at91/Kconfig"
  
  source "arch/arm/mach-bcmring/Kconfig"
@@@ -1068,6 -1018,8 +1067,6 @@@ source "arch/arm/mach-kirkwood/Kconfig
  
  source "arch/arm/mach-ks8695/Kconfig"
  
 -source "arch/arm/mach-lpc32xx/Kconfig"
 -
  source "arch/arm/mach-msm/Kconfig"
  
  source "arch/arm/mach-mv78xx0/Kconfig"
@@@ -1626,7 -1578,6 +1625,7 @@@ config ARCH_NR_GPI
        default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
        default 355 if ARCH_U8500
        default 264 if MACH_H4700
 +      default 512 if SOC_OMAP5
        default 0
        help
          Maximum number of GPIOs in the system.
@@@ -2007,25 -1958,6 +2006,25 @@@ config ARM_ATAG_DTB_COMPA
          bootloaders, this option allows zImage to extract the information
          from the ATAG list and store it at run time into the appended DTB.
  
 +choice
 +      prompt "Kernel command line type" if ARM_ATAG_DTB_COMPAT
 +      default ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER
 +
 +config ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER
 +      bool "Use bootloader kernel arguments if available"
 +      help
 +        Uses the command-line options passed by the boot loader instead of
 +        the device tree bootargs property. If the boot loader doesn't provide
 +        any, the device tree bootargs property will be used.
 +
 +config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND
 +      bool "Extend with bootloader kernel arguments"
 +      help
 +        The command-line arguments provided by the boot loader will be
 +        appended to the the device tree bootargs property.
 +
 +endchoice
 +
  config CMDLINE
        string "Default kernel command string"
        default ""
index 9f1921634eb7b8ab19c671fc2de17f0d44a50fc4,846af573f64920f753857ab5b46372d0e2f912af..405d1673904e53805a11551693446b55cfa1831c
@@@ -72,7 -72,7 +72,7 @@@
                reg = <0x70002800 0x200>;
                interrupts = <0 13 0x04>;
                nvidia,dma-request-selector = <&apbdma 2>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        tegra_i2s2: i2s@70002a00 {
@@@ -80,7 -80,7 +80,7 @@@
                reg = <0x70002a00 0x200>;
                interrupts = <0 3 0x04>;
                nvidia,dma-request-selector = <&apbdma 1>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006000 {
@@@ -88,7 -88,7 +88,7 @@@
                reg = <0x70006000 0x40>;
                reg-shift = <2>;
                interrupts = <0 36 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006040 {
@@@ -96,7 -96,7 +96,7 @@@
                reg = <0x70006040 0x40>;
                reg-shift = <2>;
                interrupts = <0 37 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006200 {
                reg = <0x70006200 0x100>;
                reg-shift = <2>;
                interrupts = <0 46 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006300 {
                reg = <0x70006300 0x100>;
                reg-shift = <2>;
                interrupts = <0 90 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006400 {
                reg = <0x70006400 0x100>;
                reg-shift = <2>;
                interrupts = <0 91 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
+       pwm {
+               compatible = "nvidia,tegra20-pwm";
+               reg = <0x7000a000 0x100>;
+               #pwm-cells = <2>;
+       };
        i2c@7000c000 {
                compatible = "nvidia,tegra20-i2c";
                reg = <0x7000c000 0x100>;
                interrupts = <0 38 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000c400 {
                interrupts = <0 84 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000c500 {
                interrupts = <0 92 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000d000 {
                interrupts = <0 53 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        pmc {
                reg = <0x7000e400 0x400>;
        };
  
 -      mc {
 +      memory-controller@0x7000f000 {
                compatible = "nvidia,tegra20-mc";
                reg = <0x7000f000 0x024
                       0x7000f03c 0x3c4>;
                       0x58000000 0x02000000>;  /* GART aperture */
        };
  
 -      emc {
 +      memory-controller@0x7000f400 {
                compatible = "nvidia,tegra20-emc";
                reg = <0x7000f400 0x200>;
                #address-cells = <1>;
                interrupts = <0 20 0x04>;
                phy_type = "utmi";
                nvidia,has-legacy-mode;
 -              status = "disable";
 +              status = "disabled";
        };
  
        usb@c5004000 {
                reg = <0xc5004000 0x4000>;
                interrupts = <0 21 0x04>;
                phy_type = "ulpi";
 -              status = "disable";
 +              status = "disabled";
        };
  
        usb@c5008000 {
                reg = <0xc5008000 0x4000>;
                interrupts = <0 97 0x04>;
                phy_type = "utmi";
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@c8000000 {
                compatible = "nvidia,tegra20-sdhci";
                reg = <0xc8000000 0x200>;
                interrupts = <0 14 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@c8000200 {
                compatible = "nvidia,tegra20-sdhci";
                reg = <0xc8000200 0x200>;
                interrupts = <0 15 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@c8000400 {
                compatible = "nvidia,tegra20-sdhci";
                reg = <0xc8000400 0x200>;
                interrupts = <0 19 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@c8000600 {
                compatible = "nvidia,tegra20-sdhci";
                reg = <0xc8000600 0x200>;
                interrupts = <0 31 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        pmu {
index da740191771f8493f1734636a88244869be5abff,f7f428e81e3a475889b5713255470a662d97eecd..3e4334d14efb4d70bdd88e46c44dc4b6af1e7cf2
@@@ -82,7 -82,7 +82,7 @@@
                reg = <0x70006000 0x40>;
                reg-shift = <2>;
                interrupts = <0 36 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006040 {
@@@ -90,7 -90,7 +90,7 @@@
                reg = <0x70006040 0x40>;
                reg-shift = <2>;
                interrupts = <0 37 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006200 {
@@@ -98,7 -98,7 +98,7 @@@
                reg = <0x70006200 0x100>;
                reg-shift = <2>;
                interrupts = <0 46 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006300 {
                reg = <0x70006300 0x100>;
                reg-shift = <2>;
                interrupts = <0 90 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        serial@70006400 {
                reg = <0x70006400 0x100>;
                reg-shift = <2>;
                interrupts = <0 91 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
+       pwm {
+               compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
+               reg = <0x7000a000 0x100>;
+               #pwm-cells = <2>;
+       };
        i2c@7000c000 {
                compatible =  "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
                reg = <0x7000c000 0x100>;
                interrupts = <0 38 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000c400 {
                interrupts = <0 84 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000c500 {
                interrupts = <0 92 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000c700 {
                interrupts = <0 120 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        i2c@7000d000 {
                interrupts = <0 53 0x04>;
                #address-cells = <1>;
                #size-cells = <0>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        pmc {
                reg = <0x7000e400 0x400>;
        };
  
 -      mc {
 +      memory-controller {
                compatible = "nvidia,tegra30-mc";
                reg = <0x7000f000 0x010
                       0x7000f03c 0x1b4
                        compatible = "nvidia,tegra30-i2s";
                        reg = <0x70080300 0x100>;
                        nvidia,ahub-cif-ids = <4 4>;
 -                      status = "disable";
 +                      status = "disabled";
                };
  
                tegra_i2s1: i2s@70080400 {
                        compatible = "nvidia,tegra30-i2s";
                        reg = <0x70080400 0x100>;
                        nvidia,ahub-cif-ids = <5 5>;
 -                      status = "disable";
 +                      status = "disabled";
                };
  
                tegra_i2s2: i2s@70080500 {
                        compatible = "nvidia,tegra30-i2s";
                        reg = <0x70080500 0x100>;
                        nvidia,ahub-cif-ids = <6 6>;
 -                      status = "disable";
 +                      status = "disabled";
                };
  
                tegra_i2s3: i2s@70080600 {
                        compatible = "nvidia,tegra30-i2s";
                        reg = <0x70080600 0x100>;
                        nvidia,ahub-cif-ids = <7 7>;
 -                      status = "disable";
 +                      status = "disabled";
                };
  
                tegra_i2s4: i2s@70080700 {
                        compatible = "nvidia,tegra30-i2s";
                        reg = <0x70080700 0x100>;
                        nvidia,ahub-cif-ids = <8 8>;
 -                      status = "disable";
 +                      status = "disabled";
                };
        };
  
                compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
                reg = <0x78000000 0x200>;
                interrupts = <0 14 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@78000200 {
                compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
                reg = <0x78000200 0x200>;
                interrupts = <0 15 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@78000400 {
                compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
                reg = <0x78000400 0x200>;
                interrupts = <0 19 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        sdhci@78000600 {
                compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
                reg = <0x78000600 0x200>;
                interrupts = <0 31 0x04>;
 -              status = "disable";
 +              status = "disabled";
        };
  
        pmu {
index d0de9c1192f78eae03b70a8c9d0c7b72e4bc4d0c,962f1a1b12e9b97b437551a2e090164eceafc02d..c0999633a9ab24054a2c5e2cc9d526c020320b8c
@@@ -64,7 -64,7 +64,8 @@@ struct of_dev_auxdata tegra20_auxdata_l
                       &tegra_ehci2_pdata),
        OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB3_BASE, "tegra-ehci.2",
                       &tegra_ehci3_pdata),
-       OF_DEV_AUXDATA("nvidia,tegra20-apbdma", 0x6000a000, "tegra-apbdma", NULL),
++      OF_DEV_AUXDATA("nvidia,tegra20-apbdma", TEGRA_APB_DMA_BASE, "tegra-apbdma", NULL),
+       OF_DEV_AUXDATA("nvidia,tegra20-pwm", TEGRA_PWFM_BASE, "tegra-pwm", NULL),
        {}
  };
  
@@@ -82,6 -82,11 +83,6 @@@ static __initdata struct tegra_clk_init
        { NULL,         NULL,           0,              0},
  };
  
 -static struct of_device_id tegra_dt_match_table[] __initdata = {
 -      { .compatible = "simple-bus", },
 -      {}
 -};
 -
  static void __init tegra_dt_init(void)
  {
        tegra_clk_init_from_table(tegra_dt_clk_init_table);
         * Finished with the static registrations now; fill in the missing
         * devices
         */
 -      of_platform_populate(NULL, tegra_dt_match_table,
 +      of_platform_populate(NULL, of_default_bus_match_table,
                                tegra20_auxdata_lookup, NULL);
  }
  
 +#ifdef CONFIG_MACH_TRIMSLICE
 +static void __init trimslice_init(void)
 +{
 +      int ret;
 +
 +      ret = tegra_pcie_init(true, true);
 +      if (ret)
 +              pr_err("tegra_pci_init() failed: %d\n", ret);
 +}
 +#endif
 +
 +#ifdef CONFIG_MACH_HARMONY
 +static void __init harmony_init(void)
 +{
 +      int ret;
 +
 +      ret = harmony_regulator_init();
 +      if (ret) {
 +              pr_err("harmony_regulator_init() failed: %d\n", ret);
 +              return;
 +      }
 +
 +      ret = harmony_pcie_init();
 +      if (ret)
 +              pr_err("harmony_pcie_init() failed: %d\n", ret);
 +}
 +#endif
 +
 +#ifdef CONFIG_MACH_PAZ00
 +static void __init paz00_init(void)
 +{
 +      tegra_paz00_wifikill_init();
 +}
 +#endif
 +
 +static struct {
 +      char *machine;
 +      void (*init)(void);
 +} board_init_funcs[] = {
 +#ifdef CONFIG_MACH_TRIMSLICE
 +      { "compulab,trimslice", trimslice_init },
 +#endif
 +#ifdef CONFIG_MACH_HARMONY
 +      { "nvidia,harmony", harmony_init },
 +#endif
 +#ifdef CONFIG_MACH_PAZ00
 +      { "compal,paz00", paz00_init },
 +#endif
 +};
 +
 +static void __init tegra_dt_init_late(void)
 +{
 +      int i;
 +
 +      tegra_init_late();
 +
 +      for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) {
 +              if (of_machine_is_compatible(board_init_funcs[i].machine)) {
 +                      board_init_funcs[i].init();
 +                      break;
 +              }
 +      }
 +}
 +
  static const char *tegra20_dt_board_compat[] = {
        "nvidia,tegra20",
        NULL
@@@ -170,7 -111,7 +171,7 @@@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegr
        .handle_irq     = gic_handle_irq,
        .timer          = &tegra_timer,
        .init_machine   = tegra_dt_init,
 -      .init_late      = tegra_init_late,
 +      .init_late      = tegra_dt_init_late,
        .restart        = tegra_assert_system_reset,
        .dt_compat      = tegra20_dt_board_compat,
  MACHINE_END
index ee48214bfd898ea86f2084dba182e85df96bbc58,ffc6cae3eb2cb23c3cf6c645716cebd60193e321..53bf60f1158044bf6ce12a3d05972f02b17bdfb1
  #include <asm/mach/arch.h>
  #include <asm/hardware/gic.h>
  
+ #include <mach/iomap.h>
  #include "board.h"
  #include "clock.h"
  
 -static struct of_device_id tegra_dt_match_table[] __initdata = {
 -      { .compatible = "simple-bus", },
 -      {}
 -};
 -
  struct of_dev_auxdata tegra30_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000000, "sdhci-tegra.0", NULL),
        OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000200, "sdhci-tegra.1", NULL),
@@@ -47,7 -54,7 +49,8 @@@
        OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C700, "tegra-i2c.3", NULL),
        OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000D000, "tegra-i2c.4", NULL),
        OF_DEV_AUXDATA("nvidia,tegra30-ahub", 0x70080000, "tegra30-ahub", NULL),
 +      OF_DEV_AUXDATA("nvidia,tegra30-apbdma", 0x6000a000, "tegra-apbdma", NULL),
+       OF_DEV_AUXDATA("nvidia,tegra30-pwm", TEGRA_PWFM_BASE, "tegra-pwm", NULL),
        {}
  };
  
@@@ -70,7 -77,7 +73,7 @@@ static void __init tegra30_dt_init(void
  {
        tegra_clk_init_from_table(tegra_dt_clk_init_table);
  
 -      of_platform_populate(NULL, tegra_dt_match_table,
 +      of_platform_populate(NULL, of_default_bus_match_table,
                                tegra30_auxdata_lookup, NULL);
  }
  
index 54e69973f39b7344ca0e7ccdb01b2a1be696c907,8df9e4abab6dcc84a0323abad5a566dc9c2a2e55..7ce51767c99c3843091a86fc06b1660b84fd9f3a
@@@ -1,9 -1,7 +1,7 @@@
 -obj-y += devices.o gpio.o irq.o timer.o
 +obj-y += devices.o gpio.o irq.o timer.o restart.o
  
  obj-$(CONFIG_VTWM_VERSION_VT8500) += devices-vt8500.o
  obj-$(CONFIG_VTWM_VERSION_WM8505) += devices-wm8505.o
  
  obj-$(CONFIG_MACH_BV07) += bv07.o
  obj-$(CONFIG_MACH_WM8505_7IN_NETBOOK) += wm8505_7in.o
- obj-$(CONFIG_HAVE_PWM) += pwm.o
index 63b064b5c1d55148c1c5fa226a6173aafbb3a23f,46ba8de2fe4ee2c2c7820552c4eab05cb1021431..6ac72003115088fbade50e658ae438b18c0a1610
@@@ -11,12 -11,10 +11,11 @@@ obj-$(CONFIG_MXC_AVIC) += avic.
  obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
  obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
  obj-$(CONFIG_IRAM_ALLOC) += iram_alloc.o
- obj-$(CONFIG_MXC_PWM)  += pwm.o
  obj-$(CONFIG_MXC_ULPI) += ulpi.o
  obj-$(CONFIG_MXC_USE_EPIT) += epit.o
  obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
  obj-$(CONFIG_CPU_FREQ_IMX)    += cpufreq.o
 +obj-$(CONFIG_CPU_IDLE) += cpuidle.o
  ifdef CONFIG_SND_IMX_SOC
  obj-y += ssi-fiq.o
  obj-y += ssi-fiq-ksym.o
index b78717496677fae8e17ba77392785aeea90e9ffd,96854721319c72a8ef79836c56c1bf74a9b8a7aa..9e40e8d007404b9f9533c56ad9ebc626c9870116
@@@ -15,8 -15,8 +15,8 @@@ obj-y                         += init.o cpu.
  obj-$(CONFIG_ARCH_USES_GETTIMEOFFSET)   += time.o
  obj-$(CONFIG_S5P_HRT)                 += s5p-time.o
  
 -obj-y                         += clock.o
 -obj-y                         += pwm-clock.o
 +obj-$(CONFIG_SAMSUNG_CLOCK)   += clock.o
 +obj-$(CONFIG_SAMSUNG_CLOCK)   += pwm-clock.o
  
  obj-$(CONFIG_SAMSUNG_CLKSRC)  += clock-clksrc.o
  obj-$(CONFIG_S5P_CLOCK)               += s5p-clock.o
@@@ -59,7 -59,7 +59,3 @@@ obj-$(CONFIG_SAMSUNG_WAKEMASK)        += wakeu
  
  obj-$(CONFIG_S5P_PM)          += s5p-pm.o s5p-irq-pm.o
  obj-$(CONFIG_S5P_SLEEP)               += s5p-sleep.o
--
- # PWM support
 -# PD support
--
- obj-$(CONFIG_HAVE_PWM)                += pwm.o
 -obj-$(CONFIG_SAMSUNG_PD)      += pd.o
diff --combined arch/blackfin/Kconfig
index 9b765107e15cf8a17cc4803dfabb1c9ada64b337,3307d2e7368eb687d17cbf24f408ab3dcfe3e205..ec44fc6c34ca3dafaba2d1e3f3ad1575becaf410
@@@ -352,11 -352,6 +352,11 @@@ config MEM_MT48H32M16LFCJ_7
        depends on (BFIN526_EZBRD)
        default y
  
 +config MEM_MT47H64M16
 +      bool
 +      depends on (BFIN609_EZKIT)
 +      default y
 +
  source "arch/blackfin/mach-bf518/Kconfig"
  source "arch/blackfin/mach-bf527/Kconfig"
  source "arch/blackfin/mach-bf533/Kconfig"
@@@ -404,9 -399,8 +404,9 @@@ config ROM_BAS
        hex "Kernel ROM Base"
        depends on ROMKERNEL
        default "0x20040040"
 -      range 0x20000000 0x20400000 if !(BF54x || BF561)
 +      range 0x20000000 0x20400000 if !(BF54x || BF561 || BF60x)
        range 0x20000000 0x30000000 if (BF54x || BF561)
 +      range 0xB0000000 0xC0000000 if (BF60x)
        help
          Make sure your ROM base does not include any file-header
          information that is prepended to the kernel.
@@@ -1002,25 -996,9 +1002,15 @@@ config BFIN_GPTIMER
          To compile this driver as a module, choose M here: the module
          will be called gptimers.
  
- config HAVE_PWM
-       tristate "Enable PWM API support"
-       depends on BFIN_GPTIMERS
-       help
-         Enable support for the Pulse Width Modulation framework (as
-         found in linux/pwm.h).
-         To compile this driver as a module, choose M here: the module
-         will be called pwm.
  choice
        prompt "Uncached DMA region"
        default DMA_UNCACHED_1M
 +config DMA_UNCACHED_32M
 +      bool "Enable 32M DMA region"
 +config DMA_UNCACHED_16M
 +      bool "Enable 16M DMA region"
 +config DMA_UNCACHED_8M
 +      bool "Enable 8M DMA region"
  config DMA_UNCACHED_4M
        bool "Enable 4M DMA region"
  config DMA_UNCACHED_2M
@@@ -1050,7 -1028,7 +1040,7 @@@ config BFIN_EXTMEM_ICACHEABL
  config BFIN_L2_ICACHEABLE
        bool "Enable ICACHE for L2 SRAM"
        depends on BFIN_ICACHE
 -      depends on BF54x || BF561
 +      depends on (BF54x || BF561 || BF60x) && !SMP
        default n
  
  config BFIN_DCACHE
diff --combined drivers/mfd/Kconfig
index 92144ed1ad469d8257eab6636c4d7f8cc4c65180,19c7f38099638ef5ae1197ac2ccf4ba2e99c00ce..4fdc04ef37c2a7956285f5fa9e732b254ce7c68d
@@@ -276,6 -276,7 +276,7 @@@ config TWL6030_PW
        tristate "TWL6030 PWM (Pulse Width Modulator) Support"
        depends on TWL4030_CORE
        select HAVE_PWM
+       depends on !PWM
        default n
        help
          Say yes here if you want support for TWL6030 PWM.
@@@ -286,7 -287,6 +287,7 @@@ config TWL6040_COR
        depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
        select REGMAP_I2C
 +      select IRQ_DOMAIN
        default n
        help
          Say yes here if you want support for Texas Instruments TWL6040 audio
diff --combined drivers/misc/Kconfig
index 154f3ef076313f44008167eb94267239fda7cbaa,731ed8504a649eaeab4db8acd1902d3cb58df7c0..98a442da892a23ae21f19f1ef548b536bac9ede4
@@@ -64,6 -64,7 +64,7 @@@ config AB8500_PW
        bool "AB8500 PWM support"
        depends on AB8500_CORE && ARCH_U8500
        select HAVE_PWM
+       depends on !PWM
        help
          This driver exports functions to enable/disble/config/free Pulse
          Width Modulation in the Analog Baseband Chip AB8500.
@@@ -511,6 -512,7 +512,6 @@@ config USB_SWITCH_FSA948
  source "drivers/misc/c2port/Kconfig"
  source "drivers/misc/eeprom/Kconfig"
  source "drivers/misc/cb710/Kconfig"
 -source "drivers/misc/iwmc3200top/Kconfig"
  source "drivers/misc/ti-st/Kconfig"
  source "drivers/misc/lis3lv02d/Kconfig"
  source "drivers/misc/carma/Kconfig"
index 2979292650d6494a5fddef3f3835da5931f37ec0,4c9c02216351e39f8f6405eaff70b454920a8dd6..cf282763a8dc941ab96554ed1cae855d959199de
@@@ -88,7 -88,7 +88,7 @@@ config LCD_PLATFOR
  
  config LCD_TOSA
        tristate "Sharp SL-6000 LCD Driver"
 -      depends on SPI && MACH_TOSA
 +      depends on I2C && SPI && MACH_TOSA
        help
          If you have an Sharp SL-6000 Zaurus say Y to enable a driver
          for its LCD.
@@@ -245,7 -245,7 +245,7 @@@ config BACKLIGHT_CARILLO_RANC
  
  config BACKLIGHT_PWM
        tristate "Generic PWM based Backlight Driver"
-       depends on HAVE_PWM
+       depends on PWM
        help
          If you have a LCD backlight adjustable by PWM, say Y to enable
          this driver.
diff --combined include/linux/of.h
index 0e9cf9eec08595d2432d9ae9b16f703475b54d07,d5dd5c06efd3d129b0ee67c17812357760333e12..42c2a58328c17d40ef2571675a7c4f9cd383356f
@@@ -163,11 -163,6 +163,11 @@@ static inline int of_node_to_nid(struc
  #define of_node_to_nid of_node_to_nid
  #endif
  
 +static inline const char* of_node_full_name(struct device_node *np)
 +{
 +      return np ? np->full_name : "<no-node>";
 +}
 +
  extern struct device_node *of_find_node_by_name(struct device_node *from,
        const char *name);
  #define for_each_node_by_name(dn, name) \
@@@ -265,7 -260,8 +265,7 @@@ extern int of_machine_is_compatible(con
  extern int prom_add_property(struct device_node* np, struct property* prop);
  extern int prom_remove_property(struct device_node *np, struct property *prop);
  extern int prom_update_property(struct device_node *np,
 -                              struct property *newprop,
 -                              struct property *oldprop);
 +                              struct property *newprop);
  
  #if defined(CONFIG_OF_DYNAMIC)
  /* For updating the device tree at runtime */
@@@ -307,11 -303,6 +307,11 @@@ const char *of_prop_next_string(struct 
  
  #else /* CONFIG_OF */
  
 +static inline const char* of_node_full_name(struct device_node *np)
 +{
 +      return "<no-node>";
 +}
 +
  static inline bool of_have_populated_dt(void)
  {
        return false;
@@@ -386,6 -377,13 +386,13 @@@ static inline int of_property_read_u64(
        return -ENOSYS;
  }
  
+ static inline int of_property_match_string(struct device_node *np,
+                                          const char *propname,
+                                          const char *string)
+ {
+       return -ENOSYS;
+ }
  static inline struct device_node *of_parse_phandle(struct device_node *np,
                                                   const char *phandle_name,
                                                   int index)
        return NULL;
  }
  
+ static inline int of_parse_phandle_with_args(struct device_node *np,
+                                            const char *list_name,
+                                            const char *cells_name,
+                                            int index,
+                                            struct of_phandle_args *out_args)
+ {
+       return -ENOSYS;
+ }
  static inline int of_alias_get_id(struct device_node *np, const char *stem)
  {
        return -ENOSYS;