eeepc-laptop: Work around rfkill firmware bug
[linux-2.6] / 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/system.h>
16 #include <asm/mach-types.h>
17 #include <mach/system.h>
18
19 int cmx255_pcmcia_init(void);
20 int cmx270_pcmcia_init(void);
21 void cmx255_pcmcia_exit(void);
22 void cmx270_pcmcia_exit(void);
23
24 static int __init cmx2xx_pcmcia_init(void)
25 {
26         int ret = -ENODEV;
27
28         if (machine_is_armcore() && cpu_is_pxa25x())
29                 ret = cmx255_pcmcia_init();
30         else if (machine_is_armcore() && cpu_is_pxa27x())
31                 ret = cmx270_pcmcia_init();
32
33         return ret;
34 }
35
36 static void __exit cmx2xx_pcmcia_exit(void)
37 {
38         if (machine_is_armcore() && cpu_is_pxa25x())
39                 cmx255_pcmcia_exit();
40         else if (machine_is_armcore() && cpu_is_pxa27x())
41                 cmx270_pcmcia_exit();
42 }
43
44 module_init(cmx2xx_pcmcia_init);
45 module_exit(cmx2xx_pcmcia_exit);
46
47 MODULE_LICENSE("GPL");
48 MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
49 MODULE_DESCRIPTION("CM-x2xx PCMCIA driver");