mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
pcmcia: re-work pcmcia_request_irq()
Instead of the old pcmcia_request_irq() interface, drivers may now choose between: - calling request_irq/free_irq directly. Use the IRQ from *p_dev->irq. - use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will clean up automatically on calls to pcmcia_disable_device() or device ejection. - drivers still not capable of IRQF_SHARED (or not telling us so) may use the deprecated pcmcia_request_exclusive_irq() for the time being; they might receive a shared IRQ nonetheless. CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] Signed-off-by: Dominik Brodowski <[email protected]>
This commit is contained in:
parent
a7debe789d
commit
eb14120f74
58 changed files with 244 additions and 593 deletions
|
|
@ -114,13 +114,6 @@ typedef struct io_req_t {
|
|||
#define IO_DATA_PATH_WIDTH_16 0x08
|
||||
#define IO_DATA_PATH_WIDTH_AUTO 0x10
|
||||
|
||||
/* For RequestIRQ and ReleaseIRQ */
|
||||
typedef struct irq_req_t {
|
||||
u_int Attributes;
|
||||
u_int AssignedIRQ;
|
||||
irq_handler_t Handler;
|
||||
} irq_req_t;
|
||||
|
||||
/* Attributes for RequestIRQ and ReleaseIRQ */
|
||||
#define IRQ_TYPE 0x03
|
||||
#define IRQ_TYPE_EXCLUSIVE 0x00
|
||||
|
|
|
|||
|
|
@ -91,12 +91,11 @@ struct pcmcia_device {
|
|||
dev_node_t *dev_node;
|
||||
u_int open;
|
||||
io_req_t io;
|
||||
irq_req_t irq;
|
||||
config_req_t conf;
|
||||
window_handle_t win;
|
||||
|
||||
/* device setup */
|
||||
unsigned int irq_v; /* do not use directly yet */
|
||||
unsigned int irq;
|
||||
|
||||
/* Is the device suspended? */
|
||||
u16 suspended:1;
|
||||
|
|
@ -194,7 +193,13 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
|
|||
|
||||
/* device configuration */
|
||||
int pcmcia_request_io(struct pcmcia_device *p_dev, io_req_t *req);
|
||||
int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req);
|
||||
|
||||
int __must_check __deprecated
|
||||
pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev,
|
||||
irq_handler_t handler);
|
||||
int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev,
|
||||
irq_handler_t handler);
|
||||
|
||||
int pcmcia_request_configuration(struct pcmcia_device *p_dev,
|
||||
config_req_t *req);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue