diff options
Diffstat (limited to 'include/linux/pnp.h')
-rw-r--r-- | include/linux/pnp.h | 238 |
1 files changed, 63 insertions, 175 deletions
diff --git a/include/linux/pnp.h b/include/linux/pnp.h index 6f9cf2fcffd0..16b46aace349 100644 --- a/include/linux/pnp.h +++ b/include/linux/pnp.h | |||
@@ -1,7 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Linux Plug and Play Support | 2 | * Linux Plug and Play Support |
3 | * Copyright by Adam Belay <ambx1@neo.rr.com> | 3 | * Copyright by Adam Belay <ambx1@neo.rr.com> |
4 | * | ||
5 | */ | 4 | */ |
6 | 5 | ||
7 | #ifndef _LINUX_PNP_H | 6 | #ifndef _LINUX_PNP_H |
@@ -83,7 +82,7 @@ struct pnp_port { | |||
83 | 82 | ||
84 | #define PNP_IRQ_NR 256 | 83 | #define PNP_IRQ_NR 256 |
85 | struct pnp_irq { | 84 | struct pnp_irq { |
86 | DECLARE_BITMAP(map, PNP_IRQ_NR); /* bitmaks for IRQ lines */ | 85 | DECLARE_BITMAP(map, PNP_IRQ_NR); /* bitmask for IRQ lines */ |
87 | unsigned char flags; /* IRQ flags */ | 86 | unsigned char flags; /* IRQ flags */ |
88 | unsigned char pad; /* pad */ | 87 | unsigned char pad; /* pad */ |
89 | struct pnp_irq *next; /* next IRQ */ | 88 | struct pnp_irq *next; /* next IRQ */ |
@@ -112,10 +111,10 @@ struct pnp_mem { | |||
112 | 111 | ||
113 | struct pnp_option { | 112 | struct pnp_option { |
114 | unsigned short priority; /* priority */ | 113 | unsigned short priority; /* priority */ |
115 | struct pnp_port *port; /* first port */ | 114 | struct pnp_port *port; /* first port */ |
116 | struct pnp_irq *irq; /* first IRQ */ | 115 | struct pnp_irq *irq; /* first IRQ */ |
117 | struct pnp_dma *dma; /* first DMA */ | 116 | struct pnp_dma *dma; /* first DMA */ |
118 | struct pnp_mem *mem; /* first memory resource */ | 117 | struct pnp_mem *mem; /* first memory resource */ |
119 | struct pnp_option *next; /* used to chain dependent resources */ | 118 | struct pnp_option *next; /* used to chain dependent resources */ |
120 | }; | 119 | }; |
121 | 120 | ||
@@ -131,20 +130,20 @@ struct pnp_resource_table { | |||
131 | */ | 130 | */ |
132 | 131 | ||
133 | struct pnp_card { | 132 | struct pnp_card { |
134 | struct device dev; /* Driver Model device interface */ | 133 | struct device dev; /* Driver Model device interface */ |
135 | unsigned char number; /* used as an index, must be unique */ | 134 | unsigned char number; /* used as an index, must be unique */ |
136 | struct list_head global_list; /* node in global list of cards */ | 135 | struct list_head global_list; /* node in global list of cards */ |
137 | struct list_head protocol_list; /* node in protocol's list of cards */ | 136 | struct list_head protocol_list; /* node in protocol's list of cards */ |
138 | struct list_head devices; /* devices attached to the card */ | 137 | struct list_head devices; /* devices attached to the card */ |
139 | 138 | ||
140 | struct pnp_protocol *protocol; | 139 | struct pnp_protocol *protocol; |
141 | struct pnp_id *id; /* contains supported EISA IDs */ | 140 | struct pnp_id *id; /* contains supported EISA IDs */ |
142 | 141 | ||
143 | char name[PNP_NAME_LEN]; /* contains a human-readable name */ | 142 | char name[PNP_NAME_LEN]; /* contains a human-readable name */ |
144 | unsigned char pnpver; /* Plug & Play version */ | 143 | unsigned char pnpver; /* Plug & Play version */ |
145 | unsigned char productver; /* product version */ | 144 | unsigned char productver; /* product version */ |
146 | unsigned int serial; /* serial number */ | 145 | unsigned int serial; /* serial number */ |
147 | unsigned char checksum; /* if zero - checksum passed */ | 146 | unsigned char checksum; /* if zero - checksum passed */ |
148 | struct proc_dir_entry *procdir; /* directory entry in /proc/bus/isapnp */ | 147 | struct proc_dir_entry *procdir; /* directory entry in /proc/bus/isapnp */ |
149 | }; | 148 | }; |
150 | 149 | ||
@@ -174,9 +173,9 @@ static inline void pnp_set_card_drvdata(struct pnp_card_link *pcard, void *data) | |||
174 | } | 173 | } |
175 | 174 | ||
176 | struct pnp_dev { | 175 | struct pnp_dev { |
177 | struct device dev; /* Driver Model device interface */ | 176 | struct device dev; /* Driver Model device interface */ |
178 | u64 dma_mask; | 177 | u64 dma_mask; |
179 | unsigned char number; /* used as an index, must be unique */ | 178 | unsigned char number; /* used as an index, must be unique */ |
180 | int status; | 179 | int status; |
181 | 180 | ||
182 | struct list_head global_list; /* node in global list of devices */ | 181 | struct list_head global_list; /* node in global list of devices */ |
@@ -189,7 +188,7 @@ struct pnp_dev { | |||
189 | struct pnp_driver *driver; | 188 | struct pnp_driver *driver; |
190 | struct pnp_card_link *card_link; | 189 | struct pnp_card_link *card_link; |
191 | 190 | ||
192 | struct pnp_id *id; /* supported EISA IDs */ | 191 | struct pnp_id *id; /* supported EISA IDs */ |
193 | 192 | ||
194 | int active; | 193 | int active; |
195 | int capabilities; | 194 | int capabilities; |
@@ -198,8 +197,8 @@ struct pnp_dev { | |||
198 | struct pnp_resource_table res; | 197 | struct pnp_resource_table res; |
199 | 198 | ||
200 | char name[PNP_NAME_LEN]; /* contains a human-readable name */ | 199 | char name[PNP_NAME_LEN]; /* contains a human-readable name */ |
201 | unsigned short regs; /* ISAPnP: supported registers */ | 200 | unsigned short regs; /* ISAPnP: supported registers */ |
202 | int flags; /* used by protocols */ | 201 | int flags; /* used by protocols */ |
203 | struct proc_dir_entry *procent; /* device entry in /proc/bus/isapnp */ | 202 | struct proc_dir_entry *procent; /* device entry in /proc/bus/isapnp */ |
204 | void *data; | 203 | void *data; |
205 | }; | 204 | }; |
@@ -291,11 +290,10 @@ struct pnp_driver { | |||
291 | char *name; | 290 | char *name; |
292 | const struct pnp_device_id *id_table; | 291 | const struct pnp_device_id *id_table; |
293 | unsigned int flags; | 292 | unsigned int flags; |
294 | int (*probe) (struct pnp_dev * dev, | 293 | int (*probe) (struct pnp_dev *dev, const struct pnp_device_id *dev_id); |
295 | const struct pnp_device_id * dev_id); | 294 | void (*remove) (struct pnp_dev *dev); |
296 | void (*remove) (struct pnp_dev * dev); | 295 | int (*suspend) (struct pnp_dev *dev, pm_message_t state); |
297 | int (*suspend) (struct pnp_dev * dev, pm_message_t state); | 296 | int (*resume) (struct pnp_dev *dev); |
298 | int (*resume) (struct pnp_dev * dev); | ||
299 | struct device_driver driver; | 297 | struct device_driver driver; |
300 | }; | 298 | }; |
301 | 299 | ||
@@ -306,11 +304,11 @@ struct pnp_card_driver { | |||
306 | char *name; | 304 | char *name; |
307 | const struct pnp_card_device_id *id_table; | 305 | const struct pnp_card_device_id *id_table; |
308 | unsigned int flags; | 306 | unsigned int flags; |
309 | int (*probe) (struct pnp_card_link * card, | 307 | int (*probe) (struct pnp_card_link *card, |
310 | const struct pnp_card_device_id * card_id); | 308 | const struct pnp_card_device_id *card_id); |
311 | void (*remove) (struct pnp_card_link * card); | 309 | void (*remove) (struct pnp_card_link *card); |
312 | int (*suspend) (struct pnp_card_link * card, pm_message_t state); | 310 | int (*suspend) (struct pnp_card_link *card, pm_message_t state); |
313 | int (*resume) (struct pnp_card_link * card); | 311 | int (*resume) (struct pnp_card_link *card); |
314 | struct pnp_driver link; | 312 | struct pnp_driver link; |
315 | }; | 313 | }; |
316 | 314 | ||
@@ -329,9 +327,9 @@ struct pnp_protocol { | |||
329 | char *name; | 327 | char *name; |
330 | 328 | ||
331 | /* resource control functions */ | 329 | /* resource control functions */ |
332 | int (*get) (struct pnp_dev * dev, struct pnp_resource_table * res); | 330 | int (*get) (struct pnp_dev *dev, struct pnp_resource_table *res); |
333 | int (*set) (struct pnp_dev * dev, struct pnp_resource_table * res); | 331 | int (*set) (struct pnp_dev *dev, struct pnp_resource_table *res); |
334 | int (*disable) (struct pnp_dev * dev); | 332 | int (*disable) (struct pnp_dev *dev); |
335 | 333 | ||
336 | /* protocol specific suspend/resume */ | 334 | /* protocol specific suspend/resume */ |
337 | int (*suspend) (struct pnp_dev * dev, pm_message_t state); | 335 | int (*suspend) (struct pnp_dev * dev, pm_message_t state); |
@@ -411,159 +409,49 @@ void pnp_unregister_driver(struct pnp_driver *drv); | |||
411 | #else | 409 | #else |
412 | 410 | ||
413 | /* device management */ | 411 | /* device management */ |
414 | static inline int pnp_register_protocol(struct pnp_protocol *protocol) | 412 | static inline int pnp_register_protocol(struct pnp_protocol *protocol) { return -ENODEV; } |
415 | { | 413 | static inline void pnp_unregister_protocol(struct pnp_protocol *protocol) { } |
416 | return -ENODEV; | 414 | static inline int pnp_init_device(struct pnp_dev *dev) { return -ENODEV; } |
417 | } | 415 | static inline int pnp_add_device(struct pnp_dev *dev) { return -ENODEV; } |
418 | static inline void pnp_unregister_protocol(struct pnp_protocol *protocol) | 416 | static inline int pnp_device_attach(struct pnp_dev *pnp_dev) { return -ENODEV; } |
419 | { | 417 | static inline void pnp_device_detach(struct pnp_dev *pnp_dev) { } |
420 | } | ||
421 | static inline int pnp_init_device(struct pnp_dev *dev) | ||
422 | { | ||
423 | return -ENODEV; | ||
424 | } | ||
425 | static inline int pnp_add_device(struct pnp_dev *dev) | ||
426 | { | ||
427 | return -ENODEV; | ||
428 | } | ||
429 | static inline int pnp_device_attach(struct pnp_dev *pnp_dev) | ||
430 | { | ||
431 | return -ENODEV; | ||
432 | } | ||
433 | static inline void pnp_device_detach(struct pnp_dev *pnp_dev) | ||
434 | {; | ||
435 | } | ||
436 | 418 | ||
437 | #define pnp_platform_devices 0 | 419 | #define pnp_platform_devices 0 |
438 | 420 | ||
439 | /* multidevice card support */ | 421 | /* multidevice card support */ |
440 | static inline int pnp_add_card(struct pnp_card *card) | 422 | static inline int pnp_add_card(struct pnp_card *card) { return -ENODEV; } |
441 | { | 423 | static inline void pnp_remove_card(struct pnp_card *card) { } |
442 | return -ENODEV; | 424 | static inline int pnp_add_card_device(struct pnp_card *card, struct pnp_dev *dev) { return -ENODEV; } |
443 | } | 425 | static inline void pnp_remove_card_device(struct pnp_dev *dev) { } |
444 | static inline void pnp_remove_card(struct pnp_card *card) | 426 | static inline int pnp_add_card_id(struct pnp_id *id, struct pnp_card *card) { return -ENODEV; } |
445 | {; | 427 | static inline struct pnp_dev *pnp_request_card_device(struct pnp_card_link *clink, const char *id, struct pnp_dev *from) { return NULL; } |
446 | } | 428 | static inline void pnp_release_card_device(struct pnp_dev *dev) { } |
447 | static inline int pnp_add_card_device(struct pnp_card *card, | 429 | static inline int pnp_register_card_driver(struct pnp_card_driver *drv) { return -ENODEV; } |
448 | struct pnp_dev *dev) | 430 | static inline void pnp_unregister_card_driver(struct pnp_card_driver *drv) { } |
449 | { | ||
450 | return -ENODEV; | ||
451 | } | ||
452 | static inline void pnp_remove_card_device(struct pnp_dev *dev) | ||
453 | {; | ||
454 | } | ||
455 | static inline int pnp_add_card_id(struct pnp_id *id, struct pnp_card *card) | ||
456 | { | ||
457 | return -ENODEV; | ||
458 | } | ||
459 | static inline struct pnp_dev *pnp_request_card_device(struct pnp_card_link | ||
460 | *clink, const char *id, | ||
461 | struct pnp_dev *from) | ||
462 | { | ||
463 | return NULL; | ||
464 | } | ||
465 | static inline void pnp_release_card_device(struct pnp_dev *dev) | ||
466 | {; | ||
467 | } | ||
468 | static inline int pnp_register_card_driver(struct pnp_card_driver *drv) | ||
469 | { | ||
470 | return -ENODEV; | ||
471 | } | ||
472 | static inline void pnp_unregister_card_driver(struct pnp_card_driver *drv) | ||
473 | {; | ||
474 | } | ||
475 | 431 | ||
476 | /* resource management */ | 432 | /* resource management */ |
477 | static inline struct pnp_option *pnp_register_independent_option(struct pnp_dev | 433 | static inline struct pnp_option *pnp_register_independent_option(struct pnp_dev *dev) { return NULL; } |
478 | *dev) | 434 | static inline struct pnp_option *pnp_register_dependent_option(struct pnp_dev *dev, int priority) { return NULL; } |
479 | { | 435 | static inline int pnp_register_irq_resource(struct pnp_option *option, struct pnp_irq *data) { return -ENODEV; } |
480 | return NULL; | 436 | static inline int pnp_register_dma_resource(struct pnp_option *option, struct pnp_dma *data) { return -ENODEV; } |
481 | } | 437 | static inline int pnp_register_port_resource(struct pnp_option *option, struct pnp_port *data) { return -ENODEV; } |
482 | static inline struct pnp_option *pnp_register_dependent_option(struct pnp_dev | 438 | static inline int pnp_register_mem_resource(struct pnp_option *option, struct pnp_mem *data) { return -ENODEV; } |
483 | *dev, | 439 | static inline void pnp_init_resource_table(struct pnp_resource_table *table) { } |
484 | int priority) | 440 | static inline int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res, int mode) { return -ENODEV; } |
485 | { | 441 | static inline int pnp_auto_config_dev(struct pnp_dev *dev) { return -ENODEV; } |
486 | return NULL; | 442 | static inline int pnp_validate_config(struct pnp_dev *dev) { return -ENODEV; } |
487 | } | 443 | static inline int pnp_start_dev(struct pnp_dev *dev) { return -ENODEV; } |
488 | static inline int pnp_register_irq_resource(struct pnp_option *option, | 444 | static inline int pnp_stop_dev(struct pnp_dev *dev) { return -ENODEV; } |
489 | struct pnp_irq *data) | 445 | static inline int pnp_activate_dev(struct pnp_dev *dev) { return -ENODEV; } |
490 | { | 446 | static inline int pnp_disable_dev(struct pnp_dev *dev) { return -ENODEV; } |
491 | return -ENODEV; | 447 | static inline void pnp_resource_change(struct resource *resource, resource_size_t start, resource_size_t size) { } |
492 | } | ||
493 | static inline int pnp_register_dma_resource(struct pnp_option *option, | ||
494 | struct pnp_dma *data) | ||
495 | { | ||
496 | return -ENODEV; | ||
497 | } | ||
498 | static inline int pnp_register_port_resource(struct pnp_option *option, | ||
499 | struct pnp_port *data) | ||
500 | { | ||
501 | return -ENODEV; | ||
502 | } | ||
503 | static inline int pnp_register_mem_resource(struct pnp_option *option, | ||
504 | struct pnp_mem *data) | ||
505 | { | ||
506 | return -ENODEV; | ||
507 | } | ||
508 | static inline void pnp_init_resource_table(struct pnp_resource_table *table) | ||
509 | { | ||
510 | } | ||
511 | static inline int pnp_manual_config_dev(struct pnp_dev *dev, | ||
512 | struct pnp_resource_table *res, | ||
513 | int mode) | ||
514 | { | ||
515 | return -ENODEV; | ||
516 | } | ||
517 | static inline int pnp_auto_config_dev(struct pnp_dev *dev) | ||
518 | { | ||
519 | return -ENODEV; | ||
520 | } | ||
521 | static inline int pnp_validate_config(struct pnp_dev *dev) | ||
522 | { | ||
523 | return -ENODEV; | ||
524 | } | ||
525 | static inline int pnp_start_dev(struct pnp_dev *dev) | ||
526 | { | ||
527 | return -ENODEV; | ||
528 | } | ||
529 | static inline int pnp_stop_dev(struct pnp_dev *dev) | ||
530 | { | ||
531 | return -ENODEV; | ||
532 | } | ||
533 | static inline int pnp_activate_dev(struct pnp_dev *dev) | ||
534 | { | ||
535 | return -ENODEV; | ||
536 | } | ||
537 | static inline int pnp_disable_dev(struct pnp_dev *dev) | ||
538 | { | ||
539 | return -ENODEV; | ||
540 | } | ||
541 | static inline void pnp_resource_change(struct resource *resource, | ||
542 | resource_size_t start, | ||
543 | resource_size_t size) | ||
544 | { | ||
545 | } | ||
546 | 448 | ||
547 | /* protocol helpers */ | 449 | /* protocol helpers */ |
548 | static inline int pnp_is_active(struct pnp_dev *dev) | 450 | static inline int pnp_is_active(struct pnp_dev *dev) { return 0; } |
549 | { | 451 | static inline int compare_pnp_id(struct pnp_id *pos, const char *id) { return -ENODEV; } |
550 | return 0; | 452 | static inline int pnp_add_id(struct pnp_id *id, struct pnp_dev *dev) { return -ENODEV; } |
551 | } | 453 | static inline int pnp_register_driver(struct pnp_driver *drv) { return -ENODEV; } |
552 | static inline int compare_pnp_id(struct pnp_id *pos, const char *id) | 454 | static inline void pnp_unregister_driver(struct pnp_driver *drv) { } |
553 | { | ||
554 | return -ENODEV; | ||
555 | } | ||
556 | static inline int pnp_add_id(struct pnp_id *id, struct pnp_dev *dev) | ||
557 | { | ||
558 | return -ENODEV; | ||
559 | } | ||
560 | static inline int pnp_register_driver(struct pnp_driver *drv) | ||
561 | { | ||
562 | return -ENODEV; | ||
563 | } | ||
564 | static inline void pnp_unregister_driver(struct pnp_driver *drv) | ||
565 | {; | ||
566 | } | ||
567 | 455 | ||
568 | #endif /* CONFIG_PNP */ | 456 | #endif /* CONFIG_PNP */ |
569 | 457 | ||