fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-parisc / parisc-device.h
index 8af731a..e12624d 100644 (file)
@@ -1,15 +1,15 @@
+#ifndef _ASM_PARISC_PARISC_DEVICE_H_
+#define _ASM_PARISC_PARISC_DEVICE_H_
+
 #include <linux/device.h>
 
 struct parisc_device {
-       unsigned long   hpa;            /* Hard Physical Address */
+       struct resource hpa;            /* Hard Physical Address */
        struct parisc_device_id id;
-       struct parisc_device *parent;
-       struct parisc_device *sibling;
-       struct parisc_device *child;
        struct parisc_driver *driver;   /* Driver for this device */
-       void            *sysdata;       /* Driver instance private data */
        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. */
@@ -40,5 +40,25 @@ struct parisc_driver {
 
 #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 char *parisc_pathname(struct parisc_device *d)
+{
+       return d->dev.bus_id;
+}
+
+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;
+
+#endif /*_ASM_PARISC_PARISC_DEVICE_H_*/