]> err.no Git - linux-2.6/blobdiff - arch/arm/mach-pxa/pxa3xx.c
Merge git://git.infradead.org/mtd-2.6
[linux-2.6] / arch / arm / mach-pxa / pxa3xx.c
index eedcec0bf3f0ac0e2d447fb4449bf7907e7fb327..b6a6f5fcc77ad56158bbd01b061c973ca4700285 100644 (file)
@@ -233,6 +233,7 @@ static struct clk pxa3xx_clks[] = {
        PXA3xx_CKEN("I2CCLK", I2C,  32842000, 0, &pxa_device_i2c.dev),
        PXA3xx_CKEN("UDCCLK", UDC,  48000000, 5, &pxa_device_udc.dev),
        PXA3xx_CKEN("USBCLK", USBH, 48000000, 0, &pxa27x_device_ohci.dev),
+       PXA3xx_CKEN("KBDCLK", KEYPAD,  32768, 0, &pxa27x_device_keypad.dev),
 
        PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
        PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
@@ -353,8 +354,10 @@ static void pxa3xx_cpu_pm_enter(suspend_state_t state)
        /*
         * Don't sleep if no wakeup sources are defined
         */
-       if (wakeup_src == 0)
+       if (wakeup_src == 0) {
+               printk(KERN_ERR "Not suspending: no wakeup sources\n");
                return;
+       }
 
        switch (state) {
        case PM_SUSPEND_STANDBY:
@@ -483,6 +486,8 @@ static int pxa3xx_set_wake(unsigned int irq, unsigned int on)
        case IRQ_MMC3:
                mask = ADXER_MFP_GEN12;
                break;
+       default:
+               return -EINVAL;
        }
 
        local_irq_save(flags);
@@ -531,6 +536,8 @@ static struct platform_device *devices[] __initdata = {
 static struct sys_device pxa3xx_sysdev[] = {
        {
                .cls    = &pxa_irq_sysclass,
+       }, {
+               .cls    = &pxa3xx_mfp_sysclass,
        }, {
                .cls    = &pxa_gpio_sysclass,
        },
@@ -568,4 +575,4 @@ static int __init pxa3xx_init(void)
        return ret;
 }
 
-subsys_initcall(pxa3xx_init);
+postcore_initcall(pxa3xx_init);