diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-31 12:23:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-31 12:23:08 -0400 |
commit | f33c596a2f921696391801b637ed50d514634079 (patch) | |
tree | abc353fe3ef128e60e20a6b73f52858ce6d39eff /drivers/pcmcia | |
parent | 250f8e3db646028353a2a737ddb7a894c97a1098 (diff) | |
parent | 74411c04540404a1ff29d254584ef393e150aeda (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
smc91c92_cs.c: fix bogus compiler warning
orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002
hostap_cs: support cards with "Version 01.02" as third product ID
pcmcia: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3
pxa2xx pcmcia - stargate 2 use gpio array.
pcmcia: pxa2xx: remove empty socket_init / socket_resume functions.
drivers:pcmcia:soc_common: make socket_init and socket_suspend optional
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/pxa2xx_balloon3.c | 10 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_cm_x255.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_cm_x270.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_colibri.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_mainstone.c | 10 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_palmld.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_palmtc.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_palmtx.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_stargate2.c | 34 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_viper.c | 10 | ||||
-rw-r--r-- | drivers/pcmcia/soc_common.c | 7 |
11 files changed, 15 insertions, 122 deletions
diff --git a/drivers/pcmcia/pxa2xx_balloon3.c b/drivers/pcmcia/pxa2xx_balloon3.c index 4c3e94c0ae85..f56d7de7c751 100644 --- a/drivers/pcmcia/pxa2xx_balloon3.c +++ b/drivers/pcmcia/pxa2xx_balloon3.c | |||
@@ -103,22 +103,12 @@ static int balloon3_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
103 | return 0; | 103 | return 0; |
104 | } | 104 | } |
105 | 105 | ||
106 | static void balloon3_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
107 | { | ||
108 | } | ||
109 | |||
110 | static void balloon3_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
111 | { | ||
112 | } | ||
113 | |||
114 | static struct pcmcia_low_level balloon3_pcmcia_ops = { | 106 | static struct pcmcia_low_level balloon3_pcmcia_ops = { |
115 | .owner = THIS_MODULE, | 107 | .owner = THIS_MODULE, |
116 | .hw_init = balloon3_pcmcia_hw_init, | 108 | .hw_init = balloon3_pcmcia_hw_init, |
117 | .hw_shutdown = balloon3_pcmcia_hw_shutdown, | 109 | .hw_shutdown = balloon3_pcmcia_hw_shutdown, |
118 | .socket_state = balloon3_pcmcia_socket_state, | 110 | .socket_state = balloon3_pcmcia_socket_state, |
119 | .configure_socket = balloon3_pcmcia_configure_socket, | 111 | .configure_socket = balloon3_pcmcia_configure_socket, |
120 | .socket_init = balloon3_pcmcia_socket_init, | ||
121 | .socket_suspend = balloon3_pcmcia_socket_suspend, | ||
122 | .first = 0, | 112 | .first = 0, |
123 | .nr = 1, | 113 | .nr = 1, |
124 | }; | 114 | }; |
diff --git a/drivers/pcmcia/pxa2xx_cm_x255.c b/drivers/pcmcia/pxa2xx_cm_x255.c index 05913d0bbdbe..63f4d5211ed2 100644 --- a/drivers/pcmcia/pxa2xx_cm_x255.c +++ b/drivers/pcmcia/pxa2xx_cm_x255.c | |||
@@ -102,23 +102,12 @@ static int cmx255_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
102 | return 0; | 102 | return 0; |
103 | } | 103 | } |
104 | 104 | ||
105 | static void cmx255_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
106 | { | ||
107 | } | ||
108 | |||
109 | static void cmx255_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
110 | { | ||
111 | } | ||
112 | |||
113 | |||
114 | static struct pcmcia_low_level cmx255_pcmcia_ops __initdata = { | 105 | static struct pcmcia_low_level cmx255_pcmcia_ops __initdata = { |
115 | .owner = THIS_MODULE, | 106 | .owner = THIS_MODULE, |
116 | .hw_init = cmx255_pcmcia_hw_init, | 107 | .hw_init = cmx255_pcmcia_hw_init, |
117 | .hw_shutdown = cmx255_pcmcia_shutdown, | 108 | .hw_shutdown = cmx255_pcmcia_shutdown, |
118 | .socket_state = cmx255_pcmcia_socket_state, | 109 | .socket_state = cmx255_pcmcia_socket_state, |
119 | .configure_socket = cmx255_pcmcia_configure_socket, | 110 | .configure_socket = cmx255_pcmcia_configure_socket, |
120 | .socket_init = cmx255_pcmcia_socket_init, | ||
121 | .socket_suspend = cmx255_pcmcia_socket_suspend, | ||
122 | .nr = 1, | 111 | .nr = 1, |
123 | }; | 112 | }; |
124 | 113 | ||
diff --git a/drivers/pcmcia/pxa2xx_cm_x270.c b/drivers/pcmcia/pxa2xx_cm_x270.c index 5662646b84da..6ee42b4c3e68 100644 --- a/drivers/pcmcia/pxa2xx_cm_x270.c +++ b/drivers/pcmcia/pxa2xx_cm_x270.c | |||
@@ -82,23 +82,12 @@ static int cmx270_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
82 | return 0; | 82 | return 0; |
83 | } | 83 | } |
84 | 84 | ||
85 | static void cmx270_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
86 | { | ||
87 | } | ||
88 | |||
89 | static void cmx270_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
90 | { | ||
91 | } | ||
92 | |||
93 | |||
94 | static struct pcmcia_low_level cmx270_pcmcia_ops __initdata = { | 85 | static struct pcmcia_low_level cmx270_pcmcia_ops __initdata = { |
95 | .owner = THIS_MODULE, | 86 | .owner = THIS_MODULE, |
96 | .hw_init = cmx270_pcmcia_hw_init, | 87 | .hw_init = cmx270_pcmcia_hw_init, |
97 | .hw_shutdown = cmx270_pcmcia_shutdown, | 88 | .hw_shutdown = cmx270_pcmcia_shutdown, |
98 | .socket_state = cmx270_pcmcia_socket_state, | 89 | .socket_state = cmx270_pcmcia_socket_state, |
99 | .configure_socket = cmx270_pcmcia_configure_socket, | 90 | .configure_socket = cmx270_pcmcia_configure_socket, |
100 | .socket_init = cmx270_pcmcia_socket_init, | ||
101 | .socket_suspend = cmx270_pcmcia_socket_suspend, | ||
102 | .nr = 1, | 91 | .nr = 1, |
103 | }; | 92 | }; |
104 | 93 | ||
diff --git a/drivers/pcmcia/pxa2xx_colibri.c b/drivers/pcmcia/pxa2xx_colibri.c index 443cb7fc872d..c6dec572a05d 100644 --- a/drivers/pcmcia/pxa2xx_colibri.c +++ b/drivers/pcmcia/pxa2xx_colibri.c | |||
@@ -116,14 +116,6 @@ colibri_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
116 | return 0; | 116 | return 0; |
117 | } | 117 | } |
118 | 118 | ||
119 | static void colibri_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
120 | { | ||
121 | } | ||
122 | |||
123 | static void colibri_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
124 | { | ||
125 | } | ||
126 | |||
127 | static struct pcmcia_low_level colibri_pcmcia_ops = { | 119 | static struct pcmcia_low_level colibri_pcmcia_ops = { |
128 | .owner = THIS_MODULE, | 120 | .owner = THIS_MODULE, |
129 | 121 | ||
@@ -135,9 +127,6 @@ static struct pcmcia_low_level colibri_pcmcia_ops = { | |||
135 | 127 | ||
136 | .socket_state = colibri_pcmcia_socket_state, | 128 | .socket_state = colibri_pcmcia_socket_state, |
137 | .configure_socket = colibri_pcmcia_configure_socket, | 129 | .configure_socket = colibri_pcmcia_configure_socket, |
138 | |||
139 | .socket_init = colibri_pcmcia_socket_init, | ||
140 | .socket_suspend = colibri_pcmcia_socket_suspend, | ||
141 | }; | 130 | }; |
142 | 131 | ||
143 | static struct platform_device *colibri_pcmcia_device; | 132 | static struct platform_device *colibri_pcmcia_device; |
diff --git a/drivers/pcmcia/pxa2xx_mainstone.c b/drivers/pcmcia/pxa2xx_mainstone.c index 92016fe932b4..aded706c0b9f 100644 --- a/drivers/pcmcia/pxa2xx_mainstone.c +++ b/drivers/pcmcia/pxa2xx_mainstone.c | |||
@@ -128,22 +128,12 @@ static int mst_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
128 | return ret; | 128 | return ret; |
129 | } | 129 | } |
130 | 130 | ||
131 | static void mst_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
132 | { | ||
133 | } | ||
134 | |||
135 | static void mst_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
136 | { | ||
137 | } | ||
138 | |||
139 | static struct pcmcia_low_level mst_pcmcia_ops __initdata = { | 131 | static struct pcmcia_low_level mst_pcmcia_ops __initdata = { |
140 | .owner = THIS_MODULE, | 132 | .owner = THIS_MODULE, |
141 | .hw_init = mst_pcmcia_hw_init, | 133 | .hw_init = mst_pcmcia_hw_init, |
142 | .hw_shutdown = mst_pcmcia_hw_shutdown, | 134 | .hw_shutdown = mst_pcmcia_hw_shutdown, |
143 | .socket_state = mst_pcmcia_socket_state, | 135 | .socket_state = mst_pcmcia_socket_state, |
144 | .configure_socket = mst_pcmcia_configure_socket, | 136 | .configure_socket = mst_pcmcia_configure_socket, |
145 | .socket_init = mst_pcmcia_socket_init, | ||
146 | .socket_suspend = mst_pcmcia_socket_suspend, | ||
147 | .nr = 2, | 137 | .nr = 2, |
148 | }; | 138 | }; |
149 | 139 | ||
diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c index 69f73670949a..d589ad1dcd4c 100644 --- a/drivers/pcmcia/pxa2xx_palmld.c +++ b/drivers/pcmcia/pxa2xx_palmld.c | |||
@@ -65,14 +65,6 @@ static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
65 | return 0; | 65 | return 0; |
66 | } | 66 | } |
67 | 67 | ||
68 | static void palmld_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
69 | { | ||
70 | } | ||
71 | |||
72 | static void palmld_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
73 | { | ||
74 | } | ||
75 | |||
76 | static struct pcmcia_low_level palmld_pcmcia_ops = { | 68 | static struct pcmcia_low_level palmld_pcmcia_ops = { |
77 | .owner = THIS_MODULE, | 69 | .owner = THIS_MODULE, |
78 | 70 | ||
@@ -84,9 +76,6 @@ static struct pcmcia_low_level palmld_pcmcia_ops = { | |||
84 | 76 | ||
85 | .socket_state = palmld_pcmcia_socket_state, | 77 | .socket_state = palmld_pcmcia_socket_state, |
86 | .configure_socket = palmld_pcmcia_configure_socket, | 78 | .configure_socket = palmld_pcmcia_configure_socket, |
87 | |||
88 | .socket_init = palmld_pcmcia_socket_init, | ||
89 | .socket_suspend = palmld_pcmcia_socket_suspend, | ||
90 | }; | 79 | }; |
91 | 80 | ||
92 | static struct platform_device *palmld_pcmcia_device; | 81 | static struct platform_device *palmld_pcmcia_device; |
diff --git a/drivers/pcmcia/pxa2xx_palmtc.c b/drivers/pcmcia/pxa2xx_palmtc.c index d0ad6a76bbde..9c6a04b2f71b 100644 --- a/drivers/pcmcia/pxa2xx_palmtc.c +++ b/drivers/pcmcia/pxa2xx_palmtc.c | |||
@@ -117,14 +117,6 @@ static int palmtc_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
117 | return ret; | 117 | return ret; |
118 | } | 118 | } |
119 | 119 | ||
120 | static void palmtc_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
121 | { | ||
122 | } | ||
123 | |||
124 | static void palmtc_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
125 | { | ||
126 | } | ||
127 | |||
128 | static struct pcmcia_low_level palmtc_pcmcia_ops = { | 120 | static struct pcmcia_low_level palmtc_pcmcia_ops = { |
129 | .owner = THIS_MODULE, | 121 | .owner = THIS_MODULE, |
130 | 122 | ||
@@ -136,9 +128,6 @@ static struct pcmcia_low_level palmtc_pcmcia_ops = { | |||
136 | 128 | ||
137 | .socket_state = palmtc_pcmcia_socket_state, | 129 | .socket_state = palmtc_pcmcia_socket_state, |
138 | .configure_socket = palmtc_pcmcia_configure_socket, | 130 | .configure_socket = palmtc_pcmcia_configure_socket, |
139 | |||
140 | .socket_init = palmtc_pcmcia_socket_init, | ||
141 | .socket_suspend = palmtc_pcmcia_socket_suspend, | ||
142 | }; | 131 | }; |
143 | 132 | ||
144 | static struct platform_device *palmtc_pcmcia_device; | 133 | static struct platform_device *palmtc_pcmcia_device; |
diff --git a/drivers/pcmcia/pxa2xx_palmtx.c b/drivers/pcmcia/pxa2xx_palmtx.c index 1a2580450402..80645a688ee3 100644 --- a/drivers/pcmcia/pxa2xx_palmtx.c +++ b/drivers/pcmcia/pxa2xx_palmtx.c | |||
@@ -67,14 +67,6 @@ palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
67 | return 0; | 67 | return 0; |
68 | } | 68 | } |
69 | 69 | ||
70 | static void palmtx_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
71 | { | ||
72 | } | ||
73 | |||
74 | static void palmtx_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
75 | { | ||
76 | } | ||
77 | |||
78 | static struct pcmcia_low_level palmtx_pcmcia_ops = { | 70 | static struct pcmcia_low_level palmtx_pcmcia_ops = { |
79 | .owner = THIS_MODULE, | 71 | .owner = THIS_MODULE, |
80 | 72 | ||
@@ -86,9 +78,6 @@ static struct pcmcia_low_level palmtx_pcmcia_ops = { | |||
86 | 78 | ||
87 | .socket_state = palmtx_pcmcia_socket_state, | 79 | .socket_state = palmtx_pcmcia_socket_state, |
88 | .configure_socket = palmtx_pcmcia_configure_socket, | 80 | .configure_socket = palmtx_pcmcia_configure_socket, |
89 | |||
90 | .socket_init = palmtx_pcmcia_socket_init, | ||
91 | .socket_suspend = palmtx_pcmcia_socket_suspend, | ||
92 | }; | 81 | }; |
93 | 82 | ||
94 | static struct platform_device *palmtx_pcmcia_device; | 83 | static struct platform_device *palmtx_pcmcia_device; |
diff --git a/drivers/pcmcia/pxa2xx_stargate2.c b/drivers/pcmcia/pxa2xx_stargate2.c index d08802fe35f9..939622251dfb 100644 --- a/drivers/pcmcia/pxa2xx_stargate2.c +++ b/drivers/pcmcia/pxa2xx_stargate2.c | |||
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #include "soc_common.h" | 29 | #include "soc_common.h" |
30 | 30 | ||
31 | #define SG2_S0_BUFF_CTL 120 | ||
32 | #define SG2_S0_POWER_CTL 108 | 31 | #define SG2_S0_POWER_CTL 108 |
33 | #define SG2_S0_GPIO_RESET 82 | 32 | #define SG2_S0_GPIO_RESET 82 |
34 | #define SG2_S0_GPIO_DETECT 53 | 33 | #define SG2_S0_GPIO_DETECT 53 |
@@ -38,6 +37,11 @@ static struct pcmcia_irqs irqs[] = { | |||
38 | { 0, IRQ_GPIO(SG2_S0_GPIO_DETECT), "PCMCIA0 CD" }, | 37 | { 0, IRQ_GPIO(SG2_S0_GPIO_DETECT), "PCMCIA0 CD" }, |
39 | }; | 38 | }; |
40 | 39 | ||
40 | static struct gpio sg2_pcmcia_gpios[] = { | ||
41 | { SG2_S0_GPIO_RESET, GPIOF_OUT_INIT_HIGH, "PCMCIA Reset" }, | ||
42 | { SG2_S0_POWER_CTL, GPIOF_OUT_INIT_HIGH, "PCMCIA Power Ctrl" }, | ||
43 | }; | ||
44 | |||
41 | static int sg2_pcmcia_hw_init(struct soc_pcmcia_socket *skt) | 45 | static int sg2_pcmcia_hw_init(struct soc_pcmcia_socket *skt) |
42 | { | 46 | { |
43 | skt->socket.pci_irq = IRQ_GPIO(SG2_S0_GPIO_READY); | 47 | skt->socket.pci_irq = IRQ_GPIO(SG2_S0_GPIO_READY); |
@@ -122,37 +126,23 @@ static int __init sg2_pcmcia_init(void) | |||
122 | if (!sg2_pcmcia_device) | 126 | if (!sg2_pcmcia_device) |
123 | return -ENOMEM; | 127 | return -ENOMEM; |
124 | 128 | ||
125 | ret = gpio_request(SG2_S0_BUFF_CTL, "SG2 CF buff ctl"); | 129 | ret = gpio_request_array(sg2_pcmcia_gpios, ARRAY_SIZE(sg2_pcmcia_gpios)); |
126 | if (ret) | 130 | if (ret) |
127 | goto error_put_platform_device; | 131 | goto error_put_platform_device; |
128 | ret = gpio_request(SG2_S0_POWER_CTL, "SG2 CF power ctl"); | ||
129 | if (ret) | ||
130 | goto error_free_gpio_buff_ctl; | ||
131 | ret = gpio_request(SG2_S0_GPIO_RESET, "SG2 CF reset"); | ||
132 | if (ret) | ||
133 | goto error_free_gpio_power_ctl; | ||
134 | /* Set gpio directions */ | ||
135 | gpio_direction_output(SG2_S0_BUFF_CTL, 0); | ||
136 | gpio_direction_output(SG2_S0_POWER_CTL, 1); | ||
137 | gpio_direction_output(SG2_S0_GPIO_RESET, 1); | ||
138 | 132 | ||
139 | ret = platform_device_add_data(sg2_pcmcia_device, | 133 | ret = platform_device_add_data(sg2_pcmcia_device, |
140 | &sg2_pcmcia_ops, | 134 | &sg2_pcmcia_ops, |
141 | sizeof(sg2_pcmcia_ops)); | 135 | sizeof(sg2_pcmcia_ops)); |
142 | if (ret) | 136 | if (ret) |
143 | goto error_free_gpio_reset; | 137 | goto error_free_gpios; |
144 | 138 | ||
145 | ret = platform_device_add(sg2_pcmcia_device); | 139 | ret = platform_device_add(sg2_pcmcia_device); |
146 | if (ret) | 140 | if (ret) |
147 | goto error_free_gpio_reset; | 141 | goto error_free_gpios; |
148 | 142 | ||
149 | return 0; | 143 | return 0; |
150 | error_free_gpio_reset: | 144 | error_free_gpios: |
151 | gpio_free(SG2_S0_GPIO_RESET); | 145 | gpio_free_array(sg2_pcmcia_gpios, ARRAY_SIZE(sg2_pcmcia_gpios)); |
152 | error_free_gpio_power_ctl: | ||
153 | gpio_free(SG2_S0_POWER_CTL); | ||
154 | error_free_gpio_buff_ctl: | ||
155 | gpio_free(SG2_S0_BUFF_CTL); | ||
156 | error_put_platform_device: | 146 | error_put_platform_device: |
157 | platform_device_put(sg2_pcmcia_device); | 147 | platform_device_put(sg2_pcmcia_device); |
158 | 148 | ||
@@ -162,9 +152,7 @@ error_put_platform_device: | |||
162 | static void __exit sg2_pcmcia_exit(void) | 152 | static void __exit sg2_pcmcia_exit(void) |
163 | { | 153 | { |
164 | platform_device_unregister(sg2_pcmcia_device); | 154 | platform_device_unregister(sg2_pcmcia_device); |
165 | gpio_free(SG2_S0_BUFF_CTL); | 155 | gpio_free_array(sg2_pcmcia_gpios, ARRAY_SIZE(sg2_pcmcia_gpios)); |
166 | gpio_free(SG2_S0_POWER_CTL); | ||
167 | gpio_free(SG2_S0_GPIO_RESET); | ||
168 | } | 156 | } |
169 | 157 | ||
170 | fs_initcall(sg2_pcmcia_init); | 158 | fs_initcall(sg2_pcmcia_init); |
diff --git a/drivers/pcmcia/pxa2xx_viper.c b/drivers/pcmcia/pxa2xx_viper.c index a51f2077644a..1064b1c2869d 100644 --- a/drivers/pcmcia/pxa2xx_viper.c +++ b/drivers/pcmcia/pxa2xx_viper.c | |||
@@ -136,22 +136,12 @@ static int viper_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | |||
136 | return 0; | 136 | return 0; |
137 | } | 137 | } |
138 | 138 | ||
139 | static void viper_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
140 | { | ||
141 | } | ||
142 | |||
143 | static void viper_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
144 | { | ||
145 | } | ||
146 | |||
147 | static struct pcmcia_low_level viper_pcmcia_ops = { | 139 | static struct pcmcia_low_level viper_pcmcia_ops = { |
148 | .owner = THIS_MODULE, | 140 | .owner = THIS_MODULE, |
149 | .hw_init = viper_pcmcia_hw_init, | 141 | .hw_init = viper_pcmcia_hw_init, |
150 | .hw_shutdown = viper_pcmcia_hw_shutdown, | 142 | .hw_shutdown = viper_pcmcia_hw_shutdown, |
151 | .socket_state = viper_pcmcia_socket_state, | 143 | .socket_state = viper_pcmcia_socket_state, |
152 | .configure_socket = viper_pcmcia_configure_socket, | 144 | .configure_socket = viper_pcmcia_configure_socket, |
153 | .socket_init = viper_pcmcia_socket_init, | ||
154 | .socket_suspend = viper_pcmcia_socket_suspend, | ||
155 | .nr = 1, | 145 | .nr = 1, |
156 | }; | 146 | }; |
157 | 147 | ||
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c index 768f9572a8c8..a0a9c2aa8d78 100644 --- a/drivers/pcmcia/soc_common.c +++ b/drivers/pcmcia/soc_common.c | |||
@@ -186,8 +186,8 @@ static int soc_common_pcmcia_sock_init(struct pcmcia_socket *sock) | |||
186 | struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock); | 186 | struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock); |
187 | 187 | ||
188 | debug(skt, 2, "initializing socket\n"); | 188 | debug(skt, 2, "initializing socket\n"); |
189 | 189 | if (skt->ops->socket_init) | |
190 | skt->ops->socket_init(skt); | 190 | skt->ops->socket_init(skt); |
191 | return 0; | 191 | return 0; |
192 | } | 192 | } |
193 | 193 | ||
@@ -207,7 +207,8 @@ static int soc_common_pcmcia_suspend(struct pcmcia_socket *sock) | |||
207 | 207 | ||
208 | debug(skt, 2, "suspending socket\n"); | 208 | debug(skt, 2, "suspending socket\n"); |
209 | 209 | ||
210 | skt->ops->socket_suspend(skt); | 210 | if (skt->ops->socket_suspend) |
211 | skt->ops->socket_suspend(skt); | ||
211 | 212 | ||
212 | return 0; | 213 | return 0; |
213 | } | 214 | } |