X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fpcmcia%2Fsa1100_generic.c;h=c5b2a44b4c3783bc4da19bb2bd481cd2b30088ca;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=8f345309deb6be8cf74d74a4f75c5c1a4b8200f9;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/pcmcia/sa1100_generic.c b/drivers/pcmcia/sa1100_generic.c index 8f345309d..c5b2a44b4 100644 --- a/drivers/pcmcia/sa1100_generic.c +++ b/drivers/pcmcia/sa1100_generic.c @@ -29,21 +29,20 @@ file under either the MPL or the GPL. ======================================================================*/ -/* - * Please see linux/Documentation/arm/SA1100/PCMCIA for more information - * on the low-level kernel interface. - */ #include #include -#include +#include -#include #include #include #include -#include "sa1100.h" +#include + +#include "sa1100_generic.h" + +int __init pcmcia_collie_init(struct device *dev); static int (*sa11x0_pcmcia_hw_init[])(struct device *dev) = { #ifdef CONFIG_SA1100_ASSABET @@ -52,35 +51,17 @@ static int (*sa11x0_pcmcia_hw_init[])(struct device *dev) = { #ifdef CONFIG_SA1100_CERF pcmcia_cerf_init, #endif -#ifdef CONFIG_SA1100_FLEXANET - pcmcia_flexanet_init, -#endif -#ifdef CONFIG_SA1100_FREEBIRD - pcmcia_freebird_init, -#endif -#ifdef CONFIG_SA1100_GRAPHICSCLIENT - pcmcia_gcplus_init, -#endif #ifdef CONFIG_SA1100_H3600 pcmcia_h3600_init, #endif -#ifdef CONFIG_SA1100_PANGOLIN - pcmcia_pangolin_init, -#endif #ifdef CONFIG_SA1100_SHANNON pcmcia_shannon_init, #endif #ifdef CONFIG_SA1100_SIMPAD pcmcia_simpad_init, #endif -#ifdef CONFIG_SA1100_STORK - pcmcia_stork_init, -#endif -#ifdef CONFIG_SA1100_TRIZEPS - pcmcia_trizeps_init, -#endif -#ifdef CONFIG_SA1100_YOPY - pcmcia_yopy_init, +#ifdef CONFIG_SA1100_COLLIE + pcmcia_collie_init, #endif }; @@ -100,29 +81,13 @@ static int sa11x0_drv_pcmcia_probe(struct device *dev) return ret; } -static int sa11x0_drv_pcmcia_suspend(struct device *dev, u32 state, u32 level) -{ - int ret = 0; - if (level == SUSPEND_SAVE_STATE) - ret = pcmcia_socket_dev_suspend(dev, state); - return ret; -} - -static int sa11x0_drv_pcmcia_resume(struct device *dev, u32 level) -{ - int ret = 0; - if (level == RESUME_RESTORE_STATE) - ret = pcmcia_socket_dev_resume(dev); - return ret; -} - static struct device_driver sa11x0_pcmcia_driver = { .probe = sa11x0_drv_pcmcia_probe, - .remove = sa11xx_drv_pcmcia_remove, + .remove = soc_common_drv_pcmcia_remove, .name = "sa11x0-pcmcia", .bus = &platform_bus_type, - .suspend = sa11x0_drv_pcmcia_suspend, - .resume = sa11x0_drv_pcmcia_resume, + .suspend = pcmcia_socket_dev_suspend, + .resume = pcmcia_socket_dev_resume, }; /* sa11x0_pcmcia_init() @@ -152,5 +117,5 @@ MODULE_AUTHOR("John Dorsey "); MODULE_DESCRIPTION("Linux PCMCIA Card Services: SA-11x0 Socket Controller"); MODULE_LICENSE("Dual MPL/GPL"); -module_init(sa11x0_pcmcia_init); +fs_initcall(sa11x0_pcmcia_init); module_exit(sa11x0_pcmcia_exit);