diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2005-11-14 15:25:51 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-01-05 18:03:24 -0500 |
commit | f8cfa618dccbdc6dab5297f75779566a388a98fd (patch) | |
tree | b91e0952038dafc6e03bf8b1d8948b1fdefec031 /include/pcmcia | |
parent | b463581154f3f3eecda27cae60df813fefcd84d3 (diff) |
[PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback
Unify the EVENT_CARD_INSERTION and "attach" callbacks to one unified
probe() callback. As all in-kernel drivers are changed to this new
callback, there will be no temporary backwards-compatibility. Inside a
probe() function, each driver _must_ set struct pcmcia_device
*p_dev->instance and instance->handle correctly.
With these patches, the basic driver interface for 16-bit PCMCIA drivers
now has the classic four callbacks known also from other buses:
int (*probe) (struct pcmcia_device *dev);
void (*remove) (struct pcmcia_device *dev);
int (*suspend) (struct pcmcia_device *dev);
int (*resume) (struct pcmcia_device *dev);
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'include/pcmcia')
-rw-r--r-- | include/pcmcia/cs.h | 1 | ||||
-rw-r--r-- | include/pcmcia/ds.h | 6 |
2 files changed, 1 insertions, 6 deletions
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h index a751251efdc8..52660f32663d 100644 --- a/include/pcmcia/cs.h +++ b/include/pcmcia/cs.h | |||
@@ -389,7 +389,6 @@ int pcmcia_get_status(struct pcmcia_device *p_dev, cs_status_t *status); | |||
389 | int pcmcia_get_mem_page(window_handle_t win, memreq_t *req); | 389 | int pcmcia_get_mem_page(window_handle_t win, memreq_t *req); |
390 | int pcmcia_map_mem_page(window_handle_t win, memreq_t *req); | 390 | int pcmcia_map_mem_page(window_handle_t win, memreq_t *req); |
391 | int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod); | 391 | int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod); |
392 | int pcmcia_register_client(client_handle_t *handle, client_reg_t *req); | ||
393 | int pcmcia_release_configuration(struct pcmcia_device *p_dev); | 392 | int pcmcia_release_configuration(struct pcmcia_device *p_dev); |
394 | int pcmcia_release_io(struct pcmcia_device *p_dev, io_req_t *req); | 393 | int pcmcia_release_io(struct pcmcia_device *p_dev, io_req_t *req); |
395 | int pcmcia_release_irq(struct pcmcia_device *p_dev, irq_req_t *req); | 394 | int pcmcia_release_irq(struct pcmcia_device *p_dev, irq_req_t *req); |
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h index c53a0604e441..8e2a96396478 100644 --- a/include/pcmcia/ds.h +++ b/include/pcmcia/ds.h | |||
@@ -133,10 +133,7 @@ typedef struct dev_link_t { | |||
133 | struct pcmcia_socket; | 133 | struct pcmcia_socket; |
134 | 134 | ||
135 | struct pcmcia_driver { | 135 | struct pcmcia_driver { |
136 | dev_link_t *(*attach)(void); | 136 | int (*probe) (struct pcmcia_device *dev); |
137 | int (*event) (event_t event, int priority, | ||
138 | event_callback_args_t *); | ||
139 | |||
140 | void (*remove) (struct pcmcia_device *dev); | 137 | void (*remove) (struct pcmcia_device *dev); |
141 | 138 | ||
142 | int (*suspend) (struct pcmcia_device *dev); | 139 | int (*suspend) (struct pcmcia_device *dev); |
@@ -169,7 +166,6 @@ struct pcmcia_device { | |||
169 | /* deprecated, a cleaned up version will be moved into this | 166 | /* deprecated, a cleaned up version will be moved into this |
170 | struct soon */ | 167 | struct soon */ |
171 | dev_link_t *instance; | 168 | dev_link_t *instance; |
172 | event_callback_args_t event_callback_args; | ||
173 | u_int state; | 169 | u_int state; |
174 | 170 | ||
175 | /* information about this device */ | 171 | /* information about this device */ |