]> err.no Git - linux-2.6/blobdiff - include/linux/pnp.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
[linux-2.6] / include / linux / pnp.h
index e033e1b14c275368fe0854475426a1b244601999..1ce54b63085dd09b1ee5826694294969fe2a1f78 100644 (file)
@@ -1,6 +1,8 @@
 /*
  * Linux Plug and Play Support
  * Copyright by Adam Belay <ambx1@neo.rr.com>
+ * Copyright (C) 2008 Hewlett-Packard Development Company, L.P.
+ *     Bjorn Helgaas <bjorn.helgaas@hp.com>
  */
 
 #ifndef _LINUX_PNP_H
@@ -182,57 +184,6 @@ static inline int pnp_dma_valid(struct pnp_dev *dev, unsigned int bar)
 }
 
 
-#define PNP_PORT_FLAG_16BITADDR        (1<<0)
-#define PNP_PORT_FLAG_FIXED    (1<<1)
-
-struct pnp_port {
-       unsigned short min;     /* min base number */
-       unsigned short max;     /* max base number */
-       unsigned char align;    /* align boundary */
-       unsigned char size;     /* size of range */
-       unsigned char flags;    /* port flags */
-       unsigned char pad;      /* pad */
-       struct pnp_port *next;  /* next port */
-};
-
-#define PNP_IRQ_NR 256
-struct pnp_irq {
-       DECLARE_BITMAP(map, PNP_IRQ_NR);        /* bitmask for IRQ lines */
-       unsigned char flags;    /* IRQ flags */
-       unsigned char pad;      /* pad */
-       struct pnp_irq *next;   /* next IRQ */
-};
-
-struct pnp_dma {
-       unsigned char map;      /* bitmask for DMA channels */
-       unsigned char flags;    /* DMA flags */
-       struct pnp_dma *next;   /* next port */
-};
-
-struct pnp_mem {
-       unsigned int min;       /* min base number */
-       unsigned int max;       /* max base number */
-       unsigned int align;     /* align boundary */
-       unsigned int size;      /* size of range */
-       unsigned char flags;    /* memory flags */
-       unsigned char pad;      /* pad */
-       struct pnp_mem *next;   /* next memory resource */
-};
-
-#define PNP_RES_PRIORITY_PREFERRED     0
-#define PNP_RES_PRIORITY_ACCEPTABLE    1
-#define PNP_RES_PRIORITY_FUNCTIONAL    2
-#define PNP_RES_PRIORITY_INVALID       65535
-
-struct pnp_option {
-       unsigned short priority;        /* priority */
-       struct pnp_port *port;          /* first port */
-       struct pnp_irq *irq;            /* first IRQ */
-       struct pnp_dma *dma;            /* first DMA */
-       struct pnp_mem *mem;            /* first memory resource */
-       struct pnp_option *next;        /* used to chain dependent resources */
-};
-
 /*
  * Device Management
  */
@@ -300,9 +251,9 @@ struct pnp_dev {
 
        int active;
        int capabilities;
-       struct pnp_option *independent;
-       struct pnp_option *dependent;
+       unsigned int num_dependent_sets;
        struct list_head resources;
+       struct list_head options;
 
        char name[PNP_NAME_LEN];        /* contains a human-readable name */
        int flags;                      /* used by protocols */