Re: [patch 26/54] PNP: factor pnp_init_resource_table() and pnp_clean_resource_table()

Rene Herman
2008-04-26T21:33:10Z

On 25-04-08 20:38, Bjorn Helgaas wrote:

> void pnp_init_resources(struct pnp_dev *dev)
> {
> - struct pnp_resource_table *table = &dev->res;
> + struct resource *res;
> int idx;
>
> for (idx = 0; idx < PNP_MAX_IRQ; idx++) {
> - table->irq_resource[idx].name = NULL;
> - table->irq_resource[idx].start = -1;
> - table->irq_resource[idx].end = -1;
> - table->irq_resource[idx].flags =
> - IORESOURCE_IRQ | IORESOURCE_AUTO | IORESOURCE_UNSET;
> + res = &dev->res.irq_resource[idx];
> + res->flags = IORESOURCE_IRQ;

ACK as commented earlier but pnp_clean_resource_table would seem to want the
same treatment of setting the type, at least to again guarantee current
behaviour:

> static void pnp_clean_resource_table(struct pnp_dev *dev)
> {
> - struct pnp_resource_table *res = &dev->res;
> + struct resource *res;
> int idx;
>
> for (idx = 0; idx < PNP_MAX_IRQ; idx++) {
> - if (!(res->irq_resource[idx].flags & IORESOURCE_AUTO))
> - continue;
> - res->irq_resource[idx].start = -1;
> - res->irq_resource[idx].end = -1;
> - res->irq_resource[idx].flags =
> - IORESOURCE_IRQ | IORESOURCE_AUTO | IORESOURCE_UNSET;
> + res = &dev->res.irq_resource[idx];
> + if (res->flags & IORESOURCE_AUTO)
> + pnp_init_resource(res);
> }

Rene.