+++ /dev/null
-From: Alexey Starikovskiy <astarikovskiy@suse.de>
-Subject: ACPI: EC: Don't degrade to poll mode at storm automatically.
-References: bnc#446142
-Patch-Mainline: no
-
-Signed-off-by: Thomas Renninger <trenn@suse.de>
-
-Not all users of semi-broken EC devices want to degrade to poll mode, so
-give them right to choose.
-
-Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
----
-
- Documentation/kernel-parameters.txt | 5 +++++
- drivers/acpi/ec.c | 15 +++++++++++++++
- 2 files changed, 20 insertions(+)
-
-
---- a/Documentation/kernel-parameters.txt
-+++ b/Documentation/kernel-parameters.txt
-@@ -706,6 +706,11 @@ and is between 256 and 4096 characters.
-
- eata= [HW,SCSI]
-
-+ ec_intr= [HW,ACPI] ACPI Embedded Controller interrupt mode
-+ Format: <int>
-+ 0: polling mode
-+ non-0: interrupt mode (default)
-+
- edd= [EDD]
- Format: {"off" | "on" | "skip[mbr]"}
-
---- a/drivers/acpi/ec.c
-+++ b/drivers/acpi/ec.c
-@@ -121,6 +121,8 @@ static struct acpi_ec {
- spinlock_t curr_lock;
- } *boot_ec, *first_ec;
-
-+int acpi_ec_intr = 1; /* Default is interrupt mode */
-+
- /*
- * Some Asus system have exchanged ECDT data/command IO addresses.
- */
-@@ -902,6 +904,8 @@ static int ec_install_handlers(struct ac
- &acpi_ec_gpe_handler, ec);
- if (ACPI_FAILURE(status))
- return -ENODEV;
-+ if (!acpi_ec_intr)
-+ set_bit(EC_FLAGS_NO_GPE, &ec->flags);
- acpi_set_gpe_type(NULL, ec->gpe, ACPI_GPE_TYPE_RUNTIME);
- acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
- status = acpi_install_address_space_handler(ec->handle,
-@@ -1095,3 +1099,14 @@ static void __exit acpi_ec_exit(void)
- return;
- }
- #endif /* 0 */
-+
-+static int __init acpi_ec_set_intr_mode(char *str)
-+{
-+ if (!get_option(&str, &acpi_ec_intr)) {
-+ acpi_ec_intr = 0;
-+ return 0;
-+ }
-+ return 1;
-+}
-+
-+__setup("ec_intr=", acpi_ec_set_intr_mode);