1. 24 4月, 2017 1 次提交
  2. 23 3月, 2017 1 次提交
  3. 17 3月, 2017 6 次提交
  4. 11 1月, 2017 1 次提交
  5. 02 11月, 2016 1 次提交
    • J
      gpio/mvebu: Use irq_domain_add_linear · 812d4788
      Jason Gunthorpe 提交于
      This fixes the irq allocation in this driver to not print:
       irq: Cannot allocate irq_descs @ IRQ34, assuming pre-allocated
       irq: Cannot allocate irq_descs @ IRQ66, assuming pre-allocated
      
      Which happens because the driver already called irq_alloc_descs()
      and so the change to use irq_domain_add_simple resulted in calling
      irq_alloc_descs() twice.
      
      Modernize the irq allocation in this driver to use the
      irq_domain_add_linear flow directly and eliminate the use of
      irq_domain_add_simple/legacy
      
      Fixes: ce931f57 ("gpio/mvebu: convert to use irq_domain_add_simple()")
      Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      812d4788
  6. 31 3月, 2016 1 次提交
    • P
      gpio: mvebu: make explicitly non-modular · ed329f3a
      Paul Gortmaker 提交于
      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: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      ed329f3a
  7. 23 2月, 2016 1 次提交
  8. 05 1月, 2016 1 次提交
  9. 19 11月, 2015 1 次提交
    • L
      gpio: change member .dev to .parent · 58383c78
      Linus Walleij 提交于
      The name .dev in a struct is normally reserved for a struct device
      that is let us say a superclass to the thing described by the struct.
      struct gpio_chip stands out by confusingly using a struct device *dev
      to point to the parent device (such as a platform_device) that
      represents the hardware. As we want to give gpio_chip:s real devices,
      this is not working. We need to rename this member to parent.
      
      This was done by two coccinelle scripts, I guess it is possible to
      combine them into one, but I don't know such stuff. They look like
      this:
      
      @@
      struct gpio_chip *var;
      @@
      -var->dev
      +var->parent
      
      and:
      
      @@
      struct gpio_chip var;
      @@
      -var.dev
      +var.parent
      
      and:
      
      @@
      struct bgpio_chip *var;
      @@
      -var->gc.dev
      +var->gc.parent
      
      Plus a few instances of bgpio that I couldn't figure out how
      to teach Coccinelle to rewrite.
      
      This patch hits all over the place, but I *strongly* prefer this
      solution to any piecemal approaches that just exercise patch
      mechanics all over the place. It mainly hits drivers/gpio and
      drivers/pinctrl which is my own backyard anyway.
      
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Rafał Miłecki <zajec5@gmail.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
      Cc: Alek Du <alek.du@intel.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Acked-by: NJiri Kosina <jkosina@suse.cz>
      Acked-by: NHans-Christian Egtvedt <egtvedt@samfundet.no>
      Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      58383c78
  10. 17 10月, 2015 1 次提交
  11. 16 9月, 2015 1 次提交
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      Most interrupt flow handlers do not use the irq argument. Those few
      which use it can retrieve the irq number from the irq descriptor.
      
      Remove the argument.
      
      Search and replace was done with coccinelle and some extra helper
      scripts around it. Thanks to Julia for her help!
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  12. 14 7月, 2015 3 次提交
  13. 08 4月, 2015 1 次提交
    • G
      gpio: mvebu: Fix mask/unmask managment per irq chip type · 61819549
      Gregory CLEMENT 提交于
      Level IRQ handlers and edge IRQ handler are managed by tow different
      sets of registers. But currently the driver uses the same mask for the
      both registers. It lead to issues with the following scenario:
      
      First, an IRQ is requested on a GPIO to be triggered on front. After,
      this an other IRQ is requested for a GPIO of the same bank but
      triggered on level. Then the first one will be also setup to be
      triggered on level. It leads to an interrupt storm.
      
      The different kind of handler are already associated with two
      different irq chip type. With this patch the driver uses a private
      mask for each one which solves this issue.
      
      It has been tested on an Armada XP based board and on an Armada 375
      board. For the both boards, with this patch is applied, there is no
      such interrupt storm when running the previous scenario.
      
      This bug was already fixed but in a different way in the legacy
      version of this driver by Evgeniy Dushistov:
      9ece8839 "ARM: orion: Fix for certain
      sequence of request_irq can cause irq storm". The fact the new version
      of the gpio drive could be affected had been discussed there:
      http://thread.gmane.org/gmane.linux.ports.arm.kernel/344670/focus=364012Reported-by: NEvgeniy A. Dushistov <dushistov@mail.ru>
      Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
      Cc: <stable@vger.kernel.org> # v3.7 +
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      61819549
  14. 16 1月, 2015 2 次提交
  15. 03 11月, 2014 1 次提交
  16. 20 10月, 2014 1 次提交
  17. 09 5月, 2014 3 次提交
  18. 12 2月, 2014 1 次提交
    • T
      gpio: mvebu: use chained_irq_{enter,exit} for GIC compatibility · 01ca59f1
      Thomas Petazzoni 提交于
      On currently supported SoCs, the GPIO block used on Marvell EBU SoCs
      is always connected to the Marvell MPIC. However, we are going to
      introduce the support for newer Marvell EBU SoCs that use the
      Cortex-A9 core, and therefore use the GIC as their main interrupt
      controller, to which the GPIO block controlled by the gpio-mvebu
      driver is connected.
      
      The GIC interrupt controller driver uses the fasteoi flow handler. In
      order to ensure that the eoi hook of the GIC driver gets called, the
      GPIO driver should call chained_irq_enter() and chained_irq_exit() in
      its handler. Without this, the first GPIO interrupt locks up the
      system because it doesn't get acked at the GIC level.
      
      This change is similar to for example commit
      0d978eb7 ("gpio: davinci: use
      chained_irq_enter/chained_irq_exit API").
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Acked-by: NJason Cooper <jason@lakedaemon.net>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      01ca59f1
  19. 02 1月, 2014 1 次提交
  20. 04 12月, 2013 1 次提交
    • L
      gpio/pinctrl: make gpio_chip members typed boolean · 9fb1f39e
      Linus Walleij 提交于
      This switches the two members of struct gpio_chip that were
      defined as unsigned foo:1 to bool, because that is indeed what
      they are. Switch all users in the gpio and pinctrl subsystems
      to assign these values with true/false instead of 0/1. The
      users outside these subsystems will survive since true/false
      is 1/0, atleast we set some kind of more strict typing example.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9fb1f39e
  21. 25 11月, 2013 1 次提交
  22. 16 8月, 2013 1 次提交
  23. 25 6月, 2013 1 次提交
  24. 18 5月, 2013 1 次提交
  25. 27 3月, 2013 2 次提交
    • S
      gpio: mvebu: add dbg_show function · a4ba5e1b
      Simon Guinot 提交于
      This patch adds a dedicated dbg_show function to the gpio-mvebu driver.
      In addition to the generic gpiolib informations, this function displays
      informations related with the specific Marvell registers (blink enable,
      data in polarity, interrupt masks and cause).
      Signed-off-by: NSimon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      a4ba5e1b
    • L
      gpio: gpio-mvebu.c: fix checkpatch errors · f4dcd2d9
      Laurent Navet 提交于
      Fix :
       gpio/gpio-mvebu.c:120: ERROR: space required before the open parenthesis '('
       gpio/gpio-mvebu.c:136: ERROR: space required before the open parenthesis '('
       gpio/gpio-mvebu.c:154: ERROR: space required before the open parenthesis '('
       gpio/gpio-mvebu.c:404: ERROR: space required before the open parenthesis '('
       gpio/gpio-mvebu.c:476: ERROR: "(foo*)" should be "(foo *)"
       gpio/gpio-mvebu.c:480: ERROR: "(foo*)" should be "(foo *)"
       gpio/gpio-mvebu.c:484: ERROR: "(foo*)" should be "(foo *)"
       gpio/gpio-mvebu.c:512: ERROR: space prohibited after that '!' (ctx:BxW)
       gpio/gpio-mvebu.c:518: ERROR: space prohibited after that '!' (ctx:BxW)
       gpio/gpio-mvebu.c:518: ERROR: space required before the open brace '{'
       gpio/gpio-mvebu.c:563: ERROR: space prohibited after that '!' (ctx:BxW)
       gpio/gpio-mvebu.c:570: ERROR: trailing whitespace
       gpio/gpio-mvebu.c:577: ERROR: space required before the open parenthesis '('
       gpio/gpio-mvebu.c:635: ERROR: space prohibited after that '!' (ctx:BxW)
      Signed-off-by: NLaurent Navet <laurent.navet@gmail.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      f4dcd2d9
  26. 09 3月, 2013 1 次提交
  27. 23 1月, 2013 1 次提交
  28. 17 1月, 2013 1 次提交
  29. 20 12月, 2012 1 次提交