1. 11 2月, 2013 2 次提交
  2. 10 2月, 2013 5 次提交
    • L
      ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones · c3f78f07
      Lee Jones 提交于
      Any devices wishing to use the AB8500's GPIO IRQs were forced to
      request virtual IRQs from the gpio-ab8500 driver. Now that
      responsibility has been passed back to the AB8500 core driver,
      devices can request real IRQ numbers instead. This patch removes
      any traces of the old virtual IRQ conversion handlers, which will
      force any drivers requesting IRQs to use real IRQS.
      
      Cc: arm@kernel.org
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      c3f78f07
    • L
      ARM: ux500: remove irq_base property from platform_data · 710a03e9
      Lee Jones 提交于
      AB8500 GPIO no longer handles its GPIO IRQs. Instead, the AB8500
      core driver has taken back the responsibility. Prior to this
      happening, the AB8500 GPIO driver provided a set of virtual IRQs
      which were used as a pass-through. These virtual IRQs had a base
      of MOP500_AB8500_VIR_GPIO_IRQ_BASE, which was passed though pdata.
      We don't need to do this anymore, so we're pulling out the
      property from the structure.
      
      Cc: arm@kernel.org
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      710a03e9
    • L
      pinctrl/abx500: use direct IRQ defines · 43a255db
      Linus Walleij 提交于
      Make it harder to do mistakes by introducing the actual
      defined ABx500 IRQ number into the IRQ cluster definitions.
      Deduct cluster offset from the GPIO offset to make each
      cluster coherent.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      43a255db
    • L
      pinctrl/abx500: replace IRQ offsets with table read-in values · a6a16d27
      Lee Jones 提交于
      The ABx500 GPIO controller used to provide a set of virtual contiguous
      IRQs for use by sub-devices, but they have been removed after a request
      from Mainline Maintainers. Now the AB8500 core driver deals with almost
      all IRQ related issues instead.
      
      The ABx500 GPIO driver is now only used to convert between GPIO and IRQ
      numbers which is actually quite difficult, as the ABx500 GPIO's
      associated IRQs are clustered together throughout the interrupt number
      space at irregular intervals. To solve this quandary, we have placed the
      read-in values into the existing cluster information table to use during
      conversion.
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      [Moved irq_base removal into this patch]
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      a6a16d27
    • L
      pinctrl/abx500: move IRQ handling to ab8500-core · ac652d79
      Lee Jones 提交于
      In its current state the gpio-ab8500 driver looks after some GPIO
      lines found on the AB8500 MFD chip. It also controls all of its
      own IRQ handling for these GPIOs by inventing some virtual IRQs
      and handing those out to sub-devices. There has been quite a bit
      of controversy over this and it was a contributing factor to the
      driver being marked as BROKEN in Mainline.
      
      The reason for adopting this method was due to added complexity
      in the hardware. Unusually, each GPIO has two separate IRQs
      associated with it, one for a rising and a different one for a
      falling interrupt. Using this method complicates matters further
      because the GPIO IRQs are actually sandwiched between a bunch
      of IRQs which are handled solely by the AB8500 core driver.
      
      The best way for us to take this forward is to get rid of the
      virtual IRQs and only hand out the rising IRQ lines. If a
      sub-driver wishes to request a falling interrupt, they can do
      so by requesting a rising line in the normal way. They just
      have to add IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH, if
      they require both in the flags. Then if a falling IRQ is
      triggered, the AB8500 core driver will know how to handle the
      added complexity accordingly. This should greatly simply things.
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      [Augment to keep irq_base for a while (removed later)]
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      ac652d79
  3. 08 2月, 2013 3 次提交
  4. 07 2月, 2013 3 次提交
  5. 06 2月, 2013 1 次提交
  6. 05 2月, 2013 17 次提交
  7. 01 2月, 2013 5 次提交
  8. 31 1月, 2013 4 次提交