12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #ifndef _ASM_PARISC_PARISC_DEVICE_H_
- #define _ASM_PARISC_PARISC_DEVICE_H_
- #include <linux/device.h>
- struct parisc_device {
- struct resource hpa; /* Hard Physical Address */
- struct parisc_device_id id;
- struct parisc_driver *driver; /* Driver for this device */
- char name[80]; /* The hardware description */
- int irq;
- int aux_irq; /* Some devices have a second IRQ */
- char hw_path; /* The module number on this bus */
- unsigned int num_addrs; /* some devices have additional address ranges. */
- unsigned long *addr; /* which will be stored here */
-
- #ifdef CONFIG_64BIT
- /* parms for pdc_pat_cell_module() call */
- unsigned long pcell_loc; /* Physical Cell location */
- unsigned long mod_index; /* PAT specific - Misc Module info */
- /* generic info returned from pdc_pat_cell_module() */
- unsigned long mod_info; /* PAT specific - Misc Module info */
- unsigned long pmod_loc; /* physical Module location */
- unsigned long mod0;
- #endif
- u64 dma_mask; /* DMA mask for I/O */
- struct device dev;
- };
- struct parisc_driver {
- struct parisc_driver *next;
- char *name;
- const struct parisc_device_id *id_table;
- int (*probe) (struct parisc_device *dev); /* New device discovered */
- int (*remove) (struct parisc_device *dev);
- struct device_driver drv;
- };
- #define to_parisc_device(d) container_of(d, struct parisc_device, dev)
- #define to_parisc_driver(d) container_of(d, struct parisc_driver, drv)
- #define parisc_parent(d) to_parisc_device(d->dev.parent)
- static inline const char *parisc_pathname(struct parisc_device *d)
- {
- return dev_name(&d->dev);
- }
- static inline void
- parisc_set_drvdata(struct parisc_device *d, void *p)
- {
- dev_set_drvdata(&d->dev, p);
- }
- static inline void *
- parisc_get_drvdata(struct parisc_device *d)
- {
- return dev_get_drvdata(&d->dev);
- }
- extern struct bus_type parisc_bus_type;
- int iosapic_serial_irq(struct parisc_device *dev);
- #endif /*_ASM_PARISC_PARISC_DEVICE_H_*/
|