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