diff options
Diffstat (limited to 'src/devices/pnp_device.c')
-rw-r--r-- | src/devices/pnp_device.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/devices/pnp_device.c b/src/devices/pnp_device.c index 403fa6afe9..6181425673 100644 --- a/src/devices/pnp_device.c +++ b/src/devices/pnp_device.c @@ -240,7 +240,25 @@ static void get_resources(device_t dev, struct pnp_info *info) resource = new_resource(dev, PNP_IDX_DRQ1); resource->size = 1; resource->flags |= IORESOURCE_DRQ; - } + } + /* These are not IRQs, but set the flag to have the + * resource allocator do the right thing + */ + if (info->flags & PNP_EN) { + resource = new_resource(dev, PNP_IDX_EN); + resource->size = 1; + resource->flags |= IORESOURCE_IRQ; + } + if (info->flags & PNP_MSC0) { + resource = new_resource(dev, PNP_IDX_MSC0); + resource->size = 1; + resource->flags |= IORESOURCE_IRQ; + } + if (info->flags & PNP_MSC1) { + resource = new_resource(dev, PNP_IDX_MSC1); + resource->size = 1; + resource->flags |= IORESOURCE_IRQ; + } } void pnp_enable_devices(device_t base_dev, struct device_operations *ops, |