Logo Search packages:      
Sourcecode: linux version File versions

parisc-device.h

#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 */
#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 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_*/

Generated by  Doxygen 1.6.0   Back to index