1. 14 Apr, 2016 10 commits
    • Alexander Stein's avatar
      gpio: gpiolib-of: Allow compile testing · 1e4a8064
      Alexander Stein authored
      Lower dependencies for compile testing.
      Signed-off-by: default avatarAlexander Stein <alexanders83@web.de>
      1e4a8064
    • Linus Walleij's avatar
      gpio: wm8994: use the new open drain callback · 190ea434
      Linus Walleij authored
      The WM8994 GPIOs clearly have a dedicated open drain control
      register. Implement support for controlling this from GPIO
      descriptor tables or other hardware descriptions such as
      device tree by implementing the .set_single_ended() callback.
      
      Before this patch, lines requesting open drain will just be
      switched to input mode by the framework, thus emulating open
      drain. But the hardware can do the real thing, so let's
      support that.
      
      As part of this, rename the debugfs string for output mode
      from "CMOS" to "push-pull" because it is the term used in
      the framework to signify a tomem-pole CMOS output.
      
      Cc: patches@opensource.wolfsonmicro.com
      Cc: Mark Brown <broonie@kernel.org>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      190ea434
    • Linus Walleij's avatar
      gpio: wm831x: use the new open drain callback · 51c27da1
      Linus Walleij authored
      The WM831x GPIOs clearly have a dedicated open drain control
      register. Implement support for controlling this from GPIO
      descriptor tables or other hardware descriptions such as
      device tree by implementing the .set_single_ended() callback.
      
      Before this patch, lines requesting open drain will just be
      switched to input mode by the framework, thus emulating open
      drain. But the hardware can do the real thing, so let's
      support that.
      
      As part of this, rename the debugfs string for output mode
      from "CMOS" to "push-pull" because it is the term used in
      the framework to signify a tomem-pole CMOS output.
      
      Cc: patches@opensource.wolfsonmicro.com
      Cc: Mark Brown <broonie@kernel.org>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      51c27da1
    • Linus Walleij's avatar
      gpio: vx855: use the new open drain callback · 640b9135
      Linus Walleij authored
      The vx855 driver clearly states it has three groups of lines:
      GPI, GPO and GPIO. The GPO are assumedly push-pull. The GPIO
      are implicit open drain, but if the GPIO subsystem ask for them
      to be explicitly open drain (i.e. set the flag on a machine table
      that we want open drain) it will currently misbehave: it will
      switch the GPIOs to input mode (emulate open drain). Instead:
      indicate in the .set_single_ended() callback that we support
      open drain and open drain only.
      
      Cc: Daniel Drake <drake@endlessm.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      640b9135
    • Linus Walleij's avatar
      gpio: menz127: use the new open drain callback · 811a1882
      Linus Walleij authored
      The menz127 driver tries to support open drain by detecting it
      at request time. However: without the new callbacks from the
      gpiolib it is not really working: the core will still just emulate
      the open drain mode by switching the line to an input.
      
      By adding a hook into the new .set_single_ended() call rather than
      trying to autodetect at request() time, proper open drain can be
      supported.
      
      Cc: Andreas Werner <andy@wernerandy.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      811a1882
    • Linus Walleij's avatar
      gpio: f7188x: use the new open drain callback · f90c6bdb
      Linus Walleij authored
      The F7188x chips supports setting the pins in open drain mode.
      Activate the new .set_single_ended() callback.
      
      Cc: Peter Hung <hpeter@gmail.com>
      Cc: Andreas Bofjall <andreas@gazonk.org>
      Cc: Simon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      f90c6bdb
    • Linus Walleij's avatar
      gpio: f7188x: use BIT() macro · 148c8642
      Linus Walleij authored
      Align to how we handle bitmasks in most drivers in the
      subsystem: using the BIT(n) macro over (1 << n).
      
      Cc: Peter Hung <hpeter@gmail.com>
      Cc: Andreas Bofjall <andreas@gazonk.org>
      Cc: Simon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      148c8642
    • Linus Walleij's avatar
      gpio: sx150x: use the new open drain callback · 04b86956
      Linus Walleij authored
      One variant of the SX150X GPIO chip supports setting the pins in
      open drain mode. This is currently available to set from platform
      data, but completely unused in the kernel.
      
      Activate the new .set_single_ended() callback so users can set
      this up from e.g. device tree or board files using the new
      GPIO descriptors.
      
      As part of this, delete the platform data open drain setting
      method.
      
      Cc: Wei Chen <Wei.Chen@csr.com>
      Cc: Peter Rosin <peda@axentia.se>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      04b86956
    • Linus Walleij's avatar
      gpio: sx150x: move platform data into driver · d17322fe
      Linus Walleij authored
      The sx150x has some platform data definition in <linux/i2c/sx150x.h>
      but this file is only included from the driver in the whole kernel
      so move its contents into the driver.
      
      Cc: Wei Chen <Wei.Chen@csr.com>
      Cc: Peter Rosin <peda@axentia.se>
      Acked-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      d17322fe
    • Linus Walleij's avatar
      gpio: tps65218: use the new open drain callback · f30e49f1
      Linus Walleij authored
      The TPS65218 supports open drain mode on its three pins,
      with one of them configurable also as push-pull. Use the
      new .set_single_ended() callback to set this up properly
      from the core, so the core actually see it can drive the
      pin(s) as open drain, and does not attempt to emulate
      open drain by switching the pin to an input.
      Acked-by: default avatarNicolas Saenz Julienne <nicolassaenzj@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      f30e49f1
  2. 13 Apr, 2016 2 commits
  3. 09 Apr, 2016 4 commits
  4. 05 Apr, 2016 9 commits
    • Paul Gortmaker's avatar
      gpio: tps6586x: make explicitly non-modular · a0e63738
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_TPS6586X
      drivers/gpio/Kconfig:   bool "TPS6586X GPIO"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Laxman Dewangan <ldewangan@nvidia.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      a0e63738
    • Paul Gortmaker's avatar
      gpio: tps65910: make explicitly non-modular · 02c7a13e
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_TPS65910
      drivers/gpio/Kconfig:   bool "TPS65910 GPIO"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Graeme Gregory <gg@slimlogic.co.uk>
      Cc: Jorge Eduardo Candelaria <jedu@slimlogic.co.uk>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      02c7a13e
    • Paul Gortmaker's avatar
      gpio: palmas: make explicitly non-modular · f9f2b5cb
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_PALMAS
      drivers/gpio/Kconfig:   bool "TI PALMAS series PMICs GPIO"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Laxman Dewangan <ldewangan@nvidia.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      f9f2b5cb
    • Paul Gortmaker's avatar
      gpio: sx150x: make explicitly non-modular · 24a876ce
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_SX150X
      drivers/gpio/Kconfig:   bool "Semtech SX150x I2C GPIO expander"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Gregory Bean <gbean@codeaurora.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      24a876ce
    • Paul Gortmaker's avatar
      gpio: tc3589x: make explicitly non-modular · 85133341
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_TC3589X
      drivers/gpio/Kconfig:   bool "TC3589X GPIOs"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Rabin Vincent <rabin.vincent@stericsson.com>
      Cc: Hanumath Prasad <hanumath.prasad@stericsson.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      85133341
    • Paul Gortmaker's avatar
      gpio: rc5t583: make explicitly non-modular · fe7b7788
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_RC5T583
      drivers/gpio/Kconfig:   bool "RICOH RC5T583 GPIO"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Laxman Dewangan <ldewangan@nvidia.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      fe7b7788
    • Linus Walleij's avatar
      gpio: tc3589x: implement open drain/source callback · 8b866b06
      Linus Walleij authored
      This makes use of the new .set_single_ended() callback to
      set the GPIO line as open drain/open source using hardware.
      The TC3589x can do this by either disabling the N-MOS
      transistor (open drain) or the P-MOS transistor (open source)
      of the output driver stage, in the first case making the signal
      drive actively low and high impedance as "high" and in the second
      case actively high and high impedance, which is as close to native
      open drain support as we come.
      
      Cc: Michael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      8b866b06
    • Linus Walleij's avatar
      gpio: tc3589x: use BIT() macro · cee1b40d
      Linus Walleij authored
      This switch to use BIT(n) instead of (1 << n) which is less
      to the point. Most GPIO drivers do this to avoid mistakes.
      Also switch from using <linux/gpio.h> to the apropriate
      <linux/gpio/driver.h> include.
      Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      cee1b40d
    • Linus Walleij's avatar
      gpio: support native single-ended hardware drivers · c663e5f5
      Linus Walleij authored
      Some GPIO controllers has a special hardware bit we can flip
      to support open drain / source. This means that on these hardwares
      we do not need to emulate OD/OS by setting the line to input
      instead of actively driving it high/low. Add an optional vtable
      callback to the driver set_single_ended() so that driver can
      implement this in hardware if they have it.
      
      We may need a pinctrl_gpio_set_config() call at some point to
      propagate this down to a backing pin control device on systems
      with split GPIO/pin control.
      Reported-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      c663e5f5
  5. 31 Mar, 2016 15 commits
    • Axel Lin's avatar
      gpio: tpic2810: Make sure cached buffer has consistent status with h/w status · 6e66a659
      Axel Lin authored
      i2c_smbus_write_byte_data() can fail. To ensure the
      cached buffer has consistent status with h/w status, don't
      update the cached gpio->buffer if write fails.
      
      Also refactor the code a bit by adding a tpic2810_set_mask_bits()
      helper and use it to simplify the code.
      Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
      Reviewed-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      6e66a659
    • Paul Gortmaker's avatar
      gpio: zx: make explicitly non-modular · 18fb0a98
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      config GPIO_ZX
              bool "ZTE ZX GPIO support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modularity so that when reading the
      driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Jun Nie <jun.nie@linaro.org>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      18fb0a98
    • Paul Gortmaker's avatar
      gpio: xgene: make explicitly non-modular · b33d12d3
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_XGENE
      drivers/gpio/Kconfig:   bool "APM X-Gene GPIO controller support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Feng Kan <fkan@apm.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      b33d12d3
    • Paul Gortmaker's avatar
      gpio: sta2x11: make explicitly non-modular · 3c90c6d6
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_STA2X11
      drivers/gpio/Kconfig:   bool "STA2x11/ConneXt GPIO support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modularity, so that when reading
      the driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      3c90c6d6
    • Paul Gortmaker's avatar
      gpio: pl061: make explicitly non-modular · ef3e7100
      Paul Gortmaker authored
      The Kconfig for this driver is currently:
      
      config GPIO_PL061
              bool "PrimeCell PL061 GPIO support"
      
      ...meaning that it currently is not being built as a module by anyone.
      Lets remove the couple traces of modularity, so that when reading the
      driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      ef3e7100
    • Paul Gortmaker's avatar
      gpio: mvebu: make explicitly non-modular · ed329f3a
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_MVEBU
      drivers/gpio/Kconfig:   def_bool y
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modularity so that when reading the
      driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      ed329f3a
    • Paul Gortmaker's avatar
      gpio: moxart: make explicitly non-modular · 4bb9f725
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_MOXART
      drivers/gpio/Kconfig:   bool "MOXART GPIO support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular references so that when reading
      the driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      We don't replace module.h with init.h since the file already has that.
      
      Cc: Jonas Jensen <jonas.jensen@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      4bb9f725
    • Paul Gortmaker's avatar
      gpio: mc9s08dz60: make explicitly non-modular · 0de6a80d
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/gpio/Kconfig:config GPIO_MC9S08DZ60
      drivers/gpio/Kconfig:   bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_i2c_driver() uses the same init level priority as
      builtin_i2c_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Wu Guoxing <b39297@freescale.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      0de6a80d
    • Paul Gortmaker's avatar
      gpio: mb86s7x: make explicitly non-modular · d5610e51
      Paul Gortmaker authored
      The Kconfig for this driver is currently:
      
      config GPIO_MB86S7X
              bool "GPIO support for Fujitsu MB86S7x Platforms"
      
      ...meaning that it currently is not being built as a module by anyone.
      Lets remove the couple traces of modularity, so that when reading the
      driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      d5610e51
    • Paul Gortmaker's avatar
      gpio: bcm-kona: make explicitly non-modular · 8f3e19fa
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      config GPIO_BCM_KONA
              bool "Broadcom Kona GPIO"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modularity so that when reading the
      driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Ray Jui <rjui@broadcom.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: bcm-kernel-feedback-list@broadcom.com
      Cc: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      8f3e19fa
    • Martin Blumenstingl's avatar
      gpio: gpio-it87: Add support for IT8620 and IT8628 · 8fccdb58
      Martin Blumenstingl authored
      These chips seem to have a 9th GPIO block (thus supporting 72 GPIOs)
      which is configured through SuperIO register 0xd2 (output enable) and
      0xd3 (simple I/O). This is also the reason why io_size is larger than
      on IT8728 / IT8732. Unfortunately I don't have hardware to test this 9th
      GPIO block.
      
      I am also not sure about not configuring the Simple I/O registers as the
      hardware I have only uses GPIO block 8. Reading back the values of
      0xc0-0xc7 (as configured by the BIOS/EFI on my board) shows that all
      have 0xff set.
      Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      8fccdb58
    • Geert Uytterhoeven's avatar
      tools/gpio: Add missing initialization of device_name · 691998fa
      Geert Uytterhoeven authored
      lsgpio.c: In function ‘main’:
      lsgpio.c:166:7: warning: ‘device_name’ may be used uninitialized in this functio
      n [-Wmaybe-uninitialized]
         ret = list_device(device_name);
             ^
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      691998fa
    • Geert Uytterhoeven's avatar
    • Linus Walleij's avatar
      gpio: dt-bindings: document the concept of GPIO banks · 75c004df
      Linus Walleij authored
      Cc: devicetree@vger.kernel.org
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Rob Herring <robh@kernel.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      75c004df
    • Kamlakant Patel's avatar
      gpio: xlp: Add GPIO driver support for Broadcom Vulcan ARM64 · dd98756d
      Kamlakant Patel authored
      - Add GPIO support for Broadcom Vulcan ARM64.
      - Add depends on ARCH_VULCAN to Kconfig to enable gpio controller
        driver for Broadcom Vulcan ARM64 SoCs.
      Signed-off-by: default avatarKamlakant Patel <kamlakant.patel@broadcom.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      dd98756d