[PATCH v4 0/3] build support and fixes for gic-pm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently gic-pm driver is not getting used by any of the Tegra devices.
In fact, the driver is not getting compiled. This series is to ensure,
 * build support for driver
 * update driver with usage of clk_bulk APIs.
 * fix suspend path
This is used by AGIC(Audio Generic Interrupt Controller) block in audio
pipeline.

Changelog
=========
  v3->v4:
  -------
    Following changes made in current series.
      [patch 1/3] arm64: tegra: select ARM_GIC_PM
        * no change
      [patch 2/3] irqchip/gic-pm: update driver to use clk_bulk APIs
        * commit subject and description changed for clarity
        * platform_set_drvdata is replaced by dev_set_drvdata
        * NULL check on dev is moved to probe
        * replaced devm_kzalloc with devm_kcalloc for chip_pm->clks
        * fixed formatting and some cosmetic changes
      [patch 3/3] irqchip/gic-pm: fix suspend handling
        * no change

  v2->v3:
  -------
    Following are the deltas from previous series
      [patch 1/3] arm64: tegra: select ARM_GIC_PM
        * no change
      [patch 2/3] irqchip/gic-pm: use devm_clk to keep clock state balanced
        * commit subject is changed
        * 'struct clk_bulk_data' is used instead of 'struct clk' in gic_pm
        * clk_bulk() and devm_clk_bulk() APIs are used simplify the code
        * Minor changes to line breaks and declaration of variables to make
          code more readable
      [patch 3/3] irqchip/gic-pm: fix suspend handling
        * no change

  v1->v2:
  -------
    following patches are dropped from v1
      *[patch 1/5] irqchip/gic-pm: add driver remove support
      *[patch 2/5] irqchip/gic: allow gic-pm driver to be used as module
      *[patch 3/5] arm64: defconfig: build gic-pm driver as module
    The reason for this is, removing gic-pm driver would lead to potential
    kernel panic or memory corruption. Thus module option for gic-pm is
    rejected.

    v2 has 3 patches and the details are below,
      [patch 1/3] arm64: tegra: select ARM_GIC_PM
        * ARM_GIC_PM is selected for 64-bit Tegra devices
      [patch 2/3] irqchip/gic-pm: use devm_clk_*() helpers
        * similar to patch 4/5 in v1
      [patch 3/3] irqchip/gic-pm: fix suspend handling
        * similar to patch 5/5 in v1

  v1:
  -------
    [patch 1/5] irqchip/gic-pm: add driver remove support
      * preparatory patch for making gic-pm driver module
      * adds remove path in the driver
      * gic_teardown() exported from gic driver
    [patch 2/5] irqchip/gic: allow gic-pm driver to be used as module
      * ARM_GIC_PM config is changed to tristate to allow it to be module
      * build errors are fixed by exporting necessary functions from gic
        driver
      * fixed load and unload errors
    [patch 3/5] arm64: defconfig: build gic-pm driver as module
      * defconfig change to make driver a kernel module
    [patch 4/5] irqchip/gic-pm: use devm_clk_*() helpers
      * pm_clk interface is replaced with devm_clk
    [patch 5/5] irqchip/gic-pm: fix suspend handling
      * system sleep callbacks added to avoid issues during system wide PM
        transitions.


Sameer Pujar (3):
  arm64: tegra: select ARM_GIC_PM
  irqchip/gic-pm: update driver to use clk_bulk APIs
  irqchip/gic-pm: fix suspend handling

 arch/arm64/Kconfig.platforms |  1 +
 drivers/irqchip/irq-gic-pm.c | 80 ++++++++++++++++++++++----------------
 2 files changed, 48 insertions(+), 33 deletions(-)

-- 
2.7.4




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux