ARM: tegra: power: Use CONFIG_PM_SLEEP instead of CONFIG_PM
Scott Williams [Tue, 28 Jun 2011 20:09:18 +0000 (13:09 -0700)]
For Linux 2.6.39, CONFIG_PM_SLEEP is the proper kernel configuration
parameter to use on Tegra for power management, and not CONFIG_PM.
CONFIG_PM does not have the required dependency on CONFIG_SUSPEND
necessary to pull in the CPU suspend/resume functionality used by
Tegra.

Also fixes compilation errors when CONFIG_PM and by implication
CONFIG_PM_SLEEP are not configured.

Change-Id: I8bb380ae7c6b22759bfbc223febc28f585111aad
Reviewed-on: http://git-master/r/40458
Tested-by: Daniel Willemsen <dwillemsen@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com>

Rebase-Id: R61d656cd67439aa9f466c381845d7a4685fc8648

12 files changed:
arch/arm/mach-tegra/dma.c
arch/arm/mach-tegra/headsmp.S
arch/arm/mach-tegra/irq.c
arch/arm/mach-tegra/pm-irq.h
arch/arm/mach-tegra/pm.c
arch/arm/mach-tegra/spi_tegra_slave.c
arch/arm/mach-tegra/sysfs-cluster.c
arch/arm/mach-tegra/tegra2_clocks.c
arch/arm/mach-tegra/tegra3_clocks.c
arch/arm/mach-tegra/tegra_i2s_audio.c
arch/arm/mach-tegra/tegra_spdif_audio.c
drivers/gpio/gpio-tegra.c

index 30b381d..ccba8f0 100644 (file)
@@ -983,7 +983,7 @@ fail:
 }
 postcore_initcall(tegra_dma_init);
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 
 static u32 apb_dma[5*TEGRA_SYSTEM_DMA_CH_NR + 3];
 
index 34e521b..e746423 100644 (file)
@@ -42,7 +42,7 @@ ENTRY(tegra_secondary_startup)
 ENDPROC(tegra_secondary_startup)
 #endif
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 /*
  *     tegra_secondary_resume
  *
@@ -56,7 +56,7 @@ ENDPROC(tegra_secondary_resume)
 #endif
 #endif
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 /*
  *     tegra_resume
  *
index fa904c0..debbb7c 100644 (file)
@@ -59,7 +59,7 @@ static void __iomem *ictlr_reg_base[] = {
 #endif
 };
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static u32 cop_ier[NUM_ICTLRS];
 static u32 cpu_ier[NUM_ICTLRS];
 static u32 cpu_iep[NUM_ICTLRS];
@@ -127,7 +127,7 @@ static int tegra_set_type(struct irq_data *d, unsigned int flow_type)
 }
 
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int tegra_set_wake(struct irq_data *d, unsigned int enable)
 {
        return tegra_pm_irq_set_wake(d->irq, enable);
index 8242b92..8e87b4b 100644 (file)
@@ -18,7 +18,7 @@
 #ifndef _MACH_TERA_PM_IRQ_H_
 #define _MACH_TERA_PM_IRQ_H_
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 int tegra_pm_irq_set_wake(int irq, int enable);
 int tegra_pm_irq_set_wake_type(int irq, int flow_type);
 bool tegra_pm_irq_lp0_allowed(void);
index 6ed785b..c8c42ee 100644 (file)
@@ -88,7 +88,7 @@ struct suspend_context tegra_sctx;
 
 static void __iomem *iram_code = IO_ADDRESS(TEGRA_IRAM_CODE_AREA);
 static void __iomem *pmc = IO_ADDRESS(TEGRA_PMC_BASE);
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static void __iomem *clk_rst = IO_ADDRESS(TEGRA_CLK_RESET_BASE);
 static void __iomem *evp_reset =
        IO_ADDRESS(TEGRA_EXCEPTION_VECTORS_BASE) + 0x100;
@@ -221,7 +221,7 @@ static void tegra_suspend_check_pwr_stats(void)
                (1 << TEGRA_POWERGATE_PCIE)     |
                (1 << TEGRA_POWERGATE_VDEC)     |
                (1 << TEGRA_POWERGATE_MPE);
-       
+
        int partid;
 
        for (partid = 0; partid < TEGRA_NUM_POWERGATE; partid++)
@@ -344,7 +344,7 @@ static void tegra_wake_reset_cpu(int cpu)
        flowctrl_writel(0, FLOW_CTRL_HALT_CPU(1));
 }
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 /*
  * restore_cpu_complex
  *
@@ -865,7 +865,7 @@ void __init tegra_init_suspend(struct tegra_suspend_platform_data *plat)
 
        create_suspend_pgtable();
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 
        if ((tegra_get_chipid() == TEGRA_CHIPID_TEGRA3) &&
            (tegra_get_revision() == TEGRA_REVISION_A01) &&
index a258132..692bfe4 100644 (file)
@@ -892,7 +892,7 @@ void spi_tegra_abort_transfer(struct spi_device *spi)
 }
 EXPORT_SYMBOL(spi_tegra_abort_transfer);
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int spi_tegra_suspend(struct platform_device *pdev, pm_message_t state)
 {
        struct spi_master       *master;
@@ -944,7 +944,7 @@ static struct platform_driver spi_tegra_driver = {
                .owner =        THIS_MODULE,
        },
        .remove =       __devexit_p(spi_tegra_remove),
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
        .suspend =      spi_tegra_suspend,
        .resume  =      spi_tegra_resume,
 #endif
index e6c06fc..4fcaffd 100644 (file)
@@ -133,7 +133,7 @@ static struct kobj_attribute cluster_force_attr =
 static struct kobj_attribute cluster_wake_ms_attr =
                __ATTR(wake_ms, 0640, sysfscluster_show, sysfscluster_store);
 
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
 /* LPx power mode to use when switching CPUs: 1=LP1, 2=LP2 */
 static unsigned int power_mode = 2;
 static struct kobj_attribute cluster_powermode_attr =
@@ -153,7 +153,7 @@ typedef enum
        ClusterAttr_Immediate,
        ClusterAttr_Force,
        ClusterAttr_WakeMs,
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
        ClusterAttr_PowerMode,
 #endif
 #if DEBUG_CLUSTER_SWITCH
@@ -171,7 +171,7 @@ static ClusterAttr GetClusterAttr(const char *name)
                return ClusterAttr_Force;
        if (!strcmp(name, "wake_ms"))
                return ClusterAttr_WakeMs;
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
        if (!strcmp(name, "power_mode"))
                return ClusterAttr_PowerMode;
 #endif
@@ -211,7 +211,7 @@ static ssize_t sysfscluster_show(struct kobject *kobj,
                len = sprintf(buf, "%d\n", wake_ms);
                break;
 
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
        case ClusterAttr_PowerMode:
                len = sprintf(buf, "%d\n", power_mode);
                break;
@@ -288,7 +288,7 @@ static ssize_t sysfscluster_store(struct kobject *kobj,
                        (flags & TEGRA_POWER_CLUSTER_G) ? "G" : "LP"));
 
                request = flags;
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
                if (power_mode == 1) {
                        request |= TEGRA_POWER_SDRAM_SELFREFRESH;
                }
@@ -341,7 +341,7 @@ static ssize_t sysfscluster_store(struct kobject *kobj,
                PRINT_CLUSTER(("cluster/wake_ms -> %d\n", wake_ms));
                break;
 
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
        case ClusterAttr_PowerMode:
                if ((count == 1) && (*buf == '2'))
                        power_mode = 2;
@@ -416,7 +416,7 @@ static int __init sysfscluster_init(void)
        CREATE_FILE(immediate);
        CREATE_FILE(force);
        CREATE_FILE(wake_ms);
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
        CREATE_FILE(powermode);
 #endif
 #if DEBUG_CLUSTER_SWITCH
@@ -444,7 +444,7 @@ static void __exit sysfscluster_exit(void)
 #if DEBUG_CLUSTER_SWITCH
        REMOVE_FILE(debug);
 #endif
-#if defined(CONFIG_PM) && SYSFS_CLUSTER_POWER_MODE
+#if defined(CONFIG_PM_SLEEP) && SYSFS_CLUSTER_POWER_MODE
        REMOVE_FILE(powermode);
 #endif
        REMOVE_FILE(wake_ms);
index 77ba31c..d8c37d2 100644 (file)
@@ -2616,7 +2616,7 @@ unsigned long tegra_emc_to_cpu_ratio(unsigned long cpu_rate)
 }
 #endif
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static u32 clk_rst_suspend[RST_DEVICES_NUM + CLK_OUT_ENB_NUM +
                           PERIPH_CLK_SOURCE_NUM + 22];
 
index c699bc1..76bf92b 100644 (file)
@@ -3878,7 +3878,7 @@ unsigned long tegra_emc_to_cpu_ratio(unsigned long cpu_rate)
 }
 #endif
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static u32 clk_rst_suspend[RST_DEVICES_NUM + CLK_OUT_ENB_NUM +
                           PERIPH_CLK_SOURCE_NUM + 18];
 
index b37617e..b701d13 100644 (file)
@@ -1912,7 +1912,7 @@ static int tegra_audio_probe(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int tegra_audio_suspend(struct platform_device *pdev, pm_message_t mesg)
 {
        /* dev_info(&pdev->dev, "%s\n", __func__); */
@@ -1923,7 +1923,7 @@ static int tegra_audio_resume(struct platform_device *pdev)
 {
        return i2s_configure(pdev);
 }
-#endif /* CONFIG_PM */
+#endif /* CONFIG_PM_SLEEP */
 
 static struct platform_driver tegra_audio_driver = {
        .driver = {
@@ -1931,7 +1931,7 @@ static struct platform_driver tegra_audio_driver = {
                .owner = THIS_MODULE,
        },
        .probe = tegra_audio_probe,
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
        .suspend = tegra_audio_suspend,
        .resume = tegra_audio_resume,
 #endif
index 64a85c2..81b84de 100644 (file)
@@ -1143,7 +1143,7 @@ static int tegra_spdif_probe(struct platform_device *pdev)
        return 0;
 }
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int tegra_spdif_suspend(struct platform_device *pdev, pm_message_t mesg)
 {
        /* dev_info(&pdev->dev, "%s\n", __func__); */
@@ -1154,7 +1154,7 @@ static int tegra_spdif_resume(struct platform_device *pdev)
 {
        return spdif_configure(pdev);
 }
-#endif /* CONFIG_PM */
+#endif /* CONFIG_PM_SLEEP */
 
 static struct platform_driver tegra_spdif_driver = {
        .driver = {
@@ -1162,7 +1162,7 @@ static struct platform_driver tegra_spdif_driver = {
                .owner = THIS_MODULE,
        },
        .probe = tegra_spdif_probe,
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
        .suspend = tegra_spdif_suspend,
        .resume = tegra_spdif_resume,
 #endif
index 0f667a8..1fb6d64 100644 (file)
@@ -80,7 +80,7 @@ struct tegra_gpio_bank {
        int bank;
        int irq;
        spinlock_t lvl_lock[4];
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
        u32 cnf[4];
        u32 out[4];
        u32 oe[4];
@@ -279,7 +279,7 @@ static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
 
 }
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 void tegra_gpio_resume(void)
 {
        unsigned long flags;