Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * pnpbios.h - contains local definitions |
| 3 | */ |
| 4 | |
| 5 | #pragma pack(1) |
| 6 | union pnp_bios_install_struct { |
| 7 | struct { |
| 8 | u32 signature; /* "$PnP" */ |
| 9 | u8 version; /* in BCD */ |
| 10 | u8 length; /* length in bytes, currently 21h */ |
| 11 | u16 control; /* system capabilities */ |
| 12 | u8 checksum; /* all bytes must add up to 0 */ |
| 13 | |
| 14 | u32 eventflag; /* phys. address of the event flag */ |
| 15 | u16 rmoffset; /* real mode entry point */ |
| 16 | u16 rmcseg; |
| 17 | u16 pm16offset; /* 16 bit protected mode entry */ |
| 18 | u32 pm16cseg; |
| 19 | u32 deviceID; /* EISA encoded system ID or 0 */ |
| 20 | u16 rmdseg; /* real mode data segment */ |
| 21 | u32 pm16dseg; /* 16 bit pm data segment base */ |
| 22 | } fields; |
| 23 | char chars[0x21]; /* To calculate the checksum */ |
| 24 | }; |
| 25 | #pragma pack() |
| 26 | |
| 27 | extern int pnp_bios_present(void); |
| 28 | extern int pnpbios_dont_use_current_config; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | |
| 30 | extern int pnpbios_parse_data_stream(struct pnp_dev *dev, struct pnp_bios_node * node); |
Bjorn Helgaas | 4ab55d8 | 2008-04-28 16:34:06 -0600 | [diff] [blame^] | 31 | extern int pnpbios_read_resources_from_node(struct pnp_dev *dev, struct pnp_bios_node *node); |
| 32 | extern int pnpbios_write_resources_to_node(struct pnp_dev *dev, struct pnp_bios_node *node); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | extern void pnpid32_to_pnpid(u32 id, char *str); |
| 34 | |
| 35 | extern void pnpbios_print_status(const char * module, u16 status); |
| 36 | extern void pnpbios_calls_init(union pnp_bios_install_struct * header); |
| 37 | |
| 38 | #ifdef CONFIG_PNPBIOS_PROC_FS |
| 39 | extern int pnpbios_interface_attach_device(struct pnp_bios_node * node); |
| 40 | extern int pnpbios_proc_init (void); |
| 41 | extern void pnpbios_proc_exit (void); |
| 42 | #else |
| 43 | static inline int pnpbios_interface_attach_device(struct pnp_bios_node * node) { return 0; } |
| 44 | static inline int pnpbios_proc_init (void) { return 0; } |
| 45 | static inline void pnpbios_proc_exit (void) { ; } |
| 46 | #endif /* CONFIG_PNPBIOS_PROC_FS */ |