aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/sa1100_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pcmcia/sa1100_generic.c')
-rw-r--r--drivers/pcmcia/sa1100_generic.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/drivers/pcmcia/sa1100_generic.c b/drivers/pcmcia/sa1100_generic.c
index 2d0e99751530..edbd8c472628 100644
--- a/drivers/pcmcia/sa1100_generic.c
+++ b/drivers/pcmcia/sa1100_generic.c
@@ -32,6 +32,7 @@
32 32
33#include <linux/module.h> 33#include <linux/module.h>
34#include <linux/init.h> 34#include <linux/init.h>
35#include <linux/slab.h>
35#include <linux/platform_device.h> 36#include <linux/platform_device.h>
36 37
37#include <pcmcia/cs_types.h> 38#include <pcmcia/cs_types.h>
@@ -51,7 +52,7 @@ static int (*sa11x0_pcmcia_hw_init[])(struct device *dev) = {
51#ifdef CONFIG_SA1100_CERF 52#ifdef CONFIG_SA1100_CERF
52 pcmcia_cerf_init, 53 pcmcia_cerf_init,
53#endif 54#endif
54#ifdef CONFIG_SA1100_H3600 55#if defined(CONFIG_SA1100_H3100) || defined(CONFIG_SA1100_H3600)
55 pcmcia_h3600_init, 56 pcmcia_h3600_init,
56#endif 57#endif
57#ifdef CONFIG_SA1100_SHANNON 58#ifdef CONFIG_SA1100_SHANNON
@@ -83,18 +84,16 @@ static int sa11x0_drv_pcmcia_probe(struct platform_device *dev)
83 84
84static int sa11x0_drv_pcmcia_remove(struct platform_device *dev) 85static int sa11x0_drv_pcmcia_remove(struct platform_device *dev)
85{ 86{
86 return soc_common_drv_pcmcia_remove(&dev->dev); 87 struct skt_dev_info *sinfo = platform_get_drvdata(dev);
87} 88 int i;
88 89
89static int sa11x0_drv_pcmcia_suspend(struct platform_device *dev, 90 platform_set_drvdata(dev, NULL);
90 pm_message_t state)
91{
92 return pcmcia_socket_dev_suspend(&dev->dev);
93}
94 91
95static int sa11x0_drv_pcmcia_resume(struct platform_device *dev) 92 for (i = 0; i < sinfo->nskt; i++)
96{ 93 soc_pcmcia_remove_one(&sinfo->skt[i]);
97 return pcmcia_socket_dev_resume(&dev->dev); 94
95 kfree(sinfo);
96 return 0;
98} 97}
99 98
100static struct platform_driver sa11x0_pcmcia_driver = { 99static struct platform_driver sa11x0_pcmcia_driver = {
@@ -104,8 +103,6 @@ static struct platform_driver sa11x0_pcmcia_driver = {
104 }, 103 },
105 .probe = sa11x0_drv_pcmcia_probe, 104 .probe = sa11x0_drv_pcmcia_probe,
106 .remove = sa11x0_drv_pcmcia_remove, 105 .remove = sa11x0_drv_pcmcia_remove,
107 .suspend = sa11x0_drv_pcmcia_suspend,
108 .resume = sa11x0_drv_pcmcia_resume,
109}; 106};
110 107
111/* sa11x0_pcmcia_init() 108/* sa11x0_pcmcia_init()