1. 19 10月, 2017 2 次提交
    • L
      blackfin: Fix local <asm/gpio.h> includes · 350bdb84
      Linus Walleij 提交于
      When making the pin control submenu globally visible, all kinds
      of oddities appear, in blackfin a few files were #including
      <linux/gpio.h> and relying on that to pull in <asm/gpio.h>.
      
      This was not working when pin control but not GPIOLIB was
      selected resulting in a breakage in allmodconfig. The code these
      files were using was still there and defined in <asm/gpio.h>
      just not pulle in from just including <linux/gpio.h>
      
      Simply add the required includes explicitly in the blackfin
      kernel core and everything compiles fine.
      
      Delete the use of the incorrect <linux/gpio.h> where possible.
      
      Add stubs to <asm/gpio.h> for the functions called from PM:
      these should probably also depend on !PINCTRL but since the
      global CONFIG_PM symbol is used to compile PM support,
      we need some more intrusive thing here, to be tested by
      Blackfin maintainers.
      
      Cc: Steven Miao <realmz6@gmail.com>
      Cc: Huanhuan Feng <huanhuan.feng@analog.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      350bdb84
    • L
      pinctrl: adi2: Fix Kconfig build problem · 1c363531
      Linus Walleij 提交于
      The build robot is complaining on Blackfin:
      
      drivers/pinctrl/pinctrl-adi2.c: In function 'port_setup':
      >> drivers/pinctrl/pinctrl-adi2.c:221:21: error: dereferencing
         pointer to incomplete type 'struct gpio_port_t'
            writew(readw(&regs->port_fer) & ~BIT(offset),
                              ^~
      drivers/pinctrl/pinctrl-adi2.c: In function 'adi_gpio_ack_irq':
      >> drivers/pinctrl/pinctrl-adi2.c:266:18: error: dereferencing
      pointer to incomplete type 'struct bfin_pint_regs'
            if (readl(&regs->invert_set) & pintbit)
                           ^~
      It seems the driver need to include <asm/gpio.h> and <asm/irq.h>
      to compile.
      
      The Blackfin architecture was re-defining the Kconfig
      PINCTRL symbol which is not OK, so replaced this with
      PINCTRL_BLACKFIN_ADI2 which selects PINCTRL and PINCTRL_ADI2
      just like most arches do.
      
      Further, the old GPIO driver symbol GPIO_ADI was possible to
      select at the same time as selecting PINCTRL. This was not
      working because the arch-local <asm/gpio.h> header contains
      an explicit #ifndef PINCTRL clause making compilation break
      if you combine them. The same is true for DEBUG_MMRS.
      
      Make sure the ADI2 pinctrl driver is not selected at the same
      time as the old GPIO implementation. (This should be converted
      to use gpiolib or pincontrol and move to drivers/...) Also make
      sure the old GPIO_ADI driver or DEBUG_MMRS is not selected at
      the same time as the new PINCTRL implementation, and only make
      PINCTRL_ADI2 selectable for the Blackfin families that actually
      have it.
      
      This way it is still possible to add e.g. I2C-based pin
      control expanders on the Blackfin.
      
      Cc: Steven Miao <realmz6@gmail.com>
      Cc: Huanhuan Feng <huanhuan.feng@analog.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      1c363531
  2. 17 10月, 2017 4 次提交
  3. 15 10月, 2017 1 次提交
  4. 12 10月, 2017 1 次提交
  5. 11 10月, 2017 8 次提交
  6. 10 10月, 2017 2 次提交
  7. 08 10月, 2017 1 次提交
  8. 07 10月, 2017 7 次提交
  9. 06 10月, 2017 4 次提交
  10. 02 10月, 2017 2 次提交
  11. 27 9月, 2017 1 次提交
  12. 22 9月, 2017 1 次提交
  13. 21 9月, 2017 3 次提交
  14. 19 9月, 2017 3 次提交