31 Aug, 2016

1 commit


16 Sep, 2015

1 commit

  • 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: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

11 Aug, 2015

3 commits

  • Chained irq handlers usually set up handler data as well. We now have
    a function to set both under irq_desc->lock. Replace the two calls
    with one.

    Reported-by: Russell King
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Lee Jones

    Thomas Gleixner
     
  • set_irq_flags is ARM specific with custom flags which have genirq
    equivalents. Convert drivers to use the genirq interfaces directly, so we
    can kill off set_irq_flags. The translation of flags is as follows:

    IRQF_VALID -> !IRQ_NOREQUEST
    IRQF_PROBE -> !IRQ_NOPROBE
    IRQF_NOAUTOEN -> IRQ_NOAUTOEN

    For IRQs managed by an irqdomain, the irqdomain core code handles clearing
    and setting IRQ_NOREQUEST already, so there is no need to do this in
    .map() functions and we can simply remove the set_irq_flags calls. Some
    users also modify IRQ_NOPROBE and this has been maintained although it
    is not clear that is really needed. There appears to be a great deal of
    blind copy and paste of this code.

    Signed-off-by: Rob Herring
    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones

    Rob Herring
     
  • Implement irq_chip->irq_get_irqchip_state to make it possible for PMIC
    block drivers to access the IRQ real time status bits. The status bits
    are used for various kinds of input signals, e.g. GPIO.

    Signed-off-by: Bjorn Andersson
    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones

    Bjorn Andersson
     

20 Oct, 2014

1 commit


09 Jul, 2014

1 commit


03 Jun, 2014

1 commit


19 Mar, 2014

8 commits

  • platform_get_irq() returns a negative error code when an IRQ is invalid
    or unspecified. Make 'irq' signed to properly handle this.

    Reviewed-by: Stephen Boyd
    Signed-off-by: Josh Cartwright
    Signed-off-by: Lee Jones

    Josh Cartwright
     
  • We don't need to implement a dummy irq_set_wake op if we just set
    IRQCHIP_SKIP_SET_WAKE.

    Suggested-by: Josh Cartwright
    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     
  • This isn't necessary as we aren't setting the summary interrupt
    to wake up the system in the irq_wake() callback.

    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     
  • Allow this driver to probe based on devicetree.

    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     
  • Use a regmap so that the pm8xxx read/write APIs can be removed
    once all consumer drivers are converted.

    Reviewed-by: Mark Brown
    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     
  • Convert this driver to use irqdomains so that the PMIC's child
    devices can be converted to devicetree.

    Acked-by: Lee Jones
    Signed-off-by: Stephen Boyd

    Stephen Boyd
     
  • Since this code has been marked broken for some time a few genirq
    tree wide changes weren't made. set_irq_wake() was renamed to
    irq_set_irq_wake() in commit a0cd9ca2b (genirq: Namespace
    cleanup, 2011-02-10) and commit 10a8c383 (irq: introduce entry
    and exit functions for chained handlers) introduced the chained
    irq functions but this driver wasn't updated to use them. Fix
    these problems and remove the BROKEN marking on this driver.

    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     
  • The pm8xxx-irq.c code is practically mandatory given that the
    pm8921-core driver will WARN about it missing and the Kconfig
    marks it as default y when a PM8xxx chips is enabled. The only
    reason the file was split out was because we planned to support
    other pm8xxx chips with different pm8xxx-core.c files. Now that
    we have DT on ARM this isn't necessary because we should be able
    to support all the ssbi based PM8xxx chips in one driver and one
    file with no data bloat. Let's move this code into the only
    driver that uses it right now (pm8921) so that it's always compiled when
    needed. In the future we can rename pm8921-core.c to something
    more generic.

    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     

11 Nov, 2013

1 commit


20 Aug, 2013

3 commits

  • Use devm_*() functions to make cleanup paths simpler.

    Signed-off-by: Jingoo Han
    Signed-off-by: Lee Jones

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d
    (device-core: Ensure drvdata = NULL when no driver is bound).
    Thus, it is not needed to manually clear the device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: Lee Jones

    Jingoo Han
     
  • Include in order to fix the following errors.

    drivers/mfd/pm8921-core.c:209:16: error: expected declaration specifiers or '...' before string constant
    drivers/mfd/pm8921-core.c:210:20: error: expected declaration specifiers or '...' before string constant
    drivers/mfd/pm8921-core.c:211:16: error: expected declaration specifiers or '...' before string constant
    drivers/mfd/pm8921-core.c:212:14: error: expected declaration specifiers or '...' before string constant

    Signed-off-by: Jingoo Han
    Signed-off-by: Lee Jones

    Jingoo Han
     

31 Jul, 2013

1 commit


26 Mar, 2013

1 commit

  • Although the SSBI sub is currently only used on MSM SoCs, it is still
    a bus in its own right. Remove this msm_ prefix from the driver and
    it's symbols. Clients can now refer directly to ssbi_write() and
    ssbi_read().

    Signed-off-by: David Brown
    Signed-off-by: Greg Kroah-Hartman

    David Brown
     

29 Nov, 2012

3 commits

  • CONFIG_HOTPLUG is going away as an option so __devexit is no
    longer needed.

    Signed-off-by: Bill Pemberton
    Cc: Srinidhi Kasagar
    Cc: Peter Tyser
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Acked-by: David Brown
    Acked-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option so __devinit is no longer
    needed.

    Signed-off-by: Bill Pemberton
    Cc: Srinidhi Kasagar
    Cc: Peter Tyser
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Acked-by: David Brown
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
    needed.

    Signed-off-by: Bill Pemberton
    Cc: Srinidhi Kasagar
    Cc: Peter Tyser
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Acked-by: David Brown
    Acked-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

27 May, 2011

2 commits

  • Add support for the irq controller in Qualcomm 8xxx pmic. The 8xxx
    interrupt controller provides control for gpio and mpp configured as
    interrupts in addition to other subdevice interrupts. The interrupt
    controller also provides a way to read the real time status of an
    interrupt. This real time status is the only way one can get the
    input values of gpio and mpp lines.

    Signed-off-by: Abhijeet Dharmapurikar
    Signed-off-by: Samuel Ortiz

    Abhijeet Dharmapurikar
     
  • Add support for the Qualcomm PM8921 PMIC chip. The core driver
    will communicate with the PMIC chip via the MSM SSBI bus.

    Signed-off-by: Abhijeet Dharmapurikar
    Signed-off-by: Samuel Ortiz

    Abhijeet Dharmapurikar