diff options
Diffstat (limited to 'drivers/pnp/pnpacpi/rsparser.c')
| -rw-r--r-- | drivers/pnp/pnpacpi/rsparser.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c index 3a4a644c2686..212268881857 100644 --- a/drivers/pnp/pnpacpi/rsparser.c +++ b/drivers/pnp/pnpacpi/rsparser.c | |||
| @@ -74,7 +74,7 @@ static void decode_irq_flags(int flag, int *triggering, int *polarity) | |||
| 74 | 74 | ||
| 75 | static void | 75 | static void |
| 76 | pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, u32 gsi, | 76 | pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, u32 gsi, |
| 77 | int triggering, int polarity) | 77 | int triggering, int polarity, int shareable) |
| 78 | { | 78 | { |
| 79 | int i = 0; | 79 | int i = 0; |
| 80 | int irq; | 80 | int irq; |
| @@ -95,6 +95,9 @@ pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, u32 gsi, | |||
| 95 | return; | 95 | return; |
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | if (shareable) | ||
| 99 | res->irq_resource[i].flags |= IORESOURCE_IRQ_SHAREABLE; | ||
| 100 | |||
| 98 | res->irq_resource[i].start = irq; | 101 | res->irq_resource[i].start = irq; |
| 99 | res->irq_resource[i].end = irq; | 102 | res->irq_resource[i].end = irq; |
| 100 | pcibios_penalize_isa_irq(irq, 1); | 103 | pcibios_penalize_isa_irq(irq, 1); |
| @@ -194,7 +197,8 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res, | |||
| 194 | pnpacpi_parse_allocated_irqresource(res_table, | 197 | pnpacpi_parse_allocated_irqresource(res_table, |
| 195 | res->data.irq.interrupts[i], | 198 | res->data.irq.interrupts[i], |
| 196 | res->data.irq.triggering, | 199 | res->data.irq.triggering, |
| 197 | res->data.irq.polarity); | 200 | res->data.irq.polarity, |
| 201 | res->data.irq.sharable); | ||
| 198 | } | 202 | } |
| 199 | break; | 203 | break; |
| 200 | 204 | ||
| @@ -255,7 +259,8 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res, | |||
| 255 | pnpacpi_parse_allocated_irqresource(res_table, | 259 | pnpacpi_parse_allocated_irqresource(res_table, |
| 256 | res->data.extended_irq.interrupts[i], | 260 | res->data.extended_irq.interrupts[i], |
| 257 | res->data.extended_irq.triggering, | 261 | res->data.extended_irq.triggering, |
| 258 | res->data.extended_irq.polarity); | 262 | res->data.extended_irq.polarity, |
| 263 | res->data.extended_irq.sharable); | ||
| 259 | } | 264 | } |
| 260 | break; | 265 | break; |
| 261 | 266 | ||
