diff options
Diffstat (limited to 'drivers/pnp/pnpbios/pnpbios.h')
-rw-r--r-- | drivers/pnp/pnpbios/pnpbios.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/pnp/pnpbios/pnpbios.h b/drivers/pnp/pnpbios/pnpbios.h new file mode 100644 index 000000000000..01896e705ed4 --- /dev/null +++ b/drivers/pnp/pnpbios/pnpbios.h | |||
@@ -0,0 +1,47 @@ | |||
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; | ||
29 | extern void *pnpbios_kmalloc(size_t size, int f); | ||
30 | |||
31 | extern int pnpbios_parse_data_stream(struct pnp_dev *dev, struct pnp_bios_node * node); | ||
32 | extern int pnpbios_read_resources_from_node(struct pnp_resource_table *res, struct pnp_bios_node * node); | ||
33 | extern int pnpbios_write_resources_to_node(struct pnp_resource_table *res, struct pnp_bios_node * node); | ||
34 | extern void pnpid32_to_pnpid(u32 id, char *str); | ||
35 | |||
36 | extern void pnpbios_print_status(const char * module, u16 status); | ||
37 | extern void pnpbios_calls_init(union pnp_bios_install_struct * header); | ||
38 | |||
39 | #ifdef CONFIG_PNPBIOS_PROC_FS | ||
40 | extern int pnpbios_interface_attach_device(struct pnp_bios_node * node); | ||
41 | extern int pnpbios_proc_init (void); | ||
42 | extern void pnpbios_proc_exit (void); | ||
43 | #else | ||
44 | static inline int pnpbios_interface_attach_device(struct pnp_bios_node * node) { return 0; } | ||
45 | static inline int pnpbios_proc_init (void) { return 0; } | ||
46 | static inline void pnpbios_proc_exit (void) { ; } | ||
47 | #endif /* CONFIG_PNPBIOS_PROC_FS */ | ||