PNP: centralize resource option allocations
This patch moves all the option allocations (pnp_mem, pnp_port, etc) into the pnp_register_{mem,port,irq,dma}_resource() functions. This will make it easier to rework the option data structures. The non-trivial part of this patch is the IRQ handling. The backends have to allocate a local pnp_irq_mask_t bitmap, populate it, and pass a pointer to pnp_register_irq_resource(). Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
committed by
Andi Kleen
parent
b08395e503
commit
c227536b4c
@@ -74,13 +74,17 @@ struct pnp_option *pnp_register_independent_option(struct pnp_dev *dev);
|
||||
struct pnp_option *pnp_register_dependent_option(struct pnp_dev *dev,
|
||||
int priority);
|
||||
int pnp_register_irq_resource(struct pnp_dev *dev, struct pnp_option *option,
|
||||
struct pnp_irq *data);
|
||||
pnp_irq_mask_t *map, unsigned char flags);
|
||||
int pnp_register_dma_resource(struct pnp_dev *dev, struct pnp_option *option,
|
||||
struct pnp_dma *data);
|
||||
unsigned char map, unsigned char flags);
|
||||
int pnp_register_port_resource(struct pnp_dev *dev, struct pnp_option *option,
|
||||
struct pnp_port *data);
|
||||
resource_size_t min, resource_size_t max,
|
||||
resource_size_t align, resource_size_t size,
|
||||
unsigned char flags);
|
||||
int pnp_register_mem_resource(struct pnp_dev *dev, struct pnp_option *option,
|
||||
struct pnp_mem *data);
|
||||
resource_size_t min, resource_size_t max,
|
||||
resource_size_t align, resource_size_t size,
|
||||
unsigned char flags);
|
||||
void pnp_init_resources(struct pnp_dev *dev);
|
||||
|
||||
void pnp_fixup_device(struct pnp_dev *dev);
|
||||
|
Reference in New Issue
Block a user