Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / drivers / pcmcia / pxa2xx_cm_x2xx.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * linux/drivers/pcmcia/pxa/pxa_cm_x2xx.c
4  *
5  * Compulab Ltd., 2003, 2007, 2008
6  * Mike Rapoport <mike@compulab.co.il>
7  */
8
9 #include <linux/module.h>
10
11 #include <asm/mach-types.h>
12 #include <mach/hardware.h>
13
14 int cmx255_pcmcia_init(void);
15 int cmx270_pcmcia_init(void);
16 void cmx255_pcmcia_exit(void);
17 void cmx270_pcmcia_exit(void);
18
19 static int __init cmx2xx_pcmcia_init(void)
20 {
21         int ret = -ENODEV;
22
23         if (machine_is_armcore() && cpu_is_pxa25x())
24                 ret = cmx255_pcmcia_init();
25         else if (machine_is_armcore() && cpu_is_pxa27x())
26                 ret = cmx270_pcmcia_init();
27
28         return ret;
29 }
30
31 static void __exit cmx2xx_pcmcia_exit(void)
32 {
33         if (machine_is_armcore() && cpu_is_pxa25x())
34                 cmx255_pcmcia_exit();
35         else if (machine_is_armcore() && cpu_is_pxa27x())
36                 cmx270_pcmcia_exit();
37 }
38
39 module_init(cmx2xx_pcmcia_init);
40 module_exit(cmx2xx_pcmcia_exit);
41
42 MODULE_LICENSE("GPL");
43 MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
44 MODULE_DESCRIPTION("CM-x2xx PCMCIA driver");