diff options
author | Len Brown <len.brown@intel.com> | 2008-02-06 01:26:55 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-02-06 22:27:06 -0500 |
commit | 5229e87d59cef33539322948bd8e3b5a537f7c97 (patch) | |
tree | 711a5708474fc79dbe599fae35f3e50d0a037ca0 /drivers/acpi/osl.c | |
parent | 21511abd0a248a3f225d3b611cfabb93124605a7 (diff) |
ACPI: create /sys/firmware/acpi/interrupts
See Documentation/ABI/testing/sysfs-firmware-acpi
Based-on-original-patch-by: Luming Yu <luming.yu@intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r-- | drivers/acpi/osl.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index e53fb516f9d4..1087efeca9b1 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -332,7 +332,15 @@ acpi_os_table_override(struct acpi_table_header * existing_table, | |||
332 | 332 | ||
333 | static irqreturn_t acpi_irq(int irq, void *dev_id) | 333 | static irqreturn_t acpi_irq(int irq, void *dev_id) |
334 | { | 334 | { |
335 | return (*acpi_irq_handler) (acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE; | 335 | u32 handled; |
336 | |||
337 | handled = (*acpi_irq_handler) (acpi_irq_context); | ||
338 | |||
339 | if (handled) { | ||
340 | acpi_irq_handled++; | ||
341 | return IRQ_HANDLED; | ||
342 | } else | ||
343 | return IRQ_NONE; | ||
336 | } | 344 | } |
337 | 345 | ||
338 | acpi_status | 346 | acpi_status |
@@ -341,6 +349,8 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, | |||
341 | { | 349 | { |
342 | unsigned int irq; | 350 | unsigned int irq; |
343 | 351 | ||
352 | acpi_irq_stats_init(); | ||
353 | |||
344 | /* | 354 | /* |
345 | * Ignore the GSI from the core, and use the value in our copy of the | 355 | * Ignore the GSI from the core, and use the value in our copy of the |
346 | * FADT. It may not be the same if an interrupt source override exists | 356 | * FADT. It may not be the same if an interrupt source override exists |