pxa27x.c (eff430de53be6f3328c3eebe93755f1ecf499e37) pxa27x.c (2eaa03b5bebd1e80014f780d7bf27c3e66daefd6)
1/*
2 * linux/arch/arm/mach-pxa/pxa27x.c
3 *
4 * Author: Nicolas Pitre
5 * Created: Nov 05, 2002
6 * Copyright: MontaVista Software Inc.
7 *
8 * Code specific to PXA27x aka Bulverde.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14#include <linux/module.h>
15#include <linux/kernel.h>
16#include <linux/init.h>
17#include <linux/suspend.h>
18#include <linux/platform_device.h>
1/*
2 * linux/arch/arm/mach-pxa/pxa27x.c
3 *
4 * Author: Nicolas Pitre
5 * Created: Nov 05, 2002
6 * Copyright: MontaVista Software Inc.
7 *
8 * Code specific to PXA27x aka Bulverde.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14#include <linux/module.h>
15#include <linux/kernel.h>
16#include <linux/init.h>
17#include <linux/suspend.h>
18#include <linux/platform_device.h>
19#include <linux/sysdev.h>
19#include <linux/syscore_ops.h>
20#include <linux/io.h>
21#include <linux/irq.h>
22#include <linux/i2c/pxa-i2c.h>
23
24#include <asm/mach/map.h>
25#include <mach/hardware.h>
26#include <asm/irq.h>
27#include <mach/irqs.h>

--- 395 unchanged lines hidden (view full) ---

423 &pxa_device_rtc,
424 &pxa27x_device_ssp1,
425 &pxa27x_device_ssp2,
426 &pxa27x_device_ssp3,
427 &pxa27x_device_pwm0,
428 &pxa27x_device_pwm1,
429};
430
20#include <linux/io.h>
21#include <linux/irq.h>
22#include <linux/i2c/pxa-i2c.h>
23
24#include <asm/mach/map.h>
25#include <mach/hardware.h>
26#include <asm/irq.h>
27#include <mach/irqs.h>

--- 395 unchanged lines hidden (view full) ---

423 &pxa_device_rtc,
424 &pxa27x_device_ssp1,
425 &pxa27x_device_ssp2,
426 &pxa27x_device_ssp3,
427 &pxa27x_device_pwm0,
428 &pxa27x_device_pwm1,
429};
430
431static struct sys_device pxa27x_sysdev[] = {
432 {
433 .cls = &pxa_irq_sysclass,
434 }, {
435 .cls = &pxa2xx_mfp_sysclass,
436 }, {
437 .cls = &pxa_gpio_sysclass,
438 }, {
439 .cls = &pxa2xx_clock_sysclass,
440 }
441};
442
443static int __init pxa27x_init(void)
444{
431static int __init pxa27x_init(void)
432{
445 int i, ret = 0;
433 int ret = 0;
446
447 if (cpu_is_pxa27x()) {
448
449 reset_status = RCSR;
450
451 clkdev_add_table(pxa27x_clkregs, ARRAY_SIZE(pxa27x_clkregs));
452
453 if ((ret = pxa_init_dma(IRQ_DMA, 32)))
454 return ret;
455
456 pxa27x_init_pm();
457
434
435 if (cpu_is_pxa27x()) {
436
437 reset_status = RCSR;
438
439 clkdev_add_table(pxa27x_clkregs, ARRAY_SIZE(pxa27x_clkregs));
440
441 if ((ret = pxa_init_dma(IRQ_DMA, 32)))
442 return ret;
443
444 pxa27x_init_pm();
445
458 for (i = 0; i < ARRAY_SIZE(pxa27x_sysdev); i++) {
459 ret = sysdev_register(&pxa27x_sysdev[i]);
460 if (ret)
461 pr_err("failed to register sysdev[%d]\n", i);
462 }
446 register_syscore_ops(&pxa_irq_syscore_ops);
447 register_syscore_ops(&pxa2xx_mfp_syscore_ops);
448 register_syscore_ops(&pxa_gpio_syscore_ops);
449 register_syscore_ops(&pxa2xx_clock_syscore_ops);
463
464 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
465 }
466
467 return ret;
468}
469
470postcore_initcall(pxa27x_init);
450
451 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
452 }
453
454 return ret;
455}
456
457postcore_initcall(pxa27x_init);