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 
cmx2xx_pcmcia_init(void)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 
cmx2xx_pcmcia_exit(void)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");
49