diff options
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/hardware/avm/avm_cs.c | 51 | ||||
-rw-r--r-- | drivers/isdn/hisax/avma1_cs.c | 57 | ||||
-rw-r--r-- | drivers/isdn/hisax/elsa_cs.c | 55 | ||||
-rw-r--r-- | drivers/isdn/hisax/sedlbauer_cs.c | 84 | ||||
-rw-r--r-- | drivers/isdn/hisax/teles_cs.c | 62 |
5 files changed, 0 insertions, 309 deletions
diff --git a/drivers/isdn/hardware/avm/avm_cs.c b/drivers/isdn/hardware/avm/avm_cs.c index b172361bbef8..91f06a3ef002 100644 --- a/drivers/isdn/hardware/avm/avm_cs.c +++ b/drivers/isdn/hardware/avm/avm_cs.c | |||
@@ -38,38 +38,10 @@ MODULE_LICENSE("GPL"); | |||
38 | 38 | ||
39 | /*====================================================================*/ | 39 | /*====================================================================*/ |
40 | 40 | ||
41 | /* | ||
42 | The event() function is this driver's Card Services event handler. | ||
43 | It will be called by Card Services when an appropriate card status | ||
44 | event is received. The config() and release() entry points are | ||
45 | used to configure or release a socket, in response to card insertion | ||
46 | and ejection events. They are invoked from the skeleton event | ||
47 | handler. | ||
48 | */ | ||
49 | |||
50 | static int avmcs_config(struct pcmcia_device *link); | 41 | static int avmcs_config(struct pcmcia_device *link); |
51 | static void avmcs_release(struct pcmcia_device *link); | 42 | static void avmcs_release(struct pcmcia_device *link); |
52 | |||
53 | /* | ||
54 | The attach() and detach() entry points are used to create and destroy | ||
55 | "instances" of the driver, where each instance represents everything | ||
56 | needed to manage one actual PCMCIA card. | ||
57 | */ | ||
58 | |||
59 | static void avmcs_detach(struct pcmcia_device *p_dev); | 43 | static void avmcs_detach(struct pcmcia_device *p_dev); |
60 | 44 | ||
61 | /*====================================================================== | ||
62 | |||
63 | avmcs_attach() creates an "instance" of the driver, allocating | ||
64 | local data structures for one device. The device is registered | ||
65 | with Card Services. | ||
66 | |||
67 | The dev_link structure is initialized, but we don't actually | ||
68 | configure the card at this point -- we wait until we receive a | ||
69 | card insertion event. | ||
70 | |||
71 | ======================================================================*/ | ||
72 | |||
73 | static int avmcs_probe(struct pcmcia_device *p_dev) | 45 | static int avmcs_probe(struct pcmcia_device *p_dev) |
74 | { | 46 | { |
75 | /* General socket configuration */ | 47 | /* General socket configuration */ |
@@ -80,28 +52,12 @@ static int avmcs_probe(struct pcmcia_device *p_dev) | |||
80 | return avmcs_config(p_dev); | 52 | return avmcs_config(p_dev); |
81 | } /* avmcs_attach */ | 53 | } /* avmcs_attach */ |
82 | 54 | ||
83 | /*====================================================================== | ||
84 | |||
85 | This deletes a driver "instance". The device is de-registered | ||
86 | with Card Services. If it has been released, all local data | ||
87 | structures are freed. Otherwise, the structures will be freed | ||
88 | when the device is released. | ||
89 | |||
90 | ======================================================================*/ | ||
91 | 55 | ||
92 | static void avmcs_detach(struct pcmcia_device *link) | 56 | static void avmcs_detach(struct pcmcia_device *link) |
93 | { | 57 | { |
94 | avmcs_release(link); | 58 | avmcs_release(link); |
95 | } /* avmcs_detach */ | 59 | } /* avmcs_detach */ |
96 | 60 | ||
97 | /*====================================================================== | ||
98 | |||
99 | avmcs_config() is scheduled to run after a CARD_INSERTION event | ||
100 | is received, to configure the PCMCIA socket, and to make the | ||
101 | ethernet device available to the system. | ||
102 | |||
103 | ======================================================================*/ | ||
104 | |||
105 | static int avmcs_configcheck(struct pcmcia_device *p_dev, void *priv_data) | 61 | static int avmcs_configcheck(struct pcmcia_device *p_dev, void *priv_data) |
106 | { | 62 | { |
107 | p_dev->resource[0]->end = 16; | 63 | p_dev->resource[0]->end = 16; |
@@ -185,13 +141,6 @@ static int avmcs_config(struct pcmcia_device *link) | |||
185 | 141 | ||
186 | } /* avmcs_config */ | 142 | } /* avmcs_config */ |
187 | 143 | ||
188 | /*====================================================================== | ||
189 | |||
190 | After a card is removed, avmcs_release() will unregister the net | ||
191 | device, and release the PCMCIA configuration. If the device is | ||
192 | still open, this will be postponed until it is closed. | ||
193 | |||
194 | ======================================================================*/ | ||
195 | 144 | ||
196 | static void avmcs_release(struct pcmcia_device *link) | 145 | static void avmcs_release(struct pcmcia_device *link) |
197 | { | 146 | { |
diff --git a/drivers/isdn/hisax/avma1_cs.c b/drivers/isdn/hisax/avma1_cs.c index 62616c871c78..ac4dd7857cbd 100644 --- a/drivers/isdn/hisax/avma1_cs.c +++ b/drivers/isdn/hisax/avma1_cs.c | |||
@@ -39,39 +39,10 @@ module_param(isdnprot, int, 0); | |||
39 | 39 | ||
40 | /*====================================================================*/ | 40 | /*====================================================================*/ |
41 | 41 | ||
42 | /* | ||
43 | The event() function is this driver's Card Services event handler. | ||
44 | It will be called by Card Services when an appropriate card status | ||
45 | event is received. The config() and release() entry points are | ||
46 | used to configure or release a socket, in response to card insertion | ||
47 | and ejection events. They are invoked from the skeleton event | ||
48 | handler. | ||
49 | */ | ||
50 | |||
51 | static int avma1cs_config(struct pcmcia_device *link) __devinit ; | 42 | static int avma1cs_config(struct pcmcia_device *link) __devinit ; |
52 | static void avma1cs_release(struct pcmcia_device *link); | 43 | static void avma1cs_release(struct pcmcia_device *link); |
53 | |||
54 | /* | ||
55 | The attach() and detach() entry points are used to create and destroy | ||
56 | "instances" of the driver, where each instance represents everything | ||
57 | needed to manage one actual PCMCIA card. | ||
58 | */ | ||
59 | |||
60 | static void avma1cs_detach(struct pcmcia_device *p_dev) __devexit ; | 44 | static void avma1cs_detach(struct pcmcia_device *p_dev) __devexit ; |
61 | 45 | ||
62 | |||
63 | /*====================================================================== | ||
64 | |||
65 | avma1cs_attach() creates an "instance" of the driver, allocating | ||
66 | local data structures for one device. The device is registered | ||
67 | with Card Services. | ||
68 | |||
69 | The dev_link structure is initialized, but we don't actually | ||
70 | configure the card at this point -- we wait until we receive a | ||
71 | card insertion event. | ||
72 | |||
73 | ======================================================================*/ | ||
74 | |||
75 | static int __devinit avma1cs_probe(struct pcmcia_device *p_dev) | 46 | static int __devinit avma1cs_probe(struct pcmcia_device *p_dev) |
76 | { | 47 | { |
77 | dev_dbg(&p_dev->dev, "avma1cs_attach()\n"); | 48 | dev_dbg(&p_dev->dev, "avma1cs_attach()\n"); |
@@ -84,15 +55,6 @@ static int __devinit avma1cs_probe(struct pcmcia_device *p_dev) | |||
84 | return avma1cs_config(p_dev); | 55 | return avma1cs_config(p_dev); |
85 | } /* avma1cs_attach */ | 56 | } /* avma1cs_attach */ |
86 | 57 | ||
87 | /*====================================================================== | ||
88 | |||
89 | This deletes a driver "instance". The device is de-registered | ||
90 | with Card Services. If it has been released, all local data | ||
91 | structures are freed. Otherwise, the structures will be freed | ||
92 | when the device is released. | ||
93 | |||
94 | ======================================================================*/ | ||
95 | |||
96 | static void __devexit avma1cs_detach(struct pcmcia_device *link) | 58 | static void __devexit avma1cs_detach(struct pcmcia_device *link) |
97 | { | 59 | { |
98 | dev_dbg(&link->dev, "avma1cs_detach(0x%p)\n", link); | 60 | dev_dbg(&link->dev, "avma1cs_detach(0x%p)\n", link); |
@@ -100,14 +62,6 @@ static void __devexit avma1cs_detach(struct pcmcia_device *link) | |||
100 | kfree(link->priv); | 62 | kfree(link->priv); |
101 | } /* avma1cs_detach */ | 63 | } /* avma1cs_detach */ |
102 | 64 | ||
103 | /*====================================================================== | ||
104 | |||
105 | avma1cs_config() is scheduled to run after a CARD_INSERTION event | ||
106 | is received, to configure the PCMCIA socket, and to make the | ||
107 | ethernet device available to the system. | ||
108 | |||
109 | ======================================================================*/ | ||
110 | |||
111 | static int avma1cs_configcheck(struct pcmcia_device *p_dev, void *priv_data) | 65 | static int avma1cs_configcheck(struct pcmcia_device *p_dev, void *priv_data) |
112 | { | 66 | { |
113 | p_dev->resource[0]->end = 16; | 67 | p_dev->resource[0]->end = 16; |
@@ -180,14 +134,6 @@ static int __devinit avma1cs_config(struct pcmcia_device *link) | |||
180 | return 0; | 134 | return 0; |
181 | } /* avma1cs_config */ | 135 | } /* avma1cs_config */ |
182 | 136 | ||
183 | /*====================================================================== | ||
184 | |||
185 | After a card is removed, avma1cs_release() will unregister the net | ||
186 | device, and release the PCMCIA configuration. If the device is | ||
187 | still open, this will be postponed until it is closed. | ||
188 | |||
189 | ======================================================================*/ | ||
190 | |||
191 | static void avma1cs_release(struct pcmcia_device *link) | 137 | static void avma1cs_release(struct pcmcia_device *link) |
192 | { | 138 | { |
193 | unsigned long minor = (unsigned long) link->priv; | 139 | unsigned long minor = (unsigned long) link->priv; |
@@ -200,7 +146,6 @@ static void avma1cs_release(struct pcmcia_device *link) | |||
200 | pcmcia_disable_device(link); | 146 | pcmcia_disable_device(link); |
201 | } /* avma1cs_release */ | 147 | } /* avma1cs_release */ |
202 | 148 | ||
203 | |||
204 | static struct pcmcia_device_id avma1cs_ids[] = { | 149 | static struct pcmcia_device_id avma1cs_ids[] = { |
205 | PCMCIA_DEVICE_PROD_ID12("AVM", "ISDN A", 0x95d42008, 0xadc9d4bb), | 150 | PCMCIA_DEVICE_PROD_ID12("AVM", "ISDN A", 0x95d42008, 0xadc9d4bb), |
206 | PCMCIA_DEVICE_PROD_ID12("ISDN", "CARD", 0x8d9761c8, 0x01c5aa7b), | 151 | PCMCIA_DEVICE_PROD_ID12("ISDN", "CARD", 0x8d9761c8, 0x01c5aa7b), |
@@ -216,8 +161,6 @@ static struct pcmcia_driver avma1cs_driver = { | |||
216 | .id_table = avma1cs_ids, | 161 | .id_table = avma1cs_ids, |
217 | }; | 162 | }; |
218 | 163 | ||
219 | /*====================================================================*/ | ||
220 | |||
221 | static int __init init_avma1_cs(void) | 164 | static int __init init_avma1_cs(void) |
222 | { | 165 | { |
223 | return pcmcia_register_driver(&avma1cs_driver); | 166 | return pcmcia_register_driver(&avma1cs_driver); |
diff --git a/drivers/isdn/hisax/elsa_cs.c b/drivers/isdn/hisax/elsa_cs.c index 2d439a79fd88..496d477af0f8 100644 --- a/drivers/isdn/hisax/elsa_cs.c +++ b/drivers/isdn/hisax/elsa_cs.c | |||
@@ -63,26 +63,8 @@ MODULE_LICENSE("Dual MPL/GPL"); | |||
63 | static int protocol = 2; /* EURO-ISDN Default */ | 63 | static int protocol = 2; /* EURO-ISDN Default */ |
64 | module_param(protocol, int, 0); | 64 | module_param(protocol, int, 0); |
65 | 65 | ||
66 | /*====================================================================*/ | ||
67 | |||
68 | /* | ||
69 | The event() function is this driver's Card Services event handler. | ||
70 | It will be called by Card Services when an appropriate card status | ||
71 | event is received. The config() and release() entry points are | ||
72 | used to configure or release a socket, in response to card insertion | ||
73 | and ejection events. They are invoked from the elsa_cs event | ||
74 | handler. | ||
75 | */ | ||
76 | |||
77 | static int elsa_cs_config(struct pcmcia_device *link) __devinit ; | 66 | static int elsa_cs_config(struct pcmcia_device *link) __devinit ; |
78 | static void elsa_cs_release(struct pcmcia_device *link); | 67 | static void elsa_cs_release(struct pcmcia_device *link); |
79 | |||
80 | /* | ||
81 | The attach() and detach() entry points are used to create and destroy | ||
82 | "instances" of the driver, where each instance represents everything | ||
83 | needed to manage one actual PCMCIA card. | ||
84 | */ | ||
85 | |||
86 | static void elsa_cs_detach(struct pcmcia_device *p_dev) __devexit; | 68 | static void elsa_cs_detach(struct pcmcia_device *p_dev) __devexit; |
87 | 69 | ||
88 | typedef struct local_info_t { | 70 | typedef struct local_info_t { |
@@ -91,18 +73,6 @@ typedef struct local_info_t { | |||
91 | int cardnr; | 73 | int cardnr; |
92 | } local_info_t; | 74 | } local_info_t; |
93 | 75 | ||
94 | /*====================================================================== | ||
95 | |||
96 | elsa_cs_attach() creates an "instance" of the driver, allocatingx | ||
97 | local data structures for one device. The device is registered | ||
98 | with Card Services. | ||
99 | |||
100 | The dev_link structure is initialized, but we don't actually | ||
101 | configure the card at this point -- we wait until we receive a | ||
102 | card insertion event. | ||
103 | |||
104 | ======================================================================*/ | ||
105 | |||
106 | static int __devinit elsa_cs_probe(struct pcmcia_device *link) | 76 | static int __devinit elsa_cs_probe(struct pcmcia_device *link) |
107 | { | 77 | { |
108 | local_info_t *local; | 78 | local_info_t *local; |
@@ -121,15 +91,6 @@ static int __devinit elsa_cs_probe(struct pcmcia_device *link) | |||
121 | return elsa_cs_config(link); | 91 | return elsa_cs_config(link); |
122 | } /* elsa_cs_attach */ | 92 | } /* elsa_cs_attach */ |
123 | 93 | ||
124 | /*====================================================================== | ||
125 | |||
126 | This deletes a driver "instance". The device is de-registered | ||
127 | with Card Services. If it has been released, all local data | ||
128 | structures are freed. Otherwise, the structures will be freed | ||
129 | when the device is released. | ||
130 | |||
131 | ======================================================================*/ | ||
132 | |||
133 | static void __devexit elsa_cs_detach(struct pcmcia_device *link) | 94 | static void __devexit elsa_cs_detach(struct pcmcia_device *link) |
134 | { | 95 | { |
135 | local_info_t *info = link->priv; | 96 | local_info_t *info = link->priv; |
@@ -142,14 +103,6 @@ static void __devexit elsa_cs_detach(struct pcmcia_device *link) | |||
142 | kfree(info); | 103 | kfree(info); |
143 | } /* elsa_cs_detach */ | 104 | } /* elsa_cs_detach */ |
144 | 105 | ||
145 | /*====================================================================== | ||
146 | |||
147 | elsa_cs_config() is scheduled to run after a CARD_INSERTION event | ||
148 | is received, to configure the PCMCIA socket, and to make the | ||
149 | device available to the system. | ||
150 | |||
151 | ======================================================================*/ | ||
152 | |||
153 | static int elsa_cs_configcheck(struct pcmcia_device *p_dev, void *priv_data) | 106 | static int elsa_cs_configcheck(struct pcmcia_device *p_dev, void *priv_data) |
154 | { | 107 | { |
155 | int j; | 108 | int j; |
@@ -215,14 +168,6 @@ failed: | |||
215 | return -ENODEV; | 168 | return -ENODEV; |
216 | } /* elsa_cs_config */ | 169 | } /* elsa_cs_config */ |
217 | 170 | ||
218 | /*====================================================================== | ||
219 | |||
220 | After a card is removed, elsa_cs_release() will unregister the net | ||
221 | device, and release the PCMCIA configuration. If the device is | ||
222 | still open, this will be postponed until it is closed. | ||
223 | |||
224 | ======================================================================*/ | ||
225 | |||
226 | static void elsa_cs_release(struct pcmcia_device *link) | 171 | static void elsa_cs_release(struct pcmcia_device *link) |
227 | { | 172 | { |
228 | local_info_t *local = link->priv; | 173 | local_info_t *local = link->priv; |
diff --git a/drivers/isdn/hisax/sedlbauer_cs.c b/drivers/isdn/hisax/sedlbauer_cs.c index 9e5c4fd08671..360204bc2777 100644 --- a/drivers/isdn/hisax/sedlbauer_cs.c +++ b/drivers/isdn/hisax/sedlbauer_cs.c | |||
@@ -63,26 +63,9 @@ MODULE_LICENSE("Dual MPL/GPL"); | |||
63 | static int protocol = 2; /* EURO-ISDN Default */ | 63 | static int protocol = 2; /* EURO-ISDN Default */ |
64 | module_param(protocol, int, 0); | 64 | module_param(protocol, int, 0); |
65 | 65 | ||
66 | /*====================================================================*/ | ||
67 | |||
68 | /* | ||
69 | The event() function is this driver's Card Services event handler. | ||
70 | It will be called by Card Services when an appropriate card status | ||
71 | event is received. The config() and release() entry points are | ||
72 | used to configure or release a socket, in response to card | ||
73 | insertion and ejection events. They are invoked from the sedlbauer | ||
74 | event handler. | ||
75 | */ | ||
76 | |||
77 | static int sedlbauer_config(struct pcmcia_device *link) __devinit ; | 66 | static int sedlbauer_config(struct pcmcia_device *link) __devinit ; |
78 | static void sedlbauer_release(struct pcmcia_device *link); | 67 | static void sedlbauer_release(struct pcmcia_device *link); |
79 | 68 | ||
80 | /* | ||
81 | The attach() and detach() entry points are used to create and destroy | ||
82 | "instances" of the driver, where each instance represents everything | ||
83 | needed to manage one actual PCMCIA card. | ||
84 | */ | ||
85 | |||
86 | static void sedlbauer_detach(struct pcmcia_device *p_dev) __devexit; | 69 | static void sedlbauer_detach(struct pcmcia_device *p_dev) __devexit; |
87 | 70 | ||
88 | typedef struct local_info_t { | 71 | typedef struct local_info_t { |
@@ -91,18 +74,6 @@ typedef struct local_info_t { | |||
91 | int cardnr; | 74 | int cardnr; |
92 | } local_info_t; | 75 | } local_info_t; |
93 | 76 | ||
94 | /*====================================================================== | ||
95 | |||
96 | sedlbauer_attach() creates an "instance" of the driver, allocating | ||
97 | local data structures for one device. The device is registered | ||
98 | with Card Services. | ||
99 | |||
100 | The dev_link structure is initialized, but we don't actually | ||
101 | configure the card at this point -- we wait until we receive a | ||
102 | card insertion event. | ||
103 | |||
104 | ======================================================================*/ | ||
105 | |||
106 | static int __devinit sedlbauer_probe(struct pcmcia_device *link) | 77 | static int __devinit sedlbauer_probe(struct pcmcia_device *link) |
107 | { | 78 | { |
108 | local_info_t *local; | 79 | local_info_t *local; |
@@ -117,30 +88,9 @@ static int __devinit sedlbauer_probe(struct pcmcia_device *link) | |||
117 | local->p_dev = link; | 88 | local->p_dev = link; |
118 | link->priv = local; | 89 | link->priv = local; |
119 | 90 | ||
120 | /* | ||
121 | General socket configuration defaults can go here. In this | ||
122 | client, we assume very little, and rely on the CIS for almost | ||
123 | everything. In most clients, many details (i.e., number, sizes, | ||
124 | and attributes of IO windows) are fixed by the nature of the | ||
125 | device, and can be hard-wired here. | ||
126 | */ | ||
127 | |||
128 | /* from old sedl_cs | ||
129 | */ | ||
130 | /* The io structure describes IO port mapping */ | ||
131 | |||
132 | return sedlbauer_config(link); | 91 | return sedlbauer_config(link); |
133 | } /* sedlbauer_attach */ | 92 | } /* sedlbauer_attach */ |
134 | 93 | ||
135 | /*====================================================================== | ||
136 | |||
137 | This deletes a driver "instance". The device is de-registered | ||
138 | with Card Services. If it has been released, all local data | ||
139 | structures are freed. Otherwise, the structures will be freed | ||
140 | when the device is released. | ||
141 | |||
142 | ======================================================================*/ | ||
143 | |||
144 | static void __devexit sedlbauer_detach(struct pcmcia_device *link) | 94 | static void __devexit sedlbauer_detach(struct pcmcia_device *link) |
145 | { | 95 | { |
146 | dev_dbg(&link->dev, "sedlbauer_detach(0x%p)\n", link); | 96 | dev_dbg(&link->dev, "sedlbauer_detach(0x%p)\n", link); |
@@ -152,13 +102,6 @@ static void __devexit sedlbauer_detach(struct pcmcia_device *link) | |||
152 | kfree(link->priv); | 102 | kfree(link->priv); |
153 | } /* sedlbauer_detach */ | 103 | } /* sedlbauer_detach */ |
154 | 104 | ||
155 | /*====================================================================== | ||
156 | |||
157 | sedlbauer_config() is scheduled to run after a CARD_INSERTION event | ||
158 | is received, to configure the PCMCIA socket, and to make the | ||
159 | device available to the system. | ||
160 | |||
161 | ======================================================================*/ | ||
162 | static int sedlbauer_config_check(struct pcmcia_device *p_dev, void *priv_data) | 105 | static int sedlbauer_config_check(struct pcmcia_device *p_dev, void *priv_data) |
163 | { | 106 | { |
164 | if (p_dev->config_index == 0) | 107 | if (p_dev->config_index == 0) |
@@ -168,8 +111,6 @@ static int sedlbauer_config_check(struct pcmcia_device *p_dev, void *priv_data) | |||
168 | return pcmcia_request_io(p_dev); | 111 | return pcmcia_request_io(p_dev); |
169 | } | 112 | } |
170 | 113 | ||
171 | |||
172 | |||
173 | static int __devinit sedlbauer_config(struct pcmcia_device *link) | 114 | static int __devinit sedlbauer_config(struct pcmcia_device *link) |
174 | { | 115 | { |
175 | int ret; | 116 | int ret; |
@@ -180,27 +121,10 @@ static int __devinit sedlbauer_config(struct pcmcia_device *link) | |||
180 | link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_CHECK_VCC | | 121 | link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_CHECK_VCC | |
181 | CONF_AUTO_SET_VPP | CONF_AUTO_AUDIO | CONF_AUTO_SET_IO; | 122 | CONF_AUTO_SET_VPP | CONF_AUTO_AUDIO | CONF_AUTO_SET_IO; |
182 | 123 | ||
183 | /* | ||
184 | In this loop, we scan the CIS for configuration table entries, | ||
185 | each of which describes a valid card configuration, including | ||
186 | voltage, IO window, memory window, and interrupt settings. | ||
187 | |||
188 | We make no assumptions about the card to be configured: we use | ||
189 | just the information available in the CIS. In an ideal world, | ||
190 | this would work for any PCMCIA card, but it requires a complete | ||
191 | and accurate CIS. In practice, a driver usually "knows" most of | ||
192 | these things without consulting the CIS, and most client drivers | ||
193 | will only use the CIS to fill in implementation-defined details. | ||
194 | */ | ||
195 | ret = pcmcia_loop_config(link, sedlbauer_config_check, NULL); | 124 | ret = pcmcia_loop_config(link, sedlbauer_config_check, NULL); |
196 | if (ret) | 125 | if (ret) |
197 | goto failed; | 126 | goto failed; |
198 | 127 | ||
199 | /* | ||
200 | This actually configures the PCMCIA socket -- setting up | ||
201 | the I/O windows and the interrupt mapping, and putting the | ||
202 | card and host interface into "Memory and IO" mode. | ||
203 | */ | ||
204 | ret = pcmcia_enable_device(link); | 128 | ret = pcmcia_enable_device(link); |
205 | if (ret) | 129 | if (ret) |
206 | goto failed; | 130 | goto failed; |
@@ -228,14 +152,6 @@ failed: | |||
228 | 152 | ||
229 | } /* sedlbauer_config */ | 153 | } /* sedlbauer_config */ |
230 | 154 | ||
231 | /*====================================================================== | ||
232 | |||
233 | After a card is removed, sedlbauer_release() will unregister the | ||
234 | device, and release the PCMCIA configuration. If the device is | ||
235 | still open, this will be postponed until it is closed. | ||
236 | |||
237 | ======================================================================*/ | ||
238 | |||
239 | static void sedlbauer_release(struct pcmcia_device *link) | 155 | static void sedlbauer_release(struct pcmcia_device *link) |
240 | { | 156 | { |
241 | local_info_t *local = link->priv; | 157 | local_info_t *local = link->priv; |
diff --git a/drivers/isdn/hisax/teles_cs.c b/drivers/isdn/hisax/teles_cs.c index 82f09b864846..282a4467ef19 100644 --- a/drivers/isdn/hisax/teles_cs.c +++ b/drivers/isdn/hisax/teles_cs.c | |||
@@ -44,26 +44,8 @@ MODULE_LICENSE("GPL"); | |||
44 | static int protocol = 2; /* EURO-ISDN Default */ | 44 | static int protocol = 2; /* EURO-ISDN Default */ |
45 | module_param(protocol, int, 0); | 45 | module_param(protocol, int, 0); |
46 | 46 | ||
47 | /*====================================================================*/ | ||
48 | |||
49 | /* | ||
50 | The event() function is this driver's Card Services event handler. | ||
51 | It will be called by Card Services when an appropriate card status | ||
52 | event is received. The config() and release() entry points are | ||
53 | used to configure or release a socket, in response to card insertion | ||
54 | and ejection events. They are invoked from the teles_cs event | ||
55 | handler. | ||
56 | */ | ||
57 | |||
58 | static int teles_cs_config(struct pcmcia_device *link) __devinit ; | 47 | static int teles_cs_config(struct pcmcia_device *link) __devinit ; |
59 | static void teles_cs_release(struct pcmcia_device *link); | 48 | static void teles_cs_release(struct pcmcia_device *link); |
60 | |||
61 | /* | ||
62 | The attach() and detach() entry points are used to create and destroy | ||
63 | "instances" of the driver, where each instance represents everything | ||
64 | needed to manage one actual PCMCIA card. | ||
65 | */ | ||
66 | |||
67 | static void teles_detach(struct pcmcia_device *p_dev) __devexit ; | 49 | static void teles_detach(struct pcmcia_device *p_dev) __devexit ; |
68 | 50 | ||
69 | typedef struct local_info_t { | 51 | typedef struct local_info_t { |
@@ -72,18 +54,6 @@ typedef struct local_info_t { | |||
72 | int cardnr; | 54 | int cardnr; |
73 | } local_info_t; | 55 | } local_info_t; |
74 | 56 | ||
75 | /*====================================================================== | ||
76 | |||
77 | teles_attach() creates an "instance" of the driver, allocatingx | ||
78 | local data structures for one device. The device is registered | ||
79 | with Card Services. | ||
80 | |||
81 | The dev_link structure is initialized, but we don't actually | ||
82 | configure the card at this point -- we wait until we receive a | ||
83 | card insertion event. | ||
84 | |||
85 | ======================================================================*/ | ||
86 | |||
87 | static int __devinit teles_probe(struct pcmcia_device *link) | 57 | static int __devinit teles_probe(struct pcmcia_device *link) |
88 | { | 58 | { |
89 | local_info_t *local; | 59 | local_info_t *local; |
@@ -98,27 +68,11 @@ static int __devinit teles_probe(struct pcmcia_device *link) | |||
98 | local->p_dev = link; | 68 | local->p_dev = link; |
99 | link->priv = local; | 69 | link->priv = local; |
100 | 70 | ||
101 | /* | ||
102 | General socket configuration defaults can go here. In this | ||
103 | client, we assume very little, and rely on the CIS for almost | ||
104 | everything. In most clients, many details (i.e., number, sizes, | ||
105 | and attributes of IO windows) are fixed by the nature of the | ||
106 | device, and can be hard-wired here. | ||
107 | */ | ||
108 | link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; | 71 | link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; |
109 | 72 | ||
110 | return teles_cs_config(link); | 73 | return teles_cs_config(link); |
111 | } /* teles_attach */ | 74 | } /* teles_attach */ |
112 | 75 | ||
113 | /*====================================================================== | ||
114 | |||
115 | This deletes a driver "instance". The device is de-registered | ||
116 | with Card Services. If it has been released, all local data | ||
117 | structures are freed. Otherwise, the structures will be freed | ||
118 | when the device is released. | ||
119 | |||
120 | ======================================================================*/ | ||
121 | |||
122 | static void __devexit teles_detach(struct pcmcia_device *link) | 76 | static void __devexit teles_detach(struct pcmcia_device *link) |
123 | { | 77 | { |
124 | local_info_t *info = link->priv; | 78 | local_info_t *info = link->priv; |
@@ -131,14 +85,6 @@ static void __devexit teles_detach(struct pcmcia_device *link) | |||
131 | kfree(info); | 85 | kfree(info); |
132 | } /* teles_detach */ | 86 | } /* teles_detach */ |
133 | 87 | ||
134 | /*====================================================================== | ||
135 | |||
136 | teles_cs_config() is scheduled to run after a CARD_INSERTION event | ||
137 | is received, to configure the PCMCIA socket, and to make the | ||
138 | device available to the system. | ||
139 | |||
140 | ======================================================================*/ | ||
141 | |||
142 | static int teles_cs_configcheck(struct pcmcia_device *p_dev, void *priv_data) | 88 | static int teles_cs_configcheck(struct pcmcia_device *p_dev, void *priv_data) |
143 | { | 89 | { |
144 | int j; | 90 | int j; |
@@ -204,14 +150,6 @@ cs_failed: | |||
204 | return -ENODEV; | 150 | return -ENODEV; |
205 | } /* teles_cs_config */ | 151 | } /* teles_cs_config */ |
206 | 152 | ||
207 | /*====================================================================== | ||
208 | |||
209 | After a card is removed, teles_cs_release() will unregister the net | ||
210 | device, and release the PCMCIA configuration. If the device is | ||
211 | still open, this will be postponed until it is closed. | ||
212 | |||
213 | ======================================================================*/ | ||
214 | |||
215 | static void teles_cs_release(struct pcmcia_device *link) | 153 | static void teles_cs_release(struct pcmcia_device *link) |
216 | { | 154 | { |
217 | local_info_t *local = link->priv; | 155 | local_info_t *local = link->priv; |