diff options
Diffstat (limited to 'include/pcmcia/ds.h')
| -rw-r--r-- | include/pcmcia/ds.h | 17 | 
1 files changed, 15 insertions, 2 deletions
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h index 8479b66c067..2d56e428506 100644 --- a/include/pcmcia/ds.h +++ b/include/pcmcia/ds.h @@ -26,7 +26,7 @@  #include <linux/device.h>  #include <linux/interrupt.h>  #include <pcmcia/ss.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  /* @@ -56,7 +56,7 @@ struct pcmcia_driver {  	int (*resume)		(struct pcmcia_device *dev);  	struct module		*owner; -	struct pcmcia_device_id	*id_table; +	const struct pcmcia_device_id	*id_table;  	struct device_driver	drv;  	struct pcmcia_dynids	dynids;  }; @@ -65,6 +65,18 @@ struct pcmcia_driver {  int pcmcia_register_driver(struct pcmcia_driver *driver);  void pcmcia_unregister_driver(struct pcmcia_driver *driver); +/** + * module_pcmcia_driver() - Helper macro for registering a pcmcia driver + * @__pcmcia_driver: pcmcia_driver struct + * + * Helper macro for pcmcia drivers which do not do anything special in module + * init/exit. This eliminates a lot of boilerplate. Each module may only use + * this macro once, and calling it replaces module_init() and module_exit(). + */ +#define module_pcmcia_driver(__pcmcia_driver) \ +	module_driver(__pcmcia_driver, pcmcia_register_driver, \ +			pcmcia_unregister_driver) +  /* for struct resource * array embedded in struct pcmcia_device */  enum {  	PCMCIA_IOPORT_0, @@ -261,6 +273,7 @@ void pcmcia_disable_device(struct pcmcia_device *p_dev);  #define CONF_ENABLE_ESR         0x0008  #define CONF_ENABLE_IOCARD	0x0010 /* auto-enabled if IO resources or IRQ  					* (CONF_ENABLE_IRQ) in use */ +#define CONF_ENABLE_ZVCARD	0x0020  /* flags used by pcmcia_loop_config() autoconfiguration */  #define CONF_AUTO_CHECK_VCC	0x0100 /* check for matching Vcc? */  | 
