int __init s3c2410_pm_init(void) { printk("S3C2410 Power Management, (c) 2004 Simtec Electronics\n"); pm_set_ops(&s3c2410_pm_ops); return 0; }
static int __init sharpsl_pm_probe(struct platform_device *pdev) { if (!pdev->dev.platform_data) return -EINVAL; sharpsl_pm.dev = &pdev->dev; sharpsl_pm.machinfo = pdev->dev.platform_data; sharpsl_pm.charge_mode = CHRG_OFF; sharpsl_pm.flags = 0; init_timer(&sharpsl_pm.ac_timer); sharpsl_pm.ac_timer.function = sharpsl_ac_timer; init_timer(&sharpsl_pm.chrg_full_timer); sharpsl_pm.chrg_full_timer.function = sharpsl_chrg_full_timer; led_trigger_register_simple("sharpsl-charge", &sharpsl_charge_led_trigger); sharpsl_pm.machinfo->init(); device_create_file(&pdev->dev, &dev_attr_battery_percentage); device_create_file(&pdev->dev, &dev_attr_battery_voltage); apm_get_power_status = sharpsl_apm_get_power_status; pm_set_ops(&sharpsl_pm_ops); mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250)); return 0; }
static int __init sharpsl_pm_probe(struct platform_device *pdev) { if (!pdev->dev.platform_data) return -EINVAL; sharpsl_pm.dev = &pdev->dev; sharpsl_pm.machinfo = pdev->dev.platform_data; sharpsl_pm.charge_mode = CHRG_OFF; sharpsl_pm.flags = 0; sharpsl_pm.machinfo->init(); init_timer(&sharpsl_pm.ac_timer); sharpsl_pm.ac_timer.function = sharpsl_ac_timer; init_timer(&sharpsl_pm.chrg_full_timer); sharpsl_pm.chrg_full_timer.function = sharpsl_chrg_full_timer; pxa_gpio_mode(sharpsl_pm.machinfo->gpio_acin | GPIO_IN); pxa_gpio_mode(sharpsl_pm.machinfo->gpio_batfull | GPIO_IN); pxa_gpio_mode(sharpsl_pm.machinfo->gpio_batlock | GPIO_IN); /* Register interrupt handlers */ if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, SA_INTERRUPT, "AC Input Detect", sharpsl_ac_isr)) { dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin)); } else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin),IRQT_BOTHEDGE); if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, SA_INTERRUPT, "Battery Cover", sharpsl_fatal_isr)) { dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock)); } else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock),IRQT_FALLING); if (sharpsl_pm.machinfo->gpio_fatal) { if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, SA_INTERRUPT, "Fatal Battery", sharpsl_fatal_isr)) { dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal)); } else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal),IRQT_FALLING); } if (!machine_is_corgi()) { /* Register interrupt handler. */ if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, SA_INTERRUPT, "CO", sharpsl_chrg_full_isr)) { dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull)); } else set_irq_type(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull),IRQT_RISING); } device_create_file(&pdev->dev, &dev_attr_battery_percentage); device_create_file(&pdev->dev, &dev_attr_battery_voltage); apm_get_power_status = sharpsl_apm_get_power_status; pm_set_ops(&sharpsl_pm_ops); mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250)); return 0; }
static int __init pnx4008_pm_init(void) { u32 sram_size_to_allocate; pll4_clk = clk_get(0, "ck_pll4"); if (IS_ERR(pll4_clk)) { printk(KERN_ERR "PM Suspend cannot acquire ARM(PLL4) clock control\n"); return PTR_ERR(pll4_clk); } if (pnx4008_cpu_standby_sz > pnx4008_cpu_suspend_sz) sram_size_to_allocate = pnx4008_cpu_standby_sz; else sram_size_to_allocate = pnx4008_cpu_suspend_sz; saved_sram = kmalloc(sram_size_to_allocate, GFP_ATOMIC); if (!saved_sram) { printk(KERN_ERR "PM Suspend: cannot allocate memory to save portion of SRAM\n"); clk_put(pll4_clk); return -ENOMEM; } pm_set_ops(&pnx4008_pm_ops); return 0; }
static int __init mx31_pm_init(void) { printk("Power Management for Freescale MX31\n"); pm_set_ops(&mx31_pm_ops); return 0; }
int __init omap2_pm_init(void) { printk("Power Management for TI OMAP.\n"); vclk = clk_get(NULL, "virt_prcm_set"); if (IS_ERR(vclk)) { printk(KERN_ERR "Could not get PM vclk\n"); return -ENODEV; } /* * We copy the assembler sleep/wakeup routines to SRAM. * These routines need to be in SRAM as that's the only * memory the MPU can see when it wakes up. */ omap2_sram_idle = omap_sram_push(omap24xx_idle_loop_suspend, omap24xx_idle_loop_suspend_sz); omap2_sram_suspend = omap_sram_push(omap24xx_cpu_suspend, omap24xx_cpu_suspend_sz); pm_set_ops(&omap_pm_ops); pm_idle = omap2_pm_idle; pmdomain_init(); return 0; }
int __init s3c6400_pm_init(void) { printk("S3C6400 Power Management, (c) 2006 Samsung Electronics\n"); enable_irq_wake(IRQ_EINT9); enable_irq_wake(IRQ_RTC_ALARM); pm_set_ops(&s3c6400_pm_ops); return 0; }
static int __init str8131_pm_init(void) { int ret; printk("%s: \n",__FUNCTION__); /* * Configure system Xtal clock to be output to CLKOUT pin */ HAL_PWRMGT_CONFIGURE_CLOCK_OUT_PIN(0, 0); pm_set_ops(&str8131_pm_ops); return 0; }
static int sharpsl_pm_remove(struct platform_device *pdev) { pm_set_ops(NULL); device_remove_file(&pdev->dev, &dev_attr_battery_percentage); device_remove_file(&pdev->dev, &dev_attr_battery_voltage); sharpsl_pm.machinfo->exit(); del_timer_sync(&sharpsl_pm.chrg_full_timer); del_timer_sync(&sharpsl_pm.ac_timer); return 0; }
static int __init pxa_pm_init(void) { if (!pxa_cpu_pm_fns) { printk(KERN_ERR "no valid pxa_cpu_pm_fns defined\n"); return -EINVAL; } sleep_save = kmalloc(pxa_cpu_pm_fns->save_size, GFP_KERNEL); if (!sleep_save) { printk(KERN_ERR "failed to alloc memory for pm save\n"); return -ENOMEM; } pm_set_ops(&pxa_pm_ops); return 0; }
static int __init at91_pm_init(void) { printk("AT91: Power Management\n"); #ifdef CONFIG_AT91_PM_SLOW_CLOCK /* REVISIT allocations of SRAM should be dynamically managed. * FIQ handlers and other components will want SRAM/TCM too... */ slow_clock = (void *) (AT91_VA_BASE_SRAM + (3 * SZ_4K)); memcpy(slow_clock, at91rm9200_slow_clock, at91rm9200_slow_clock_sz); #endif /* Disable SDRAM low-power mode. Cannot be used with self-refresh. */ at91_sys_write(AT91_SDRAMC_LPR, 0); pm_set_ops(&at91_pm_ops); return 0; }
static int sharpsl_pm_remove(struct platform_device *pdev) { pm_set_ops(NULL); device_remove_file(&pdev->dev, &dev_attr_battery_percentage); device_remove_file(&pdev->dev, &dev_attr_battery_voltage); free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr); free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr); if (sharpsl_pm.machinfo->gpio_fatal) free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr); if (!machine_is_corgi()) free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr); del_timer_sync(&sharpsl_pm.chrg_full_timer); del_timer_sync(&sharpsl_pm.ac_timer); return 0; }
static int __init pxa_pm_init(void) { pm_set_ops(&pxa_pm_ops); return 0; }
static int __init hp6x0_pm_init(void) { pm_set_ops(&hp6x0_pm_ops); return 0; }
static int __init sa11x0_pm_init(void) { pm_set_ops(&sa11x0_pm_ops); return 0; }
int __init mpc52xx_pm_init(void) { pm_set_ops(&mpc52xx_pm_ops); return 0; }