[ARM] pxa: corgibl_limit_intensity build errors
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sun, 20 Apr 2008 16:15:32 +0000 (17:15 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 19 May 2008 15:25:57 +0000 (16:25 +0100)
If CONFIG_BACKLIGHT_CORGI is not selected, then corgibl_limit_intensity()
is not present.  However, both corgi_pm.c and sharp_pm.c reference this
symbol, resulting in a link error.

Wrap the references with the relevant ifdefs, and avoid the resulting
NULL pointer dereference by making the code in sharpsl_pm.c also
conditional on the config symbol.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

arch/arm/common/sharpsl_pm.c
arch/arm/mach-pxa/corgi_pm.c
arch/arm/mach-pxa/spitz_pm.c

index 5bba525..5736c98 100644 (file)
@@ -157,6 +157,7 @@ static void sharpsl_battery_thread(struct work_struct *private_)
        dev_dbg(sharpsl_pm.dev, "Battery: voltage: %d, status: %d, percentage: %d, time: %ld\n", voltage,
                        sharpsl_pm.battstat.mainbat_status, sharpsl_pm.battstat.mainbat_percent, jiffies);
 
+#ifdef CONFIG_BACKLIGHT_CORGI
        /* If battery is low. limit backlight intensity to save power. */
        if ((sharpsl_pm.battstat.ac_status != APM_AC_ONLINE)
                        && ((sharpsl_pm.battstat.mainbat_status == APM_BATTERY_STATUS_LOW) ||
@@ -169,6 +170,7 @@ static void sharpsl_battery_thread(struct work_struct *private_)
                sharpsl_pm.machinfo->backlight_limit(0);
                sharpsl_pm.flags &= ~SHARPSL_BL_LIMIT;
        }
+#endif
 
        /* Suspend if critical battery level */
        if ((sharpsl_pm.battstat.ac_status != APM_AC_ONLINE)
index 0a85f70..ae91c4b 100644 (file)
@@ -204,7 +204,9 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = {
        .read_devdata    = corgipm_read_devdata,
        .charger_wakeup  = corgi_charger_wakeup,
        .should_wakeup   = corgi_should_wakeup,
+#ifdef CONFIG_BACKLIGHT_CORGI
        .backlight_limit = corgibl_limit_intensity,
+#endif
        .charge_on_volt   = SHARPSL_CHARGE_ON_VOLT,
        .charge_on_temp   = SHARPSL_CHARGE_ON_TEMP,
        .charge_acin_high = SHARPSL_CHARGE_ON_ACIN_HIGH,
index 23f050f..48396f4 100644 (file)
@@ -207,7 +207,9 @@ struct sharpsl_charger_machinfo spitz_pm_machinfo = {
        .read_devdata     = spitzpm_read_devdata,
        .charger_wakeup   = spitz_charger_wakeup,
        .should_wakeup    = spitz_should_wakeup,
+#ifdef CONFIG_BACKLIGHT_CORGI
         .backlight_limit  = corgibl_limit_intensity,
+#endif
        .charge_on_volt   = SHARPSL_CHARGE_ON_VOLT,
        .charge_on_temp   = SHARPSL_CHARGE_ON_TEMP,
        .charge_acin_high = SHARPSL_CHARGE_ON_ACIN_HIGH,