PCMCIA: sa11x0: nanoengine: convert reset handling to use GPIO subsystem
[linux-2.6.git] / drivers / pcmcia / pxa2xx_cm_x2xx.c
1 /*
2  * linux/drivers/pcmcia/pxa/pxa_cm_x2xx.c
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * Compulab Ltd., 2003, 2007, 2008
9  * Mike Rapoport <mike@compulab.co.il>
10  *
11  */
12
13 #include <linux/module.h>
14
15 #include <asm/mach-types.h>
16 #include <mach/hardware.h>
17
18 int cmx255_pcmcia_init(void);
19 int cmx270_pcmcia_init(void);
20 void cmx255_pcmcia_exit(void);
21 void cmx270_pcmcia_exit(void);
22
23 static int __init cmx2xx_pcmcia_init(void)
24 {
25         int ret = -ENODEV;
26
27         if (machine_is_armcore() && cpu_is_pxa25x())
28                 ret = cmx255_pcmcia_init();
29         else if (machine_is_armcore() && cpu_is_pxa27x())
30                 ret = cmx270_pcmcia_init();
31
32         return ret;
33 }
34
35 static void __exit cmx2xx_pcmcia_exit(void)
36 {
37         if (machine_is_armcore() && cpu_is_pxa25x())
38                 cmx255_pcmcia_exit();
39         else if (machine_is_armcore() && cpu_is_pxa27x())
40                 cmx270_pcmcia_exit();
41 }
42
43 module_init(cmx2xx_pcmcia_init);
44 module_exit(cmx2xx_pcmcia_exit);
45
46 MODULE_LICENSE("GPL");
47 MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
48 MODULE_DESCRIPTION("CM-x2xx PCMCIA driver");