1 #include <linux/device.h>
4 unsigned long hpa; /* Hard Physical Address */
5 struct parisc_device_id id;
6 struct parisc_device *parent;
7 struct parisc_device *sibling;
8 struct parisc_device *child;
9 struct parisc_driver *driver; /* Driver for this device */
10 void *sysdata; /* Driver instance private data */
11 char name[80]; /* The hardware description */
14 char hw_path; /* The module number on this bus */
15 unsigned int num_addrs; /* some devices have additional address ranges. */
16 unsigned long *addr; /* which will be stored here */
19 /* parms for pdc_pat_cell_module() call */
20 unsigned long pcell_loc; /* Physical Cell location */
21 unsigned long mod_index; /* PAT specific - Misc Module info */
23 /* generic info returned from pdc_pat_cell_module() */
24 unsigned long mod_info; /* PAT specific - Misc Module info */
25 unsigned long pmod_loc; /* physical Module location */
27 u64 dma_mask; /* DMA mask for I/O */
31 struct parisc_driver {
32 struct parisc_driver *next;
34 const struct parisc_device_id *id_table;
35 int (*probe) (struct parisc_device *dev); /* New device discovered */
36 int (*remove) (struct parisc_device *dev);
37 struct device_driver drv;
41 #define to_parisc_device(d) container_of(d, struct parisc_device, dev)
42 #define to_parisc_driver(d) container_of(d, struct parisc_driver, drv)
44 extern struct bus_type parisc_bus_type;