aboutsummaryrefslogtreecommitdiffstats
path: root/include/pcmcia
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2005-11-14 21:25:51 +0100
committerDominik Brodowski <linux@dominikbrodowski.net>2006-01-06 00:03:24 +0100
commitf8cfa618dccbdc6dab5297f75779566a388a98fd (patch)
treeb91e0952038dafc6e03bf8b1d8948b1fdefec031 /include/pcmcia
parentb463581154f3f3eecda27cae60df813fefcd84d3 (diff)
downloadkernel_samsung_smdk4412-f8cfa618dccbdc6dab5297f75779566a388a98fd.zip
kernel_samsung_smdk4412-f8cfa618dccbdc6dab5297f75779566a388a98fd.tar.gz
kernel_samsung_smdk4412-f8cfa618dccbdc6dab5297f75779566a388a98fd.tar.bz2
[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.h1
-rw-r--r--include/pcmcia/ds.h6
2 files changed, 1 insertions, 6 deletions
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index a751251..52660f3 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);
int pcmcia_get_mem_page(window_handle_t win, memreq_t *req);
int pcmcia_map_mem_page(window_handle_t win, memreq_t *req);
int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod);
-int pcmcia_register_client(client_handle_t *handle, client_reg_t *req);
int pcmcia_release_configuration(struct pcmcia_device *p_dev);
int pcmcia_release_io(struct pcmcia_device *p_dev, io_req_t *req);
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 c53a060..8e2a963 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -133,10 +133,7 @@ typedef struct dev_link_t {
struct pcmcia_socket;
struct pcmcia_driver {
- dev_link_t *(*attach)(void);
- int (*event) (event_t event, int priority,
- event_callback_args_t *);
-
+ int (*probe) (struct pcmcia_device *dev);
void (*remove) (struct pcmcia_device *dev);
int (*suspend) (struct pcmcia_device *dev);
@@ -169,7 +166,6 @@ struct pcmcia_device {
/* deprecated, a cleaned up version will be moved into this
struct soon */
dev_link_t *instance;
- event_callback_args_t event_callback_args;
u_int state;
/* information about this device */