]> Git Repo - linux.git/commitdiff
Merge tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux...
authorLinus Torvalds <[email protected]>
Sat, 18 Apr 2015 12:22:10 +0000 (08:22 -0400)
committerLinus Torvalds <[email protected]>
Sat, 18 Apr 2015 12:22:10 +0000 (08:22 -0400)
Pull GPIO updates from Linus Walleij:
 "This is the bulk of GPIO changes for the v4.1 development cycle:

   - A new GPIO hogging mechanism has been added.  This can be used on
     boards that want to drive some GPIO line high, low, or set it as
     input on boot and then never touch it again.  For some embedded
     systems this is bliss and simplifies things to a great extent.

   - Some API cleanup and closure: gpiod_get_array() and
     gpiod_put_array() has been added to get and put GPIOs in bulk as
     was possible with the non-descriptor API.

   - Encapsulate cross-calls to the pin control subsystem in
     <linux/gpio/driver.h>.  Now this should be the only header any GPIO
     driver needs to include or something is wrong.  Cleanups
     restricting drivers to this include are welcomed if tested.

   - Sort the GPIO Kconfig and split it into submenus, as it was
     becoming and unstructured, illogical and unnavigatable mess.  I
     hope this is easier to follow.  Menus that require a certain
     subsystem like I2C can now be hidden nicely for example, still
     working on others.

   - New drivers:

       - New driver for the Altera Soft GPIO.

       - The F7188x driver now handles the F71869 and F71869A variants.

       - The MIPS Loongson driver has been moved to drivers/gpio for
         consolidation and cleanup.

   - Cleanups:

       - The MAX732x is converted to use the GPIOLIB_IRQCHIP
         infrastructure.

       - The PCF857x is converted to use the GPIOLIB_IRQCHIP
         infrastructure.

       - Radical cleanup of the OMAP driver.

   - Misc:

       - Enable the DWAPB GPIO for all architectures.  This is a "hard
         IP" block from Synopsys which has started to turn up in so
         diverse architectures as X86 Quark, ARC and a slew of ARM
         systems.  So even though it's not an expander, it's generic
         enough to be available for all.

       - We add a mock GPIO on Crystalcove PMIC after a long discussion
         with Daniel Vetter et al, tracing back to the shootout at the
         kernel summit where DRM drivers and sub-componentization was
         discussed.  In this case a mock GPIO is assumed to be the best
         compromise gaining some reuse of infrastructure without making
         DRM drivers overly complex at the same time.  Let's see"

* tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits)
  Revert "gpio: sch: use uapi/linux/pci_ids.h directly"
  gpio: dwapb: remove dependencies
  gpio: dwapb: enable for ARC
  gpio: removing kfree remove functionality
  gpio: mvebu: Fix mask/unmask managment per irq chip type
  gpio: split GPIO drivers in submenus
  gpio: move MFD GPIO drivers under their own comment
  gpio: move BCM Kona Kconfig option
  gpio: arrange SPI Kconfig symbols alphabetically
  gpio: arrange PCI GPIO controllers alphabetically
  gpio: arrange I2C Kconfig symbols alphabetically
  gpio: arrange Kconfig symbols alphabetically
  gpio: ich: Implement get_direction function
  gpio: use (!foo) instead of (foo == NULL)
  gpio: arizona: drop owner assignment from platform_drivers
  gpio: max7300: remove 'ret' variable
  gpio: use devm_kzalloc
  gpio: sch: use uapi/linux/pci_ids.h directly
  gpio: x-gene: fix devm_ioremap_resource() check
  gpio: loongson: Add Loongson-3A/3B GPIO driver support
  ...

1  2 
MAINTAINERS
arch/mips/Kconfig
drivers/gpio/Kconfig
drivers/gpio/gpio-arizona.c
drivers/gpio/gpiolib-acpi.c
drivers/gpio/gpiolib-of.c
drivers/gpio/gpiolib.h

diff --combined MAINTAINERS
index f7bbaece56498fcc75b722c042c9a1678a629b81,38fdfd13475092cf370197371564fa0aa46b7146..f71079b8825c1b5f92933a32781cee816cf07e27
@@@ -569,6 -569,12 +569,12 @@@ L:       [email protected] (mo
  S:    Maintained
  F:    drivers/mailbox/mailbox-altera.c
  
+ ALTERA PIO DRIVER
+ M:    Tien Hock Loh <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    drivers/gpio/gpio-altera.c
  ALTERA TRIPLE SPEED ETHERNET DRIVER
  M:    Vince Bridgers <[email protected]>
  L:    [email protected]
@@@ -625,19 -631,20 +631,19 @@@ F:      drivers/iommu/amd_iommu*.[ch
  F:    include/linux/amd-iommu.h
  
  AMD KFD
 -M:      Oded Gabbay <[email protected]>
 -L:      [email protected]
 -T:      git git://people.freedesktop.org/~gabbayo/linux.git
 -S:      Supported
 -F:      drivers/gpu/drm/amd/amdkfd/
 +M:    Oded Gabbay <[email protected]>
 +L:    [email protected]
 +T:    git git://people.freedesktop.org/~gabbayo/linux.git
 +S:    Supported
 +F:    drivers/gpu/drm/amd/amdkfd/
  F:    drivers/gpu/drm/amd/include/cik_structs.h
  F:    drivers/gpu/drm/amd/include/kgd_kfd_interface.h
 -F:      drivers/gpu/drm/radeon/radeon_kfd.c
 -F:      drivers/gpu/drm/radeon/radeon_kfd.h
 -F:      include/uapi/linux/kfd_ioctl.h
 +F:    drivers/gpu/drm/radeon/radeon_kfd.c
 +F:    drivers/gpu/drm/radeon/radeon_kfd.h
 +F:    include/uapi/linux/kfd_ioctl.h
  
  AMD MICROCODE UPDATE SUPPORT
 -M:    Andreas Herrmann <[email protected]>
 -L:    [email protected]
 +M:    Borislav Petkov <[email protected]>
  S:    Maintained
  F:    arch/x86/kernel/cpu/microcode/amd*
  
@@@ -724,7 -731,7 +730,7 @@@ F: staging/iio/trigger/iio-trig-bfin-ti
  
  ANDROID DRIVERS
  M:    Greg Kroah-Hartman <[email protected]>
 -M:    Arve Hjønnevåg <[email protected]>
 +M:    Arve Hjønnevåg <[email protected]>
  M:    Riley Andrews <[email protected]>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/gregkh/staging.git
  L:    [email protected]
@@@ -1029,16 -1036,6 +1035,16 @@@ F:    arch/arm/mach-mxs
  F:    arch/arm/boot/dts/imx*
  F:    arch/arm/configs/imx*_defconfig
  
 +ARM/FREESCALE VYBRID ARM ARCHITECTURE
 +M:    Shawn Guo <[email protected]>
 +M:    Sascha Hauer <[email protected]>
 +R:    Stefan Agner <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
 +F:    arch/arm/mach-imx/*vf610*
 +F:    arch/arm/boot/dts/vf*
 +
  ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
  M:    Lennert Buytenhek <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1185,7 -1182,7 +1191,7 @@@ M:      Sebastian Hesselbarth <sebastian.hes
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-mvebu/
 -F:    drivers/rtc/armada38x-rtc
 +F:    drivers/rtc/rtc-armada38x.c
  
  ARM/Marvell Berlin SoC support
  M:    Sebastian Hesselbarth <[email protected]>
@@@ -1197,7 -1194,6 +1203,7 @@@ ARM/Marvell Dove/MV78xx0/Orion SOC supp
  M:    Jason Cooper <[email protected]>
  M:    Andrew Lunn <[email protected]>
  M:    Sebastian Hesselbarth <[email protected]>
 +M:    Gregory Clement <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-dove/
@@@ -1215,7 -1211,6 +1221,7 @@@ F:      arch/arm/mach-orion5x/ts78xx-
  ARM/Mediatek SoC support
  M:    Matthias Brugger <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/boot/dts/mt6*
  F:    arch/arm/boot/dts/mt8*
@@@ -1362,7 -1357,6 +1368,7 @@@ F:      drivers/i2c/busses/i2c-rk3x.
  F:    drivers/*/*rockchip*
  F:    drivers/*/*/*rockchip*
  F:    sound/soc/rockchip/
 +N:    rockchip
  
  ARM/SAMSUNG EXYNOS ARM ARCHITECTURES
  M:    Kukjin Kim <[email protected]>
@@@ -1469,8 -1463,6 +1475,8 @@@ F:      drivers/clocksource/arm_global_timer
  F:    drivers/i2c/busses/i2c-st.c
  F:    drivers/media/rc/st_rc.c
  F:    drivers/mmc/host/sdhci-st.c
 +F:    drivers/phy/phy-miphy28lp.c
 +F:    drivers/phy/phy-miphy365x.c
  F:    drivers/phy/phy-stih407-usb.c
  F:    drivers/phy/phy-stih41x-usb.c
  F:    drivers/pinctrl/pinctrl-st.c
@@@ -1678,8 -1670,8 +1684,8 @@@ F:      drivers/misc/eeprom/at24.
  F:    include/linux/platform_data/at24.h
  
  ATA OVER ETHERNET (AOE) DRIVER
 -M:    "Ed L. Cashin" <e[email protected]>
 -W:    http://support.coraid.com/support/linux
 +M:    "Ed L. Cashin" <e[email protected]>
 +W:    http://www.openaoe.org/
  S:    Supported
  F:    Documentation/aoe/
  F:    drivers/block/aoe/
@@@ -1744,7 -1736,7 +1750,7 @@@ S:      Maintaine
  F:    drivers/net/ethernet/atheros/
  
  ATM
 -M:    Chas Williams <[email protected]>
 +M:    Chas Williams <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  W:    http://linux-atm.sourceforge.net
@@@ -1765,7 -1757,7 +1771,7 @@@ S:      Supporte
  F:    drivers/tty/serial/atmel_serial.c
  
  ATMEL Audio ALSA driver
 -M:    Bo Shen <voice.shen@atmel.com>
 +M:    Nicolas Ferre <nicolas.ferre@atmel.com>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/atmel
@@@ -1916,14 -1908,16 +1922,14 @@@ S:   Maintaine
  F:    drivers/media/radio/radio-aztech*
  
  B43 WIRELESS DRIVER
 -M:    Stefano Brivio <[email protected]>
  L:    [email protected]
  L:    [email protected]
  W:    http://wireless.kernel.org/en/users/Drivers/b43
 -S:    Maintained
 +S:    Odd Fixes
  F:    drivers/net/wireless/b43/
  
  B43LEGACY WIRELESS DRIVER
  M:    Larry Finger <[email protected]>
 -M:    Stefano Brivio <[email protected]>
  L:    [email protected]
  L:    [email protected]
  W:    http://wireless.kernel.org/en/users/Drivers/b43
@@@ -1966,10 -1960,10 +1972,10 @@@ F:   Documentation/filesystems/befs.tx
  F:    fs/befs/
  
  BECKHOFF CX5020 ETHERCAT MASTER DRIVER
 -M: Dariusz Marcinkiewicz <[email protected]>
 -S: Maintained
 -F: drivers/net/ethernet/ec_bhf.c
 +M:    Dariusz Marcinkiewicz <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/net/ethernet/ec_bhf.c
  
  BFS FILE SYSTEM
  M:    "Tigran A. Aivazian" <[email protected]>
@@@ -2077,7 -2071,7 +2083,7 @@@ F:      include/net/bluetooth
  BONDING DRIVER
  M:    Jay Vosburgh <[email protected]>
  M:    Veaceslav Falico <[email protected]>
 -M:    Andy Gospodarek <[email protected]>
 +M:    Andy Gospodarek <[email protected]>
  L:    [email protected]
  W:    http://sourceforge.net/projects/bonding/
  S:    Supported
@@@ -2119,6 -2113,7 +2125,6 @@@ F:      drivers/net/ethernet/broadcom/bnx2x
  
  BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE
  M:    Christian Daudt <[email protected]>
 -M:    Matt Porter <[email protected]>
  M:    Florian Fainelli <[email protected]>
  L:    [email protected]
  T:    git git://github.com/broadcom/mach-bcm
@@@ -2380,9 -2375,8 +2386,9 @@@ F:      arch/x86/include/asm/tce.
  
  CAN NETWORK LAYER
  M:    Oliver Hartkopp <[email protected]>
 +M:    Marc Kleine-Budde <[email protected]>
  L:    [email protected]
 -W:    http://gitorious.org/linux-can
 +W:    https://github.com/linux-can
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
  S:    Maintained
@@@ -2398,7 -2392,7 +2404,7 @@@ CAN NETWORK DRIVER
  M:    Wolfgang Grandegger <[email protected]>
  M:    Marc Kleine-Budde <[email protected]>
  L:    [email protected]
 -W:    http://gitorious.org/linux-can
 +W:    https://github.com/linux-can
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git
  S:    Maintained
@@@ -2519,18 -2513,11 +2525,18 @@@ F:   Documentation/zh_CN
  
  CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER
  M:    Peter Chen <[email protected]>
 -T:    git git://github.com/hzpeterchen/linux-usb.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
  L:    [email protected]
  S:    Maintained
  F:    drivers/usb/chipidea/
  
 +CHIPONE ICN8318 I2C TOUCHSCREEN DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
 +F:    drivers/input/touchscreen/chipone_icn8318.c
 +
  CHROME HARDWARE PLATFORM SUPPORT
  M:    Olof Johansson <[email protected]>
  S:    Maintained
@@@ -2824,7 -2811,6 +2830,7 @@@ L:      [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git
  S:    Maintained
  F:    Documentation/crypto/
 +F:    Documentation/DocBook/crypto-API.tmpl
  F:    arch/*/crypto/
  F:    crypto/
  F:    drivers/crypto/
@@@ -2895,11 -2881,11 +2901,11 @@@ S:   Supporte
  F:    drivers/net/ethernet/chelsio/cxgb3/
  
  CXGB3 ISCSI DRIVER (CXGB3I)
 -M:      Karen Xie <[email protected]>
 -L:      [email protected]
 -W:      http://www.chelsio.com
 -S:      Supported
 -F:      drivers/scsi/cxgbi/cxgb3i
 +M:    Karen Xie <[email protected]>
 +L:    [email protected]
 +W:    http://www.chelsio.com
 +S:    Supported
 +F:    drivers/scsi/cxgbi/cxgb3i
  
  CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
  M:    Steve Wise <[email protected]>
@@@ -2916,11 -2902,11 +2922,11 @@@ S:   Supporte
  F:    drivers/net/ethernet/chelsio/cxgb4/
  
  CXGB4 ISCSI DRIVER (CXGB4I)
 -M:      Karen Xie <[email protected]>
 -L:      [email protected]
 -W:      http://www.chelsio.com
 -S:      Supported
 -F:      drivers/scsi/cxgbi/cxgb4i
 +M:    Karen Xie <[email protected]>
 +L:    [email protected]
 +W:    http://www.chelsio.com
 +S:    Supported
 +F:    drivers/scsi/cxgbi/cxgb4i
  
  CXGB4 IWARP RNIC DRIVER (IW_CXGB4)
  M:    Steve Wise <[email protected]>
@@@ -3146,15 -3132,12 +3152,15 @@@ S:   Supporte
  F:    Documentation/hwmon/da90??
  F:    drivers/gpio/gpio-da90??.c
  F:    drivers/hwmon/da90??-hwmon.c
 +F:    drivers/iio/adc/da91??-*.c
  F:    drivers/input/misc/da90??_onkey.c
  F:    drivers/input/touchscreen/da9052_tsi.c
  F:    drivers/leds/leds-da90??.c
  F:    drivers/mfd/da903x.c
  F:    drivers/mfd/da90??-*.c
 +F:    drivers/mfd/da91??-*.c
  F:    drivers/power/da9052-battery.c
 +F:    drivers/power/da91??-*.c
  F:    drivers/regulator/da903x.c
  F:    drivers/regulator/da9???-regulator.[ch]
  F:    drivers/rtc/rtc-da90??.c
@@@ -3164,7 -3147,6 +3170,7 @@@ F:      include/linux/mfd/da903x.
  F:    include/linux/mfd/da9052/
  F:    include/linux/mfd/da9055/
  F:    include/linux/mfd/da9063/
 +F:    include/linux/mfd/da9150/
  F:    include/sound/da[79]*.h
  F:    sound/soc/codecs/da[79]*.[ch]
  
@@@ -3265,13 -3247,6 +3271,13 @@@ S:    Maintaine
  F:    Documentation/hwmon/dme1737
  F:    drivers/hwmon/dme1737.c
  
 +DMI/SMBIOS SUPPORT
 +M:    Jean Delvare <[email protected]>
 +S:    Maintained
 +F:    drivers/firmware/dmi-id.c
 +F:    drivers/firmware/dmi_scan.c
 +F:    include/linux/dmi.h
 +
  DOCKING STATION DRIVER
  M:    Shaohua Li <[email protected]>
  L:    [email protected]
@@@ -4176,12 -4151,6 +4182,12 @@@ F:    sound/soc/fsl/fsl
  F:    sound/soc/fsl/imx*
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
 +FREESCALE QORIQ MANAGEMENT COMPLEX DRIVER
 +M:    J. German Rivera <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/staging/fsl-mc/
 +
  FREEVXFS FILESYSTEM
  M:    Christoph Hellwig <[email protected]>
  W:    ftp://ftp.openlinux.org/pub/people/hch/vxfs
@@@ -4331,15 -4300,6 +4337,15 @@@ S:    Supporte
  F:    drivers/phy/
  F:    include/linux/phy/
  
 +GENERIC PM DOMAINS
 +M:    "Rafael J. Wysocki" <[email protected]>
 +M:    Kevin Hilman <[email protected]>
 +M:    Ulf Hansson <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/base/power/domain*.c
 +F:    include/linux/pm_domain.h
 +
  GENERIC UIO DRIVER FOR PCI DEVICES
  M:    "Michael S. Tsirkin" <[email protected]>
  L:    [email protected]
@@@ -4353,10 -4313,10 +4359,10 @@@ F:   scripts/get_maintainer.p
  
  GFS2 FILE SYSTEM
  M:    Steven Whitehouse <[email protected]>
 +M:    Bob Peterson <[email protected]>
  L:    [email protected]
  W:    http://sources.redhat.com/cluster/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
  S:    Supported
  F:    Documentation/filesystems/gfs2*.txt
  F:    fs/gfs2/
@@@ -4976,7 -4936,6 +4982,7 @@@ S:      Maintaine
  F:    drivers/iio/
  F:    drivers/staging/iio/
  F:    include/linux/iio/
 +F:    tools/iio/
  
  IKANOS/ADI EAGLE ADSL USB DRIVER
  M:    Matthieu Castet <[email protected]>
@@@ -5123,7 -5082,7 +5129,7 @@@ S:      Supporte
  F:    drivers/platform/x86/intel_menlow.c
  
  INTEL IA32 MICROCODE UPDATE SUPPORT
 -M:    Tigran Aivazian <[email protected]>
 +M:    Borislav Petkov <[email protected]>
  S:    Maintained
  F:    arch/x86/kernel/cpu/microcode/core*
  F:    arch/x86/kernel/cpu/microcode/intel*
@@@ -5164,21 -5123,22 +5170,21 @@@ M:   Deepak Saxena <[email protected]
  S:    Maintained
  F:    drivers/char/hw_random/ixp4xx-rng.c
  
 -INTEL ETHERNET DRIVERS (e100/e1000/e1000e/fm10k/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e/i40evf)
 +INTEL ETHERNET DRIVERS
  M:    Jeff Kirsher <[email protected]>
 -M:    Jesse Brandeburg <[email protected]>
 -M:    Bruce Allan <[email protected]>
 -M:    Carolyn Wyborny <[email protected]>
 -M:    Don Skidmore <[email protected]>
 -M:    Greg Rose <[email protected]>
 -M:    Matthew Vick <[email protected]>
 -M:    John Ronciak <[email protected]>
 -M:    Mitch Williams <[email protected]>
 -M:    Linux NICS <[email protected]>
 -L:    [email protected]
 +R:    Jesse Brandeburg <[email protected]>
 +R:    Shannon Nelson <[email protected]>
 +R:    Carolyn Wyborny <[email protected]>
 +R:    Don Skidmore <[email protected]>
 +R:    Matthew Vick <[email protected]>
 +R:    John Ronciak <[email protected]>
 +R:    Mitch Williams <[email protected]>
 +L:    [email protected]
  W:    http://www.intel.com/support/feedback.htm
  W:    http://e1000.sourceforge.net/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
 +Q:    http://patchwork.ozlabs.org/project/intel-wired-lan/list/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
  S:    Supported
  F:    Documentation/networking/e100.txt
  F:    Documentation/networking/e1000.txt
@@@ -5222,7 -5182,7 +5228,7 @@@ F:      arch/x86/kernel/tboot.
  INTEL WIRELESS WIMAX CONNECTION 2400
  M:    Inaky Perez-Gonzalez <[email protected]>
  M:    [email protected]
 -L:     [email protected] (subscribers-only)
 +L:    [email protected] (subscribers-only)
  S:    Supported
  W:    http://linuxwimax.org
  F:    Documentation/wimax/README.i2400m
@@@ -5300,13 -5260,6 +5306,13 @@@ F:    drivers/char/ipmi
  F:    include/linux/ipmi*
  F:    include/uapi/linux/ipmi*
  
 +QCOM AUDIO (ASoC) DRIVERS
 +M:    Patrick Lai <[email protected]>
 +M:    Banajit Goswami <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +F:    sound/soc/qcom/
 +
  IPS SCSI RAID DRIVER
  M:    Adaptec OEM Raid Solutions <[email protected]>
  L:    [email protected]
@@@ -5627,8 -5580,6 +5633,8 @@@ S:      Supporte
  F:    Documentation/*/kvm*.txt
  F:    Documentation/virtual/kvm/
  F:    arch/*/kvm/
 +F:    arch/x86/kernel/kvm.c
 +F:    arch/x86/kernel/kvmclock.c
  F:    arch/*/include/asm/kvm*
  F:    include/linux/kvm*
  F:    include/uapi/linux/kvm*
@@@ -5925,7 -5876,7 +5931,7 @@@ F:      arch/powerpc/platforms/512x
  F:    arch/powerpc/platforms/52xx/
  
  LINUX FOR POWERPC EMBEDDED PPC4XX
 -M:  Alistair Popple <[email protected]>
 +M:    Alistair Popple <[email protected]>
  M:    Matt Porter <[email protected]>
  W:    http://www.penguinppc.org/
  L:    [email protected]
@@@ -6360,7 -6311,6 +6366,7 @@@ F:      drivers/scsi/megaraid
  
  MELLANOX ETHERNET DRIVER (mlx4_en)
  M:    Amir Vadai <[email protected]>
 +M:    Ido Shamay <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.mellanox.com
@@@ -6398,7 -6348,7 +6404,7 @@@ S:      Supporte
  F:    drivers/watchdog/mena21_wdt.c
  
  MEN CHAMELEON BUS (mcb)
 -M:    Johannes Thumshirn <[email protected]>
 +M:    Johannes Thumshirn <[email protected]>
  S:    Supported
  F:    drivers/mcb/
  F:    include/linux/mcb.h
@@@ -6603,8 -6553,10 +6609,8 @@@ F:     drivers/mfd
  F:    include/linux/mfd/
  
  MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
 -M:    Chris Ball <[email protected]>
  M:    Ulf Hansson <[email protected]>
  L:    [email protected]
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
  T:    git git://git.linaro.org/people/ulf.hansson/mmc.git
  S:    Maintained
  F:    drivers/mmc/
@@@ -6980,13 -6932,6 +6986,13 @@@ S:    Supporte
  F:    drivers/block/nvme*
  F:    include/linux/nvme.h
  
 +NXP-NCI NFC DRIVER
 +M:    Clément Perrochaud <[email protected]>
 +R:    Charles Gorand <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +F:    drivers/nfc/nxp-nci
 +
  NXP TDA998X DRM DRIVER
  M:    Russell King <[email protected]>
  S:    Supported
@@@ -7274,7 -7219,8 +7280,7 @@@ ORACLE CLUSTER FILESYSTEM 2 (OCFS2
  M:    Mark Fasheh <[email protected]>
  M:    Joel Becker <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
 -W:    http://oss.oracle.com/projects/ocfs2/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2.git
 +W:    http://ocfs2.wiki.kernel.org
  S:    Supported
  F:    Documentation/filesystems/ocfs2.txt
  F:    Documentation/filesystems/dlmfs.txt
  S:    Maintained
  
  QAT DRIVER
 -M:      Tadeusz Struk <[email protected]>
 -L:      [email protected]
 -S:      Supported
 -F:      drivers/crypto/qat/
 +M:    Tadeusz Struk <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/crypto/qat/
  
  QIB DRIVER
  M:    Mike Marciniszyn <[email protected]>
@@@ -8108,7 -8054,7 +8114,7 @@@ S:      Maintaine
  F:    drivers/net/wireless/rt2x00/
  
  RAMDISK RAM BLOCK DEVICE DRIVER
 -M:    Nick Piggin <npiggin@kernel.dk>
 +M:    Jens Axboe <axboe@kernel.dk>
  S:    Maintained
  F:    Documentation/blockdev/ramdisk.txt
  F:    drivers/block/brd.c
@@@ -8184,7 -8130,6 +8190,7 @@@ X:      kernel/torture.
  
  REAL TIME CLOCK (RTC) SUBSYSTEM
  M:    Alessandro Zummo <[email protected]>
 +M:    Alexandre Belloni <[email protected]>
  L:    [email protected]
  Q:    http://patchwork.ozlabs.org/project/rtc-linux/list/
  S:    Maintained
@@@ -8396,6 -8341,7 +8402,6 @@@ F:      block/partitions/ibm.
  
  S390 NETWORK DRIVERS
  M:    Ursula Braun <[email protected]>
 -M:    Frank Blaschka <[email protected]>
  M:    [email protected]
  L:    [email protected]
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -8541,14 -8487,6 +8547,14 @@@ S:    Supporte
  L:    [email protected]
  F:    drivers/net/ethernet/samsung/sxgbe/
  
 +SAMSUNG THERMAL DRIVER
 +M:    Lukasz Majewski <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +T:    https://github.com/lmajewski/linux-samsung-thermal.git
 +F:    drivers/thermal/samsung/
 +
  SAMSUNG USB2 PHY DRIVER
  M:    Kamil Debski <[email protected]>
  L:    [email protected]
@@@ -8603,7 -8541,6 +8609,7 @@@ F:      include/uapi/linux/timex.
  F:    kernel/time/clocksource.c
  F:    kernel/time/time*.c
  F:    kernel/time/ntp.c
 +F:    tools/testing/selftests/timers/
  
  SC1200 WDT DRIVER
  M:    Zwane Mwaikambo <[email protected]>
@@@ -8655,9 -8592,11 +8661,9 @@@ F:     drivers/scsi/sg.
  F:    include/scsi/sg.h
  
  SCSI SUBSYSTEM
 -M:    "James E.J. Bottomley" <JBottomley@parallels.com>
 +M:    "James E.J. Bottomley" <JBottomley@odin.com>
  L:    [email protected]
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git
  S:    Maintained
  F:    drivers/scsi/
  F:    include/scsi/
@@@ -8710,8 -8649,10 +8716,8 @@@ S:     Maintaine
  F:    drivers/mmc/host/sdricoh_cs.c
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
 -M:    Chris Ball <[email protected]>
  L:    [email protected]
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
 -S:    Maintained
 +S:    Orphan
  F:    drivers/mmc/host/sdhci.*
  F:    drivers/mmc/host/sdhci-pltfm.[ch]
  
@@@ -8727,12 -8668,18 +8733,12 @@@ F:   include/linux/seccomp.
  K:    \bsecure_computing
  K:    \bTIF_SECCOMP\b
  
 -SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
 -M:    Anton Vorontsov <[email protected]>
 -L:    [email protected]
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/mmc/host/sdhci-pltfm.[ch]
 -
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) SAMSUNG DRIVER
  M:    Ben Dooks <[email protected]>
 +M:    Jaehoon Chung <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    drivers/mmc/host/sdhci-s3c.c
 +F:    drivers/mmc/host/sdhci-s3c*
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
  M:    Viresh Kumar <[email protected]>
  S:    Maintained
  F:    drivers/staging/sm7xxfb/
  
 +STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER
 +M:    Sudip Mukherjee <[email protected]>
 +M:    Teddy Wang <[email protected]>
 +M:    Sudip Mukherjee <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/staging/sm750fb/
 +
  STAGING - SLICOSS
  M:    Lior Dotan <[email protected]>
  M:    Christopher Harrer <[email protected]>
@@@ -9869,7 -9808,7 +9875,7 @@@ F:      include/linux/wl12xx.
  
  TIPC NETWORK LAYER
  M:    Jon Maloy <[email protected]>
 -M:    Allan Stephens <allan.stephens@windriver.com>
 +M:    Ying Xue <ying.xue@windriver.com>
  L:    [email protected] (core kernel code)
  L:    [email protected] (user apps, general discussion)
  W:    http://tipc.sourceforge.net/
@@@ -9973,7 -9912,6 +9979,7 @@@ F:      drivers/media/pci/tw68
  TPM DEVICE DRIVER
  M:    Peter Huewe <[email protected]>
  M:    Marcel Selhorst <[email protected]>
 +R:    Jason Gunthorpe <[email protected]>
  W:    http://tpmdd.sourceforge.net
  L:    [email protected] (moderated for non-subscribers)
  Q:    git git://github.com/PeterHuewe/linux-tpmdd.git
@@@ -10127,11 -10065,11 +10133,11 @@@ F:        include/linux/cdrom.
  F:    include/uapi/linux/cdrom.h
  
  UNISYS S-PAR DRIVERS
 -M:     Benjamin Romer <[email protected]>
 -M:     David Kershner <[email protected]>
 -L:     [email protected] (Unisys internal)
 -S:     Supported
 -F:     drivers/staging/unisys/
 +M:    Benjamin Romer <[email protected]>
 +M:    David Kershner <[email protected]>
 +L:    [email protected] (Unisys internal)
 +S:    Supported
 +F:    drivers/staging/unisys/
  
  UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
  M:    Vinayak Holikatti <[email protected]>
@@@ -10179,12 -10117,6 +10185,12 @@@ S: Maintaine
  F:    drivers/net/usb/cdc_*.c
  F:    include/uapi/linux/usb/cdc.h
  
 +USB CHAOSKEY DRIVER
 +M:    Keith Packard <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/usb/misc/chaoskey.c
 +
  USB CYPRESS C67X00 DRIVER
  M:    Peter Korsgaard <[email protected]>
  L:    [email protected]
@@@ -10263,13 -10195,6 +10269,13 @@@ S: Maintaine
  F:    Documentation/usb/ohci.txt
  F:    drivers/usb/host/ohci*
  
 +USB OTG FSM (Finite State Machine)
 +M:    Peter Chen <[email protected]>
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/usb/common/usb-otg-fsm.c
 +
  USB OVER IP DRIVER
  M:    Valentina Manea <[email protected]>
  M:    Shuah Khan <[email protected]>
@@@ -10688,7 -10613,7 +10694,7 @@@ F:   drivers/media/rc/winbond-cir.
  WIMAX STACK
  M:    Inaky Perez-Gonzalez <[email protected]>
  M:    [email protected]
 -L:     [email protected] (subscribers-only)
 +L:    [email protected] (subscribers-only)
  S:    Supported
  W:    http://linuxwimax.org
  F:    Documentation/wimax/README.wimax
  S:    Maintained
  F:    mm/zsmalloc.c
  F:    include/linux/zsmalloc.h
 +F:    Documentation/vm/zsmalloc.txt
  
  ZSWAP COMPRESSED SWAP CACHING
  M:    Seth Jennings <[email protected]>
diff --combined arch/mips/Kconfig
index 2198837c256fd63b33d33817fba12e762c88abfa,1ecd49945096ba9734a59fc73bfd3b1afc864b25..f5016656494f62b321c881e54f4235d0eeac7bf9
@@@ -23,7 -23,7 +23,7 @@@ config MIP
        select HAVE_KRETPROBES
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_SYSCALL_TRACEPOINTS
 -      select ARCH_BINFMT_ELF_RANDOMIZE_PIE
 +      select ARCH_HAS_ELF_RANDOMIZE
        select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
        select RTC_LIB if !MACH_LOONGSON
        select GENERIC_ATOMIC64 if !64BIT
@@@ -43,7 -43,6 +43,7 @@@
        select GENERIC_SMP_IDLE_THREAD
        select BUILDTIME_EXTABLE_SORT
        select GENERIC_CLOCKEVENTS
 +      select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
        select GENERIC_CMOS_UPDATE
        select HAVE_MOD_ARCH_SPECIFIC
        select VIRT_TO_BUS
@@@ -56,8 -55,6 +56,8 @@@
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_BINFMT_ELF_STATE
        select SYSCTL_EXCEPTION_TRACE
 +      select HAVE_VIRT_CPU_ACCOUNTING_GEN
 +      select HAVE_IRQ_TIME_ACCOUNTING
  
  menu "Machine selection"
  
@@@ -134,8 -131,8 +134,8 @@@ config ATH7
        help
          Support for the Atheros AR71XX/AR724X/AR913X SoCs.
  
 -config BCM3384
 -      bool "Broadcom BCM3384 based boards"
 +config BMIPS_GENERIC
 +      bool "Broadcom Generic BMIPS kernel"
        select BOOT_RAW
        select NO_EXCEPT_FILL
        select USE_OF
        select CSRC_R4K
        select SYNC_R4K
        select COMMON_CLK
 -      select DMA_NONCOHERENT
 +      select BCM7038_L1_IRQ
 +      select BCM7120_L2_IRQ
 +      select BRCMSTB_L2_IRQ
        select IRQ_CPU
 +      select RAW_IRQ_ACCESSORS
 +      select DMA_NONCOHERENT
        select SYS_SUPPORTS_32BIT_KERNEL
 +      select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_HIGHMEM
 +      select SYS_HAS_CPU_BMIPS32_3300
 +      select SYS_HAS_CPU_BMIPS4350
 +      select SYS_HAS_CPU_BMIPS4380
        select SYS_HAS_CPU_BMIPS5000
        select SWAP_IO_SPACE
 -      select USB_EHCI_BIG_ENDIAN_DESC
 -      select USB_EHCI_BIG_ENDIAN_MMIO
 -      select USB_OHCI_BIG_ENDIAN_DESC
 -      select USB_OHCI_BIG_ENDIAN_MMIO
 +      select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
 +      select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
 +      select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
 +      select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
        help
 -        Support for BCM3384 based boards.  BCM3384/BCM33843 is a cable modem
 -        chipset with a Linux application processor that is often used to
 -        provide Samba services, a CUPS print server, and/or advanced routing
 -        features.
 +        Build a generic DT-based kernel image that boots on select
 +        BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
 +        box chips.  Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
 +        must be set appropriately for your board.
  
  config BCM47XX
        bool "Broadcom BCM47XX based boards"
@@@ -363,33 -352,6 +363,33 @@@ config MACH_LOONGSON
          the ICT (Institute of Computing Technology) and the Chinese Academy
          of Sciences.
  
 +config MACH_PISTACHIO
 +      bool "IMG Pistachio SoC based boards"
 +      select ARCH_REQUIRE_GPIOLIB
 +      select BOOT_ELF32
 +      select BOOT_RAW
 +      select CEVT_R4K
 +      select CLKSRC_MIPS_GIC
 +      select COMMON_CLK
 +      select CSRC_R4K
 +      select DMA_MAYBE_COHERENT
 +      select IRQ_CPU
 +      select LIBFDT
 +      select MFD_SYSCON
 +      select MIPS_CPU_SCACHE
 +      select MIPS_GIC
 +      select PINCTRL
 +      select REGULATOR
 +      select SYS_HAS_CPU_MIPS32_R2
 +      select SYS_SUPPORTS_32BIT_KERNEL
 +      select SYS_SUPPORTS_LITTLE_ENDIAN
 +      select SYS_SUPPORTS_MIPS_CPS
 +      select SYS_SUPPORTS_MULTITHREADING
 +      select SYS_SUPPORTS_ZBOOT
 +      select USE_OF
 +      help
 +        This enables support for the IMG Pistachio SoC platform.
 +
  config MIPS_MALTA
        bool "MIPS Malta board"
        select ARCH_MAY_HAVE_PC_FDC
        select SYS_HAS_CPU_MIPS32_R1
        select SYS_HAS_CPU_MIPS32_R2
        select SYS_HAS_CPU_MIPS32_R3_5
 +      select SYS_HAS_CPU_MIPS32_R5
        select SYS_HAS_CPU_MIPS32_R6
        select SYS_HAS_CPU_MIPS64_R1
        select SYS_HAS_CPU_MIPS64_R2
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
 +      select SYS_SUPPORTS_HIGHMEM
        select SYS_SUPPORTS_LITTLE_ENDIAN
        select SYS_SUPPORTS_MICROMIPS
        select SYS_SUPPORTS_MIPS_CMP
@@@ -819,8 -779,7 +819,8 @@@ config CAVIUM_OCTEON_SO
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select EDAC_SUPPORT
 -      select SYS_SUPPORTS_HOTPLUG_CPU
 +      select SYS_SUPPORTS_LITTLE_ENDIAN
 +      select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
        select SYS_HAS_EARLY_PRINTK
        select SYS_HAS_CPU_CAVIUM_OCTEON
        select SWAP_IO_SPACE
        select SYS_SUPPORTS_SMP
        select NR_CPUS_DEFAULT_16
        select BUILTIN_DTB
 +      select MTD_COMPLEX_MAPPINGS
        help
          This option supports all of the Octeon reference boards from Cavium
          Networks. It builds a kernel that dynamically determines the Octeon
@@@ -929,7 -887,6 +929,7 @@@ source "arch/mips/ath25/Kconfig
  source "arch/mips/ath79/Kconfig"
  source "arch/mips/bcm47xx/Kconfig"
  source "arch/mips/bcm63xx/Kconfig"
 +source "arch/mips/bmips/Kconfig"
  source "arch/mips/jazz/Kconfig"
  source "arch/mips/jz4740/Kconfig"
  source "arch/mips/lantiq/Kconfig"
@@@ -1245,10 -1202,10 +1245,10 @@@ config MIPS_L1_CACHE_SHIFT_
  
  config MIPS_L1_CACHE_SHIFT
        int
 -      default "4" if MIPS_L1_CACHE_SHIFT_4
 -      default "5" if MIPS_L1_CACHE_SHIFT_5
 -      default "6" if MIPS_L1_CACHE_SHIFT_6
        default "7" if MIPS_L1_CACHE_SHIFT_7
 +      default "6" if MIPS_L1_CACHE_SHIFT_6
 +      default "5" if MIPS_L1_CACHE_SHIFT_5
 +      default "4" if MIPS_L1_CACHE_SHIFT_4
        default "5"
  
  config HAVE_STD_PC_SERIAL_PORT
@@@ -1288,6 -1245,7 +1288,7 @@@ config CPU_LOONGSON
        select CPU_SUPPORTS_HUGEPAGES
        select WEAK_ORDERING
        select WEAK_REORDERING_BEYOND_LLSC
+       select ARCH_REQUIRE_GPIOLIB
        help
                The Loongson 3 processor implements the MIPS64R2 instruction
                set with many extensions.
@@@ -1615,7 -1573,6 +1616,7 @@@ config CPU_XL
        select WEAK_REORDERING_BEYOND_LLSC
        select CPU_HAS_PREFETCH
        select CPU_MIPSR2
 +      select CPU_SUPPORTS_HUGEPAGES
        help
          Netlogic Microsystems XLP processors.
  endchoice
@@@ -1640,33 -1597,6 +1641,33 @@@ config CPU_MIPS32_3_5_EV
          One of its primary benefits is an increase in the maximum size
          of lowmem (up to 3GB). If unsure, say 'N' here.
  
 +config CPU_MIPS32_R5_FEATURES
 +      bool "MIPS32 Release 5 Features"
 +      depends on SYS_HAS_CPU_MIPS32_R5
 +      depends on CPU_MIPS32_R2
 +      help
 +        Choose this option to build a kernel for release 2 or later of the
 +        MIPS32 architecture including features from release 5 such as
 +        support for Extended Physical Addressing (XPA).
 +
 +config CPU_MIPS32_R5_XPA
 +      bool "Extended Physical Addressing (XPA)"
 +      depends on CPU_MIPS32_R5_FEATURES
 +      depends on !EVA
 +      depends on !PAGE_SIZE_4KB
 +      depends on SYS_SUPPORTS_HIGHMEM
 +      select XPA
 +      select HIGHMEM
 +      select ARCH_PHYS_ADDR_T_64BIT
 +      default n
 +      help
 +        Choose this option if you want to enable the Extended Physical
 +        Addressing (XPA) on your MIPS32 core (such as P5600 series). The
 +        benefit is to increase physical addressing equal to or greater
 +        than 40 bits. Note that this has the side effect of turning on
 +        64-bit addressing which in turn makes the PTEs 64-bit in size.
 +        If unsure, say 'N' here.
 +
  if CPU_LOONGSON2F
  config CPU_NOP_WORKAROUNDS
        bool
@@@ -1770,9 -1700,6 +1771,9 @@@ config SYS_HAS_CPU_MIPS32_R
  config SYS_HAS_CPU_MIPS32_R3_5
        bool
  
 +config SYS_HAS_CPU_MIPS32_R5
 +      bool
 +
  config SYS_HAS_CPU_MIPS32_R6
        bool
  
@@@ -1910,9 -1837,6 +1911,9 @@@ config CPU_MIPSR
  config EVA
        bool
  
 +config XPA
 +      bool
 +
  config SYS_SUPPORTS_32BIT_KERNEL
        bool
  config SYS_SUPPORTS_64BIT_KERNEL
@@@ -2149,7 -2073,7 +2150,7 @@@ config MIPSR2_TO_R6_EMULATO
        help
          Choose this option if you want to run non-R6 MIPS userland code.
          Even if you say 'Y' here, the emulator will still be disabled by
 -        default. You can enable it using the 'mipsr2emul' kernel option.
 +        default. You can enable it using the 'mipsr2emu' kernel option.
          The only reason this is a build-time option is to save ~14K from the
          final kernel image.
  comment "MIPS R2-to-R6 emulator is only available for UP kernels"
@@@ -2219,7 -2143,7 +2220,7 @@@ config MIPS_CM
  
  config MIPS_CPS
        bool "MIPS Coherent Processing System support"
 -      depends on SYS_SUPPORTS_MIPS_CPS
 +      depends on SYS_SUPPORTS_MIPS_CPS && !64BIT
        select MIPS_CM
        select MIPS_CPC
        select MIPS_CPS_PM if HOTPLUG_CPU
@@@ -2425,7 -2349,7 +2426,7 @@@ config NODES_SHIF
  
  config HW_PERF_EVENTS
        bool "Enable hardware performance counter support for perf events"
 -      depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
 +      depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
        default y
        help
          Enable hardware performance counter support for perf events. If
@@@ -2577,9 -2501,6 +2578,9 @@@ config H
        default 1000 if HZ_1000
        default 1024 if HZ_1024
  
 +config SCHED_HRTICK
 +      def_bool HIGH_RES_TIMERS
 +
  source "kernel/Kconfig.preempt"
  
  config KEXEC
@@@ -2680,11 -2601,6 +2681,11 @@@ config STACKTRACE_SUPPOR
        bool
        default y
  
 +config PGTABLE_LEVELS
 +      int
 +      default 3 if 64BIT && !PAGE_SIZE_64KB
 +      default 2
 +
  source "init/Kconfig"
  
  source "kernel/Kconfig.freezer"
diff --combined drivers/gpio/Kconfig
index dc1aaa83a3474c3299895487ef7f82fca36cf250,17b72729ed3c99a92debb058e73c7a37bfaa7ffd..38d875d0e4c866cd22f541ab1e3d74ec60699c7b
@@@ -90,27 -90,11 +90,11 @@@ config GPIO_GENERI
  
  # put drivers in the right section, in alphabetical order
  
- config GPIO_DA9052
-       tristate "Dialog DA9052 GPIO"
-       depends on PMIC_DA9052
-       help
-         Say yes here to enable the GPIO driver for the DA9052 chip.
- config GPIO_DA9055
-       tristate "Dialog Semiconductor DA9055 GPIO"
-       depends on MFD_DA9055
-       help
-         Say yes here to enable the GPIO driver for the DA9055 chip.
-         The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
-         be controller by this driver.
-         If driver is built as a module it will be called gpio-da9055.
+ # This symbol is selected by both I2C and SPI expanders
  config GPIO_MAX730X
        tristate
  
comment "Memory mapped GPIO drivers:"
menu "Memory mapped GPIO drivers"
  
  config GPIO_74XX_MMIO
        tristate "GPIO driver for 74xx-ICs with MMIO access"
            8 bits:     74244 (Input), 74273 (Output)
            16 bits:    741624 (Input), 7416374 (Output)
  
+ config GPIO_ALTERA
+       tristate "Altera GPIO"
+       depends on OF_GPIO
+       select GPIO_GENERIC
+       select GPIOLIB_IRQCHIP
+       help
+         Say Y or M here to build support for the Altera PIO device.
+         If driver is built as a module it will be called gpio-altera.
+ config GPIO_BCM_KONA
+       bool "Broadcom Kona GPIO"
+       depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
+       help
+         Turn on GPIO support for Broadcom "Kona" chips.
  config GPIO_CLPS711X
        tristate "CLPS711X GPIO support"
        depends on ARCH_CLPS711X || COMPILE_TEST
@@@ -140,28 -140,14 +140,14 @@@ config GPIO_DAVINC
        help
          Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
  
- config GPIO_GENERIC_PLATFORM
-       tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
-       select GPIO_GENERIC
-       help
-         Say yes here to support basic platform_device memory-mapped GPIO controllers.
  config GPIO_DWAPB
        tristate "Synopsys DesignWare APB GPIO driver"
-       depends on ARM
-       depends on OF_GPIO
        select GPIO_GENERIC
        select GENERIC_IRQ_CHIP
        help
          Say Y or M here to build support for the Synopsys DesignWare APB
          GPIO block.
  
- config GPIO_IT8761E
-       tristate "IT8761E GPIO support"
-       depends on X86  # unconditional access to IO space.
-       help
-         Say yes here to support GPIO functionality of IT8761E super I/O chip.
  config GPIO_EM
        tristate "Emma Mobile GPIO"
        depends on ARM && OF_GPIO
@@@ -173,36 -159,99 +159,99 @@@ config GPIO_EP93X
        depends on ARCH_EP93XX
        select GPIO_GENERIC
  
- config GPIO_ZEVIO
-       bool "LSI ZEVIO SoC memory mapped GPIOs"
-       depends on ARM && OF_GPIO
-       help
-         Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
- config GPIO_MM_LANTIQ
-       bool "Lantiq Memory mapped GPIOs"
-       depends on LANTIQ && SOC_XWAY
-       help
-         This enables support for memory mapped GPIOs on the External Bus Unit
-         (EBU) found on Lantiq SoCs. The gpios are output only as they are
-         created by attaching a 16bit latch to the bus.
  config GPIO_F7188X
-       tristate "F71882FG and F71889F GPIO support"
+       tristate "F71869, F71869A, F71882FG and F71889F GPIO support"
        depends on X86
        help
          This option enables support for GPIOs found on Fintek Super-I/O
-         chips F71882FG and F71889F.
+         chips F71869, F71869A, F71882FG and F71889F.
  
          To compile this driver as a module, choose M here: the module will
          be called f7188x-gpio.
  
+ config GPIO_GE_FPGA
+       bool "GE FPGA based GPIO"
+       depends on GE_FPGA
+       select GPIO_GENERIC
+       help
+         Support for common GPIO functionality provided on some GE Single Board
+         Computers.
+         This driver provides basic support (configure as input or output, read
+         and write pin state) for GPIO implemented in a number of GE single
+         board computers.
+ config GPIO_GENERIC_PLATFORM
+       tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
+       select GPIO_GENERIC
+       help
+         Say yes here to support basic platform_device memory-mapped GPIO controllers.
+ config GPIO_GRGPIO
+       tristate "Aeroflex Gaisler GRGPIO support"
+       depends on OF
+       select GPIO_GENERIC
+       select IRQ_DOMAIN
+       help
+         Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
+         VHDL IP core library.
+ config GPIO_ICH
+       tristate "Intel ICH GPIO"
+       depends on PCI && X86
+       select MFD_CORE
+       select LPC_ICH
+       help
+         Say yes here to support the GPIO functionality of a number of Intel
+         ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
+         ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
+         Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
+         If unsure, say N.
+ config GPIO_IOP
+       tristate "Intel IOP GPIO"
+       depends on ARM && (ARCH_IOP32X || ARCH_IOP33X)
+       help
+         Say yes here to support the GPIO functionality of a number of Intel
+         IOP32X or IOP33X.
+         If unsure, say N.
+ config GPIO_IT8761E
+       tristate "IT8761E GPIO support"
+       depends on X86  # unconditional access to IO space.
+       help
+         Say yes here to support GPIO functionality of IT8761E super I/O chip.
+ config GPIO_LOONGSON
+       bool "Loongson-2/3 GPIO support"
+       depends on CPU_LOONGSON2 || CPU_LOONGSON3
+       help
+         driver for GPIO functionality on Loongson-2F/3A/3B processors.
+ config GPIO_LYNXPOINT
+       tristate "Intel Lynxpoint GPIO support"
+       depends on ACPI && X86
+       select GPIOLIB_IRQCHIP
+       help
+         driver for GPIO functionality on Intel Lynxpoint PCH chipset
+         Requires ACPI device enumeration code to set up a platform device.
  config GPIO_MB86S7X
        bool "GPIO support for Fujitsu MB86S7x Platforms"
        depends on ARCH_MB86S7X
        help
          Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
  
+ config GPIO_MM_LANTIQ
+       bool "Lantiq Memory mapped GPIOs"
+       depends on LANTIQ && SOC_XWAY
+       help
+         This enables support for memory mapped GPIOs on the External Bus Unit
+         (EBU) found on Lantiq SoCs. The gpios are output only as they are
+         created by attaching a 16bit latch to the bus.
  config GPIO_MOXART
        bool "MOXART GPIO support"
        depends on ARCH_MOXART
@@@ -303,6 -352,33 +352,33 @@@ config GPIO_SAMSUN
          Legacy GPIO support. Use only for platforms without support for
          pinctrl.
  
+ config GPIO_SCH
+       tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
+       depends on PCI && X86
+       select MFD_CORE
+       select LPC_SCH
+       help
+         Say yes here to support GPIO interface on Intel Poulsbo SCH,
+         Intel Tunnel Creek processor, Intel Centerton processor or
+         Intel Quark X1000 SoC.
+         The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
+         powered by the core power rail and are turned off during sleep
+         modes (S3 and higher). The remaining four GPIOs are powered by
+         the Intel SCH suspend power supply. These GPIOs remain
+         active during S3. The suspend powered GPIOs can be used to wake the
+         system from the Suspend-to-RAM state.
+         The Intel Tunnel Creek processor has 5 GPIOs powered by the
+         core power rail and 9 from suspend power supply.
+         The Intel Centerton processor has a total of 30 GPIO pins.
+         Twenty-one are powered by the core power rail and 9 from the
+         suspend power supply.
+         The Intel Quark X1000 SoC has 2 GPIOs powered by the core
+         power well and 6 from the suspend power well.
  config GPIO_SCH311X
        tristate "SMSC SCH311x SuperI/O GPIO"
        help
@@@ -327,12 -403,27 +403,27 @@@ config GPIO_STA2X1
          Say yes here to support the STA2x11/ConneXt GPIO device.
          The GPIO module has 128 GPIO pins with alternate functions.
  
+ config GPIO_STP_XWAY
+       bool "XWAY STP GPIOs"
+       depends on SOC_XWAY
+       help
+         This enables support for the Serial To Parallel (STP) unit found on
+         XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
+         that can be up to 24 bit. This peripheral is aimed at driving leds.
+         Some of the gpios/leds can be auto updated by the soc with dsl and
+         phy status.
  config GPIO_SYSCON
        tristate "GPIO based on SYSCON"
        depends on MFD_SYSCON && OF
        help
          Say yes here to support GPIO functionality though SYSCON driver.
  
+ config GPIO_TB10X
+       bool
+       select GENERIC_IRQ_CHIP
+       select OF_GPIO
  config GPIO_TS5500
        tristate "TS-5500 DIO blocks and compatibles"
        depends on TS5500 || COMPILE_TEST
@@@ -364,6 -455,24 +455,24 @@@ config GPIO_VF61
        help
          Say yes here to support Vybrid vf610 GPIOs.
  
+ config GPIO_VR41XX
+       tristate "NEC VR4100 series General-purpose I/O Uint support"
+       depends on CPU_VR41XX
+       help
+         Say yes here to support the NEC VR4100 series General-purpose I/O Uint
+ config GPIO_VX855
+       tristate "VIA VX855/VX875 GPIO"
+       depends on PCI
+       select MFD_CORE
+       select MFD_VX855
+       help
+         Support access to the VX855/VX875 GPIO lines through the gpio library.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
  config GPIO_XGENE
        bool "APM X-Gene GPIO controller support"
        depends on ARM64 && OF_GPIO
@@@ -387,13 -496,6 +496,6 @@@ config GPIO_XILIN
        help
          Say yes here to support the Xilinx FPGA GPIO device
  
- config GPIO_ZYNQ
-       tristate "Xilinx Zynq GPIO support"
-       depends on ARCH_ZYNQ
-       select GPIOLIB_IRQCHIP
-       help
-         Say yes here to support Xilinx Zynq GPIO controller.
  config GPIO_XTENSA
        bool "Xtensa GPIO32 support"
        depends on XTENSA
          Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
          and EXPSTATE (output) ports
  
- config GPIO_VR41XX
-       tristate "NEC VR4100 series General-purpose I/O Uint support"
-       depends on CPU_VR41XX
+ config GPIO_ZEVIO
+       bool "LSI ZEVIO SoC memory mapped GPIOs"
+       depends on ARM && OF_GPIO
        help
-         Say yes here to support the NEC VR4100 series General-purpose I/O Uint
+         Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
  
- config GPIO_SCH
-       tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
-       depends on PCI && X86
-       select MFD_CORE
-       select LPC_SCH
+ config GPIO_ZYNQ
+       tristate "Xilinx Zynq GPIO support"
+       depends on ARCH_ZYNQ
+       select GPIOLIB_IRQCHIP
        help
-         Say yes here to support GPIO interface on Intel Poulsbo SCH,
-         Intel Tunnel Creek processor, Intel Centerton processor or
-         Intel Quark X1000 SoC.
-         The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
-         powered by the core power rail and are turned off during sleep
-         modes (S3 and higher). The remaining four GPIOs are powered by
-         the Intel SCH suspend power supply. These GPIOs remain
-         active during S3. The suspend powered GPIOs can be used to wake the
-         system from the Suspend-to-RAM state.
-         The Intel Tunnel Creek processor has 5 GPIOs powered by the
-         core power rail and 9 from suspend power supply.
+         Say yes here to support Xilinx Zynq GPIO controller.
  
-         The Intel Centerton processor has a total of 30 GPIO pins.
-         Twenty-one are powered by the core power rail and 9 from the
-         suspend power supply.
+ endmenu
  
-         The Intel Quark X1000 SoC has 2 GPIOs powered by the core
-         power well and 6 from the suspend power well.
+ menu "I2C GPIO expanders"
+       depends on I2C
  
- config GPIO_ICH
-       tristate "Intel ICH GPIO"
-       depends on PCI && X86
-       select MFD_CORE
-       select LPC_ICH
+ config GPIO_ADP5588
+       tristate "ADP5588 I2C GPIO expander"
+       depends on I2C
        help
-         Say yes here to support the GPIO functionality of a number of Intel
-         ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
-         ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
-         Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
-         If unsure, say N.
+         This option enables support for 18 GPIOs found
+         on Analog Devices ADP5588 GPIO Expanders.
  
- config GPIO_IOP
-       tristate "Intel IOP GPIO"
-       depends on ARM && (ARCH_IOP32X || ARCH_IOP33X)
+ config GPIO_ADP5588_IRQ
+       bool "Interrupt controller support for ADP5588"
+       depends on GPIO_ADP5588=y
        help
-         Say yes here to support the GPIO functionality of a number of Intel
-         IOP32X or IOP33X.
-         If unsure, say N.
- config GPIO_VX855
-       tristate "VIA VX855/VX875 GPIO"
-       depends on PCI
-       select MFD_CORE
-       select MFD_VX855
-       help
-         Support access to the VX855/VX875 GPIO lines through the gpio library.
-         This driver provides common support for accessing the device,
-         additional drivers must be enabled in order to use the
-         functionality of the device.
- config GPIO_GE_FPGA
-       bool "GE FPGA based GPIO"
-       depends on GE_FPGA
-       select GPIO_GENERIC
-       help
-         Support for common GPIO functionality provided on some GE Single Board
-         Computers.
-         This driver provides basic support (configure as input or output, read
-         and write pin state) for GPIO implemented in a number of GE single
-         board computers.
- config GPIO_LYNXPOINT
-       tristate "Intel Lynxpoint GPIO support"
-       depends on ACPI && X86
-       select GPIOLIB_IRQCHIP
-       help
-         driver for GPIO functionality on Intel Lynxpoint PCH chipset
-         Requires ACPI device enumeration code to set up a platform device.
- config GPIO_GRGPIO
-       tristate "Aeroflex Gaisler GRGPIO support"
-       depends on OF
-       select GPIO_GENERIC
-       select IRQ_DOMAIN
-       help
-         Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
-         VHDL IP core library.
- config GPIO_TB10X
-       bool
-       select GENERIC_IRQ_CHIP
-       select OF_GPIO
- comment "I2C GPIO expanders:"
- config GPIO_ARIZONA
-       tristate "Wolfson Microelectronics Arizona class devices"
-       depends on MFD_ARIZONA
-       help
-         Support for GPIOs on Wolfson Arizona class devices.
+         Say yes here to enable the adp5588 to be used as an interrupt
+         controller. It requires the driver to be built in the kernel.
  
- config GPIO_CRYSTAL_COVE
-       tristate "GPIO support for Crystal Cove PMIC"
-       depends on INTEL_SOC_PMIC
+ config GPIO_ADNP
+       tristate "Avionic Design N-bit GPIO expander"
+       depends on I2C && OF_GPIO
        select GPIOLIB_IRQCHIP
        help
-         Support for GPIO pins on Crystal Cove PMIC.
-         Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
-         inside.
-         This driver can also be built as a module. If so, the module will be
-         called gpio-crystalcove.
- config GPIO_LP3943
-       tristate "TI/National Semiconductor LP3943 GPIO expander"
-       depends on MFD_LP3943
-       help
-         GPIO driver for LP3943 MFD.
-         LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
-         Open drain outputs are required for this usage.
+         This option enables support for N GPIOs found on Avionic Design
+         I2C GPIO expanders. The register space will be extended by powers
+         of two, so the controller will need to accommodate for that. For
+         example: if a controller provides 48 pins, 6 registers will be
+         enough to represent all pins, but the driver will assume a
+         register layout for 64 pins (8 registers).
  
  config GPIO_MAX7300
        tristate "Maxim MAX7300 GPIO expander"
  config GPIO_MAX732X
        tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
        depends on I2C
-       select IRQ_DOMAIN
        help
          Say yes here to support the MAX7319, MAX7320-7327 series of I2C
          Port Expanders. Each IO port on these chips has a fixed role of
  config GPIO_MAX732X_IRQ
        bool "Interrupt controller support for MAX732x"
        depends on GPIO_MAX732X=y
+       select GPIOLIB_IRQCHIP
        help
          Say yes here to enable the max732x to be used as an interrupt
          controller. It requires the driver to be built in the kernel.
@@@ -604,6 -620,7 +620,7 @@@ config GPIO_PCA953X_IR
  config GPIO_PCF857X
        tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
        depends on I2C
+       select GPIOLIB_IRQCHIP
        select IRQ_DOMAIN
        help
          Say yes here to provide access to most "quasi-bidirectional" I2C
          This driver provides an in-kernel interface to those GPIOs using
          platform-neutral GPIO calls.
  
- config GPIO_RC5T583
-       bool "RICOH RC5T583 GPIO"
-       depends on MFD_RC5T583
-       help
-         Select this option to enable GPIO driver for the Ricoh RC5T583
-         chip family.
-         This driver provides the support for driving/reading the gpio pins
-         of RC5T583 device through standard gpio library.
  config GPIO_SX150X
        bool "Semtech SX150x I2C GPIO expander"
        depends on I2C=y
          8 bits:  sx1508q
          16 bits: sx1509q
  
+ endmenu
+ menu "MFD GPIO expanders"
+ config GPIO_ADP5520
+       tristate "GPIO Support for ADP5520 PMIC"
+       depends on PMIC_ADP5520
+       help
+         This option enables support for on-chip GPIO found
+         on Analog Devices ADP5520 PMICs.
+ config GPIO_ARIZONA
+       tristate "Wolfson Microelectronics Arizona class devices"
+       depends on MFD_ARIZONA
+       help
+         Support for GPIOs on Wolfson Arizona class devices.
+ config GPIO_CRYSTAL_COVE
+       tristate "GPIO support for Crystal Cove PMIC"
+       depends on INTEL_SOC_PMIC
+       select GPIOLIB_IRQCHIP
+       help
+         Support for GPIO pins on Crystal Cove PMIC.
+         Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
+         inside.
+         This driver can also be built as a module. If so, the module will be
+         called gpio-crystalcove.
+ config GPIO_CS5535
+       tristate "AMD CS5535/CS5536 GPIO support"
+       depends on MFD_CS5535
+       help
+         The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
+         can be used for quite a number of things.  The CS5535/6 is found on
+         AMD Geode and Lemote Yeeloong devices.
+         If unsure, say N.
+ config GPIO_DA9052
+       tristate "Dialog DA9052 GPIO"
+       depends on PMIC_DA9052
+       help
+         Say yes here to enable the GPIO driver for the DA9052 chip.
+ config GPIO_DA9055
+       tristate "Dialog Semiconductor DA9055 GPIO"
+       depends on MFD_DA9055
+       help
+         Say yes here to enable the GPIO driver for the DA9055 chip.
+         The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
+         be controller by this driver.
+         If driver is built as a module it will be called gpio-da9055.
+ config GPIO_DLN2
+       tristate "Diolan DLN2 GPIO support"
+       depends on MFD_DLN2
+       select GPIOLIB_IRQCHIP
+       help
+         Select this option to enable GPIO driver for the Diolan DLN2
+         board.
+         This driver can also be built as a module. If so, the module
+         will be called gpio-dln2.
+ config GPIO_JANZ_TTL
+       tristate "Janz VMOD-TTL Digital IO Module"
+       depends on MFD_JANZ_CMODIO
+       help
+         This enables support for the Janz VMOD-TTL Digital IO module.
+         This driver provides support for driving the pins in output
+         mode only. Input mode is not supported.
+ config GPIO_KEMPLD
+       tristate "Kontron ETX / COMexpress GPIO"
+       depends on MFD_KEMPLD
+       help
+         This enables support for the PLD GPIO interface on some Kontron ETX
+         and COMexpress (ETXexpress) modules.
+         This driver can also be built as a module. If so, the module will be
+         called gpio-kempld.
+ config GPIO_LP3943
+       tristate "TI/National Semiconductor LP3943 GPIO expander"
+       depends on MFD_LP3943
+       help
+         GPIO driver for LP3943 MFD.
+         LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
+         Open drain outputs are required for this usage.
+ config GPIO_MSIC
+       bool "Intel MSIC mixed signal gpio support"
+       depends on MFD_INTEL_MSIC
+       help
+         Enable support for GPIO on intel MSIC controllers found in
+         intel MID devices
+ config GPIO_PALMAS
+       bool "TI PALMAS series PMICs GPIO"
+       depends on MFD_PALMAS
+       help
+         Select this option to enable GPIO driver for the TI PALMAS
+         series chip family.
+ config GPIO_RC5T583
+       bool "RICOH RC5T583 GPIO"
+       depends on MFD_RC5T583
+       help
+         Select this option to enable GPIO driver for the Ricoh RC5T583
+         chip family.
+         This driver provides the support for driving/reading the gpio pins
+         of RC5T583 device through standard gpio library.
  config GPIO_STMPE
        bool "STMPE GPIOs"
        depends on MFD_STMPE
          This enables support for the GPIOs found on the STMPE I/O
          Expanders.
  
- config GPIO_STP_XWAY
-       bool "XWAY STP GPIOs"
-       depends on SOC_XWAY
-       help
-         This enables support for the Serial To Parallel (STP) unit found on
-         XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
-         that can be up to 24 bit. This peripheral is aimed at driving leds.
-         Some of the gpios/leds can be auto updated by the soc with dsl and
-         phy status.
  config GPIO_TC3589X
        bool "TC3589X GPIOs"
        depends on MFD_TC3589X
 +      depends on OF_GPIO
        select GPIOLIB_IRQCHIP
        help
          This enables support for the GPIOs found on the TC3589X
          I/O Expander.
  
+ config GPIO_TIMBERDALE
+       bool "Support for timberdale GPIO IP"
+       depends on MFD_TIMBERDALE
+       ---help---
+       Add support for the GPIO IP in the timberdale FPGA.
+ config GPIO_TPS6586X
+       bool "TPS6586X GPIO"
+       depends on MFD_TPS6586X
+       help
+         Select this option to enable GPIO driver for the TPS6586X
+         chip family.
+ config GPIO_TPS65910
+       bool "TPS65910 GPIO"
+       depends on MFD_TPS65910
+       help
+         Select this option to enable GPIO driver for the TPS65910
+         chip family.
  config GPIO_TPS65912
        tristate "TI TPS65912 GPIO"
        depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
@@@ -695,6 -830,13 +831,13 @@@ config GPIO_TWL604
          Say yes here to access the GPO signals of twl6040
          audio chip from Texas Instruments.
  
+ config GPIO_UCB1400
+       tristate "Philips UCB1400 GPIO"
+       depends on UCB1400_CORE
+       help
+         This enables support for the Philips UCB1400 GPIO pins.
+         The UCB1400 is an AC97 audio codec.
  config GPIO_WM831X
        tristate "WM831x GPIOs"
        depends on MFD_WM831X
@@@ -716,50 -858,22 +859,22 @@@ config GPIO_WM899
          Say yes here to access the GPIO signals of WM8994 audio hub
          CODECs from Wolfson Microelectronics.
  
- config GPIO_ADP5520
-       tristate "GPIO Support for ADP5520 PMIC"
-       depends on PMIC_ADP5520
-       help
-         This option enables support for on-chip GPIO found
-         on Analog Devices ADP5520 PMICs.
+ endmenu
  
- config GPIO_ADP5588
-       tristate "ADP5588 I2C GPIO expander"
-       depends on I2C
-       help
-         This option enables support for 18 GPIOs found
-         on Analog Devices ADP5588 GPIO Expanders.
- config GPIO_ADP5588_IRQ
-       bool "Interrupt controller support for ADP5588"
-       depends on GPIO_ADP5588=y
-       help
-         Say yes here to enable the adp5588 to be used as an interrupt
-         controller. It requires the driver to be built in the kernel.
+ menu "PCI GPIO expanders"
+       depends on PCI
  
- config GPIO_ADNP
-       tristate "Avionic Design N-bit GPIO expander"
-       depends on I2C && OF_GPIO
-       select GPIOLIB_IRQCHIP
+ config GPIO_AMD8111
+       tristate "AMD 8111 GPIO driver"
+       depends on PCI
        help
-         This option enables support for N GPIOs found on Avionic Design
-         I2C GPIO expanders. The register space will be extended by powers
-         of two, so the controller will need to accommodate for that. For
-         example: if a controller provides 48 pins, 6 registers will be
-         enough to represent all pins, but the driver will assume a
-         register layout for 64 pins (8 registers).
- comment "PCI GPIO expanders:"
+         The AMD 8111 south bridge contains 32 GPIO pins which can be used.
  
- config GPIO_CS5535
-       tristate "AMD CS5535/CS5536 GPIO support"
-       depends on MFD_CS5535
-       help
-         The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
-         can be used for quite a number of things.  The CS5535/6 is found on
-         AMD Geode and Lemote Yeeloong devices.
+         Note, that usually system firmware/ACPI handles GPIO pins on their
+         own and users might easily break their systems with uncarefull usage
+         of this driver!
  
-         If unsure, say N.
+         If unsure, say N
  
  config GPIO_BT8XX
        tristate "BT8XX GPIO abuser"
  
          If unsure, say N.
  
- config GPIO_AMD8111
-       tristate "AMD 8111 GPIO driver"
-       depends on PCI
-       help
-         The AMD 8111 south bridge contains 32 GPIO pins which can be used.
-         Note, that usually system firmware/ACPI handles GPIO pins on their
-         own and users might easily break their systems with uncarefull usage
-         of this driver!
-         If unsure, say N
  config GPIO_INTEL_MID
        bool "Intel Mid GPIO support"
        depends on PCI && X86
        help
          Say Y here to support Intel Mid GPIO.
  
+ config GPIO_ML_IOH
+       tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
+       depends on PCI
+       select GENERIC_IRQ_CHIP
+       help
+         ML7213 is companion chip for Intel Atom E6xx series.
+         This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
+         Hub) which is for IVI(In-Vehicle Infotainment) use.
+         This driver can access the IOH's GPIO device.
  config GPIO_PCH
        tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
        depends on PCI && (X86_32 || COMPILE_TEST)
          ML7223/ML7831 is companion chip for Intel Atom E6xx series.
          ML7223/ML7831 is completely compatible for Intel EG20T PCH.
  
- config GPIO_ML_IOH
-       tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
+ config GPIO_RDC321X
+       tristate "RDC R-321x GPIO support"
        depends on PCI
-       select GENERIC_IRQ_CHIP
+       select MFD_CORE
+       select MFD_RDC321X
        help
-         ML7213 is companion chip for Intel Atom E6xx series.
-         This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
-         Hub) which is for IVI(In-Vehicle Infotainment) use.
-         This driver can access the IOH's GPIO device.
+         Support for the RDC R321x SoC GPIOs over southbridge
+         PCI configuration space.
  
  config GPIO_SODAVILLE
        bool "Intel Sodaville GPIO support"
        help
          Say Y here to support Intel Sodaville GPIO.
  
- config GPIO_TIMBERDALE
-       bool "Support for timberdale GPIO IP"
-       depends on MFD_TIMBERDALE
-       ---help---
-       Add support for the GPIO IP in the timberdale FPGA.
+ endmenu
  
- config GPIO_RDC321X
-       tristate "RDC R-321x GPIO support"
-       depends on PCI
-       select MFD_CORE
-       select MFD_RDC321X
-       help
-         Support for the RDC R321x SoC GPIOs over southbridge
-         PCI configuration space.
+ menu "SPI GPIO expanders"
+       depends on SPI_MASTER
  
- comment "SPI GPIO expanders:"
+ config GPIO_74X164
+       tristate "74x164 serial-in/parallel-out 8-bits shift register"
+       depends on SPI_MASTER && OF
+       help
+         Driver for 74x164 compatible serial-in/parallel-out 8-outputs
+         shift registers. This driver can be used to provide access
+         to more gpio outputs.
  
  config GPIO_MAX7301
        tristate "Maxim MAX7301 GPIO expander"
@@@ -870,80 -977,10 +978,10 @@@ config GPIO_MC3388
          SPI driver for Freescale MC33880 high-side/low-side switch.
          This provides GPIO interface supporting inputs and outputs.
  
- config GPIO_74X164
-       tristate "74x164 serial-in/parallel-out 8-bits shift register"
-       depends on SPI_MASTER && OF
-       help
-         Driver for 74x164 compatible serial-in/parallel-out 8-outputs
-         shift registers. This driver can be used to provide access
-         to more gpio outputs.
- comment "AC97 GPIO expanders:"
- config GPIO_UCB1400
-       tristate "Philips UCB1400 GPIO"
-       depends on UCB1400_CORE
-       help
-         This enables support for the Philips UCB1400 GPIO pins.
-         The UCB1400 is an AC97 audio codec.
- comment "LPC GPIO expanders:"
- config GPIO_KEMPLD
-       tristate "Kontron ETX / COMexpress GPIO"
-       depends on MFD_KEMPLD
-       help
-         This enables support for the PLD GPIO interface on some Kontron ETX
-         and COMexpress (ETXexpress) modules.
-         This driver can also be built as a module. If so, the module will be
-         called gpio-kempld.
- comment "MODULbus GPIO expanders:"
- config GPIO_JANZ_TTL
-       tristate "Janz VMOD-TTL Digital IO Module"
-       depends on MFD_JANZ_CMODIO
-       help
-         This enables support for the Janz VMOD-TTL Digital IO module.
-         This driver provides support for driving the pins in output
-         mode only. Input mode is not supported.
- config GPIO_PALMAS
-       bool "TI PALMAS series PMICs GPIO"
-       depends on MFD_PALMAS
-       help
-         Select this option to enable GPIO driver for the TI PALMAS
-         series chip family.
- config GPIO_TPS6586X
-       bool "TPS6586X GPIO"
-       depends on MFD_TPS6586X
-       help
-         Select this option to enable GPIO driver for the TPS6586X
-         chip family.
- config GPIO_TPS65910
-       bool "TPS65910 GPIO"
-       depends on MFD_TPS65910
-       help
-         Select this option to enable GPIO driver for the TPS65910
-         chip family.
- config GPIO_MSIC
-       bool "Intel MSIC mixed signal gpio support"
-       depends on MFD_INTEL_MSIC
-       help
-         Enable support for GPIO on intel MSIC controllers found in
-         intel MID devices
+ endmenu
  
- config GPIO_BCM_KONA
-       bool "Broadcom Kona GPIO"
-       depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
-       help
-         Turn on GPIO support for Broadcom "Kona" chips.
- comment "USB GPIO expanders:"
+ menu "USB GPIO expanders"
+       depends on USB
  
  config GPIO_VIPERBOARD
        tristate "Viperboard GPIO a & b support"
            River Tech's viperboard.h for detailed meaning
            of the module parameters.
  
- config GPIO_DLN2
-       tristate "Diolan DLN2 GPIO support"
-       depends on MFD_DLN2
-       select GPIOLIB_IRQCHIP
-       help
-         Select this option to enable GPIO driver for the Diolan DLN2
-         board.
-         This driver can also be built as a module. If so, the module
-         will be called gpio-dln2.
+ endmenu
  
  endif
index 9665d0aa4ebbf5352a3389fff9cb4bf75df49cce,eb5a0ce49fa59ecc0c8486a40d7a2d78d7b998aa..052fbc8fdaaa69da322297e6497a13778f3dabe3
@@@ -103,7 -103,7 +103,7 @@@ static int arizona_gpio_probe(struct pl
  
        arizona_gpio = devm_kzalloc(&pdev->dev, sizeof(*arizona_gpio),
                                    GFP_KERNEL);
-       if (arizona_gpio == NULL)
+       if (!arizona_gpio)
                return -ENOMEM;
  
        arizona_gpio->arizona = arizona;
        switch (arizona->type) {
        case WM5102:
        case WM5110:
 +      case WM8280:
        case WM8997:
                arizona_gpio->gpio_chip.ngpio = 5;
                break;
@@@ -156,7 -155,6 +156,6 @@@ static int arizona_gpio_remove(struct p
  
  static struct platform_driver arizona_gpio_driver = {
        .driver.name    = "arizona-gpio",
-       .driver.owner   = THIS_MODULE,
        .probe          = arizona_gpio_probe,
        .remove         = arizona_gpio_remove,
  };
index df990f29757a7e045fd8a42760944b2d8bd2ba84,e958f716df9431638c3de488082a659d79194557..d2303d50f56141c527c9d8b82c956c6c8169e239
@@@ -201,10 -201,6 +201,10 @@@ static acpi_status acpi_gpiochip_reques
        if (!handler)
                return AE_BAD_PARAMETER;
  
 +      pin = acpi_gpiochip_pin_to_gpio_offset(chip, pin);
 +      if (pin < 0)
 +              return AE_BAD_PARAMETER;
 +
        desc = gpiochip_request_own_desc(chip, pin, "ACPI:Event");
        if (IS_ERR(desc)) {
                dev_err(chip->dev, "Failed to request GPIO\n");
@@@ -304,7 -300,7 +304,7 @@@ void acpi_gpiochip_request_interrupts(s
                return;
  
        INIT_LIST_HEAD(&acpi_gpio->events);
-       acpi_walk_resources(ACPI_HANDLE(chip->dev), "_AEI",
+       acpi_walk_resources(handle, "_AEI",
                            acpi_gpiochip_request_interrupt, acpi_gpio);
  }
  
@@@ -555,12 -551,6 +555,12 @@@ acpi_gpio_adr_space_handler(u32 functio
                struct gpio_desc *desc;
                bool found;
  
 +              pin = acpi_gpiochip_pin_to_gpio_offset(chip, pin);
 +              if (pin < 0) {
 +                      status = AE_BAD_PARAMETER;
 +                      goto out;
 +              }
 +
                mutex_lock(&achip->conn_lock);
  
                found = false;
@@@ -722,3 -712,87 +722,87 @@@ void acpi_gpiochip_remove(struct gpio_c
        acpi_detach_data(handle, acpi_gpio_chip_dh);
        kfree(acpi_gpio);
  }
+ static unsigned int acpi_gpio_package_count(const union acpi_object *obj)
+ {
+       const union acpi_object *element = obj->package.elements;
+       const union acpi_object *end = element + obj->package.count;
+       unsigned int count = 0;
+       while (element < end) {
+               if (element->type == ACPI_TYPE_LOCAL_REFERENCE)
+                       count++;
+               element++;
+       }
+       return count;
+ }
+ static int acpi_find_gpio_count(struct acpi_resource *ares, void *data)
+ {
+       unsigned int *count = data;
+       if (ares->type == ACPI_RESOURCE_TYPE_GPIO)
+               *count += ares->data.gpio.pin_table_length;
+       return 1;
+ }
+ /**
+  * acpi_gpio_count - return the number of GPIOs associated with a
+  *            device / function or -ENOENT if no GPIO has been
+  *            assigned to the requested function.
+  * @dev:      GPIO consumer, can be NULL for system-global GPIOs
+  * @con_id:   function within the GPIO consumer
+  */
+ int acpi_gpio_count(struct device *dev, const char *con_id)
+ {
+       struct acpi_device *adev = ACPI_COMPANION(dev);
+       const union acpi_object *obj;
+       const struct acpi_gpio_mapping *gm;
+       int count = -ENOENT;
+       int ret;
+       char propname[32];
+       unsigned int i;
+       /* Try first from _DSD */
+       for (i = 0; i < ARRAY_SIZE(gpio_suffixes); i++) {
+               if (con_id && strcmp(con_id, "gpios"))
+                       snprintf(propname, sizeof(propname), "%s-%s",
+                                con_id, gpio_suffixes[i]);
+               else
+                       snprintf(propname, sizeof(propname), "%s",
+                                gpio_suffixes[i]);
+               ret = acpi_dev_get_property(adev, propname, ACPI_TYPE_ANY,
+                                           &obj);
+               if (ret == 0) {
+                       if (obj->type == ACPI_TYPE_LOCAL_REFERENCE)
+                               count = 1;
+                       else if (obj->type == ACPI_TYPE_PACKAGE)
+                               count = acpi_gpio_package_count(obj);
+               } else if (adev->driver_gpios) {
+                       for (gm = adev->driver_gpios; gm->name; gm++)
+                               if (strcmp(propname, gm->name) == 0) {
+                                       count = gm->size;
+                                       break;
+                               }
+               }
+               if (count >= 0)
+                       break;
+       }
+       /* Then from plain _CRS GPIOs */
+       if (count < 0) {
+               struct list_head resource_list;
+               unsigned int crs_count = 0;
+               INIT_LIST_HEAD(&resource_list);
+               acpi_dev_get_resources(adev, &resource_list,
+                                      acpi_find_gpio_count, &crs_count);
+               acpi_dev_free_resource_list(&resource_list);
+               if (crs_count > 0)
+                       count = crs_count;
+       }
+       return count;
+ }
index 4650bf830d6b6306f96e309d4f2782da8a859575,468d76ac1e843686ae5898432498e1ee6655653d..a6c67c6b468045f9325e6249019f0c1080a46398
@@@ -22,6 -22,7 +22,7 @@@
  #include <linux/of_gpio.h>
  #include <linux/pinctrl/pinctrl.h>
  #include <linux/slab.h>
+ #include <linux/gpio/machine.h>
  
  #include "gpiolib.h"
  
@@@ -46,13 -47,12 +47,13 @@@ static int of_gpiochip_find_and_xlate(s
  
        ret = gc->of_xlate(gc, &gg_data->gpiospec, gg_data->flags);
        if (ret < 0) {
 -              /* We've found the gpio chip, but the translation failed.
 -               * Return true to stop looking and return the translation
 -               * error via out_gpio
 +              /* We've found a gpio chip, but the translation failed.
 +               * Store translation error in out_gpio.
 +               * Return false to keep looking, as more than one gpio chip
 +               * could be registered per of-node.
                 */
                gg_data->out_gpio = ERR_PTR(ret);
 -              return true;
 +              return false;
         }
  
        gg_data->out_gpio = gpiochip_get_desc(gc, ret);
@@@ -117,6 -117,114 +118,114 @@@ int of_get_named_gpio_flags(struct devi
  }
  EXPORT_SYMBOL(of_get_named_gpio_flags);
  
+ /**
+  * of_get_gpio_hog() - Get a GPIO hog descriptor, names and flags for GPIO API
+  * @np:               device node to get GPIO from
+  * @name:     GPIO line name
+  * @lflags:   gpio_lookup_flags - returned from of_find_gpio() or
+  *            of_get_gpio_hog()
+  * @dflags:   gpiod_flags - optional GPIO initialization flags
+  *
+  * Returns GPIO descriptor to use with Linux GPIO API, or one of the errno
+  * value on the error condition.
+  */
+ static struct gpio_desc *of_get_gpio_hog(struct device_node *np,
+                                 const char **name,
+                                 enum gpio_lookup_flags *lflags,
+                                 enum gpiod_flags *dflags)
+ {
+       struct device_node *chip_np;
+       enum of_gpio_flags xlate_flags;
+       struct gpio_desc *desc;
+       struct gg_data gg_data = {
+               .flags = &xlate_flags,
+       };
+       u32 tmp;
+       int i, ret;
+       chip_np = np->parent;
+       if (!chip_np)
+               return ERR_PTR(-EINVAL);
+       xlate_flags = 0;
+       *lflags = 0;
+       *dflags = 0;
+       ret = of_property_read_u32(chip_np, "#gpio-cells", &tmp);
+       if (ret)
+               return ERR_PTR(ret);
+       if (tmp > MAX_PHANDLE_ARGS)
+               return ERR_PTR(-EINVAL);
+       gg_data.gpiospec.args_count = tmp;
+       gg_data.gpiospec.np = chip_np;
+       for (i = 0; i < tmp; i++) {
+               ret = of_property_read_u32_index(np, "gpios", i,
+                                          &gg_data.gpiospec.args[i]);
+               if (ret)
+                       return ERR_PTR(ret);
+       }
+       gpiochip_find(&gg_data, of_gpiochip_find_and_xlate);
+       if (!gg_data.out_gpio) {
+               if (np->parent == np)
+                       return ERR_PTR(-ENXIO);
+               else
+                       return ERR_PTR(-EINVAL);
+       }
+       if (xlate_flags & OF_GPIO_ACTIVE_LOW)
+               *lflags |= GPIO_ACTIVE_LOW;
+       if (of_property_read_bool(np, "input"))
+               *dflags |= GPIOD_IN;
+       else if (of_property_read_bool(np, "output-low"))
+               *dflags |= GPIOD_OUT_LOW;
+       else if (of_property_read_bool(np, "output-high"))
+               *dflags |= GPIOD_OUT_HIGH;
+       else {
+               pr_warn("GPIO line %d (%s): no hogging state specified, bailing out\n",
+                       desc_to_gpio(gg_data.out_gpio), np->name);
+               return ERR_PTR(-EINVAL);
+       }
+       if (name && of_property_read_string(np, "line-name", name))
+               *name = np->name;
+       desc = gg_data.out_gpio;
+       return desc;
+ }
+ /**
+  * of_gpiochip_scan_hogs - Scan gpio-controller and apply GPIO hog as requested
+  * @chip:     gpio chip to act on
+  *
+  * This is only used by of_gpiochip_add to request/set GPIO initial
+  * configuration.
+  */
+ static void of_gpiochip_scan_hogs(struct gpio_chip *chip)
+ {
+       struct gpio_desc *desc = NULL;
+       struct device_node *np;
+       const char *name;
+       enum gpio_lookup_flags lflags;
+       enum gpiod_flags dflags;
+       for_each_child_of_node(chip->of_node, np) {
+               if (!of_property_read_bool(np, "gpio-hog"))
+                       continue;
+               desc = of_get_gpio_hog(np, &name, &lflags, &dflags);
+               if (IS_ERR(desc))
+                       continue;
+               if (gpiod_hog(desc, name, lflags, dflags))
+                       continue;
+       }
+ }
  /**
   * of_gpio_simple_xlate - translate gpio_spec to the GPIO number and flags
   * @gc:               pointer to the gpio_chip structure
@@@ -326,6 -434,8 +435,8 @@@ void of_gpiochip_add(struct gpio_chip *
  
        of_gpiochip_add_pin_range(chip);
        of_node_get(chip->of_node);
+       of_gpiochip_scan_hogs(chip);
  }
  
  void of_gpiochip_remove(struct gpio_chip *chip)
diff --combined drivers/gpio/gpiolib.h
index ab892be26dc21005e22e42f00221f647bb2e2923,54bc5ec9139874a0204f5f5e7f6c67e62bf05dee..594b1798c0e7c69e7841e1b401b03326daa8db07
@@@ -17,8 -17,6 +17,8 @@@
  
  enum of_gpio_flags;
  
 +struct acpi_device;
 +
  /**
   * struct acpi_gpio_info - ACPI GPIO specific information
   * @gpioint: if %true this GPIO is of type GpioInt otherwise type is GpioIo
@@@ -29,6 -27,9 +29,9 @@@ struct acpi_gpio_info 
        bool active_low;
  };
  
+ /* gpio suffixes used for ACPI and device tree lookup */
+ static const char * const gpio_suffixes[] = { "gpios", "gpio" };
  #ifdef CONFIG_ACPI
  void acpi_gpiochip_add(struct gpio_chip *chip);
  void acpi_gpiochip_remove(struct gpio_chip *chip);
@@@ -39,6 -40,8 +42,8 @@@ void acpi_gpiochip_free_interrupts(stru
  struct gpio_desc *acpi_get_gpiod_by_index(struct acpi_device *adev,
                                          const char *propname, int index,
                                          struct acpi_gpio_info *info);
+ int acpi_gpio_count(struct device *dev, const char *con_id);
  #else
  static inline void acpi_gpiochip_add(struct gpio_chip *chip) { }
  static inline void acpi_gpiochip_remove(struct gpio_chip *chip) { }
@@@ -55,6 -58,11 +60,11 @@@ acpi_get_gpiod_by_index(struct acpi_dev
  {
        return ERR_PTR(-ENOSYS);
  }
+ static inline int acpi_gpio_count(struct device *dev, const char *con_id)
+ {
+       return -ENODEV;
+ }
  #endif
  
  struct gpio_desc *of_get_named_gpiod_flags(struct device_node *np,
@@@ -80,6 -88,7 +90,7 @@@ struct gpio_desc 
  #define FLAG_OPEN_SOURCE 8    /* Gpio is open source type */
  #define FLAG_USED_AS_IRQ 9    /* GPIO is connected to an IRQ */
  #define FLAG_SYSFS_DIR        10      /* show sysfs direction attribute */
+ #define FLAG_IS_HOGGED        11      /* GPIO is hogged */
  
  #define ID_SHIFT      16      /* add new flags before this one */
  
  
  int gpiod_request(struct gpio_desc *desc, const char *label);
  void gpiod_free(struct gpio_desc *desc);
+ int gpiod_hog(struct gpio_desc *desc, const char *name,
+               unsigned long lflags, enum gpiod_flags dflags);
  
  /*
   * Return the GPIO number of the passed descriptor relative to its chip
This page took 0.229994 seconds and 4 git commands to generate.