1. 15 Feb, 2013 1 commit
  2. 10 Feb, 2013 7 commits
    • Laurent Meunier's avatar
      pinctrl/pinconfig: add debug interface · 6f9e41f4
      Laurent Meunier authored
      This update adds a debugfs interface to modify a pin configuration
      for a given state in the pinctrl map. This allows to modify the
      configuration for a non-active state, typically sleep state.
      This configuration is not applied right away, but only when the state
      will be entered.
      
      This solution is mandated for us by HW validation: in order
      to test and verify several pin configurations during sleep without
      recompiling the software.
      Signed-off-by: default avatarLaurent Meunier <laurent.meunier@st.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      6f9e41f4
    • Jingoo Han's avatar
      pinctrl: samsung: remove duplicated line · 007cd694
      Jingoo Han authored
      This patch removes duplicated line of samsung_pinctrl_register(),
      because the number of pins is redundantly assigned twice.
      Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      007cd694
    • Lee Jones's avatar
      ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones · c3f78f07
      Lee Jones authored
      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: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      c3f78f07
    • Lee Jones's avatar
      ARM: ux500: remove irq_base property from platform_data · 710a03e9
      Lee Jones authored
      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: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      710a03e9
    • Linus Walleij's avatar
      pinctrl/abx500: use direct IRQ defines · 43a255db
      Linus Walleij authored
      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: default avatarLinus Walleij <linus.walleij@linaro.org>
      43a255db
    • Lee Jones's avatar
      pinctrl/abx500: replace IRQ offsets with table read-in values · a6a16d27
      Lee Jones authored
      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: default avatarLee Jones <lee.jones@linaro.org>
      [Moved irq_base removal into this patch]
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      a6a16d27
    • Lee Jones's avatar
      pinctrl/abx500: move IRQ handling to ab8500-core · ac652d79
      Lee Jones authored
      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: default avatarLee Jones <lee.jones@linaro.org>
      [Augment to keep irq_base for a while (removed later)]
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      ac652d79
  3. 08 Feb, 2013 1 commit
  4. 07 Feb, 2013 2 commits
  5. 06 Feb, 2013 3 commits
  6. 05 Feb, 2013 18 commits
  7. 01 Feb, 2013 5 commits
  8. 30 Jan, 2013 3 commits