2 * pnpbios.h - contains local definitions
6 union pnp_bios_install_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 */
14 u32 eventflag
; /* phys. address of the event flag */
15 u16 rmoffset
; /* real mode entry point */
17 u16 pm16offset
; /* 16 bit protected mode entry */
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 */
23 char chars
[0x21]; /* To calculate the checksum */
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
);
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
);
36 extern void pnpbios_print_status(const char * module
, u16 status
);
37 extern void pnpbios_calls_init(union pnp_bios_install_struct
* header
);
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);
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 */