diff options
Diffstat (limited to 'drivers/pnp/pnpacpi/rsparser.c')
| -rw-r--r-- | drivers/pnp/pnpacpi/rsparser.c | 15 | 
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c index 167f3d00c91..66977ebf13b 100644 --- a/drivers/pnp/pnpacpi/rsparser.c +++ b/drivers/pnp/pnpacpi/rsparser.c @@ -183,9 +183,7 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res,  	struct resource r = {0};  	int i, flags; -	if (acpi_dev_resource_memory(res, &r) -	    || acpi_dev_resource_io(res, &r) -	    || acpi_dev_resource_address_space(res, &r) +	if (acpi_dev_resource_address_space(res, &r)  	    || acpi_dev_resource_ext_address_space(res, &r)) {  		pnp_add_resource(dev, &r);  		return AE_OK; @@ -217,6 +215,17 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res,  	}  	switch (res->type) { +	case ACPI_RESOURCE_TYPE_MEMORY24: +	case ACPI_RESOURCE_TYPE_MEMORY32: +	case ACPI_RESOURCE_TYPE_FIXED_MEMORY32: +		if (acpi_dev_resource_memory(res, &r)) +			pnp_add_resource(dev, &r); +		break; +	case ACPI_RESOURCE_TYPE_IO: +	case ACPI_RESOURCE_TYPE_FIXED_IO: +		if (acpi_dev_resource_io(res, &r)) +			pnp_add_resource(dev, &r); +		break;  	case ACPI_RESOURCE_TYPE_DMA:  		dma = &res->data.dma;  		if (dma->channel_count > 0 && dma->channels[0] != (u8) -1)  | 
