Loading drivers/acpi/ec.c +38 −22 Original line number Diff line number Diff line Loading @@ -83,28 +83,6 @@ enum { EC_FLAGS_RESCHEDULE_POLL /* Re-schedule poll */ }; static int acpi_ec_remove(struct acpi_device *device, int type); static int acpi_ec_start(struct acpi_device *device); static int acpi_ec_stop(struct acpi_device *device, int type); static int acpi_ec_add(struct acpi_device *device); static const struct acpi_device_id ec_device_ids[] = { {"PNP0C09", 0}, {"", 0}, }; static struct acpi_driver acpi_ec_driver = { .name = "ec", .class = ACPI_EC_CLASS, .ids = ec_device_ids, .ops = { .add = acpi_ec_add, .remove = acpi_ec_remove, .start = acpi_ec_start, .stop = acpi_ec_stop, }, }; /* If we find an EC via the ECDT, we need to keep a ptr to its context */ /* External interfaces use first EC only, so remember */ typedef int (*acpi_ec_query_func) (void *data); Loading Loading @@ -924,6 +902,11 @@ int __init acpi_boot_ec_enable(void) return -EFAULT; } static const struct acpi_device_id ec_device_ids[] = { {"PNP0C09", 0}, {"", 0}, }; int __init acpi_ec_ecdt_probe(void) { int ret; Loading Loading @@ -973,6 +956,39 @@ int __init acpi_ec_ecdt_probe(void) return -ENODEV; } static int acpi_ec_suspend(struct acpi_device *device, pm_message_t state) { struct acpi_ec *ec = acpi_driver_data(device); /* Stop using GPE */ set_bit(EC_FLAGS_NO_GPE, &ec->flags); clear_bit(EC_FLAGS_GPE_MODE, &ec->flags); acpi_disable_gpe(NULL, ec->gpe, ACPI_NOT_ISR); return 0; } static int acpi_ec_resume(struct acpi_device *device) { struct acpi_ec *ec = acpi_driver_data(device); /* Enable use of GPE back */ clear_bit(EC_FLAGS_NO_GPE, &ec->flags); acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR); return 0; } static struct acpi_driver acpi_ec_driver = { .name = "ec", .class = ACPI_EC_CLASS, .ids = ec_device_ids, .ops = { .add = acpi_ec_add, .remove = acpi_ec_remove, .start = acpi_ec_start, .stop = acpi_ec_stop, .suspend = acpi_ec_suspend, .resume = acpi_ec_resume, }, }; static int __init acpi_ec_init(void) { int result = 0; Loading Loading
drivers/acpi/ec.c +38 −22 Original line number Diff line number Diff line Loading @@ -83,28 +83,6 @@ enum { EC_FLAGS_RESCHEDULE_POLL /* Re-schedule poll */ }; static int acpi_ec_remove(struct acpi_device *device, int type); static int acpi_ec_start(struct acpi_device *device); static int acpi_ec_stop(struct acpi_device *device, int type); static int acpi_ec_add(struct acpi_device *device); static const struct acpi_device_id ec_device_ids[] = { {"PNP0C09", 0}, {"", 0}, }; static struct acpi_driver acpi_ec_driver = { .name = "ec", .class = ACPI_EC_CLASS, .ids = ec_device_ids, .ops = { .add = acpi_ec_add, .remove = acpi_ec_remove, .start = acpi_ec_start, .stop = acpi_ec_stop, }, }; /* If we find an EC via the ECDT, we need to keep a ptr to its context */ /* External interfaces use first EC only, so remember */ typedef int (*acpi_ec_query_func) (void *data); Loading Loading @@ -924,6 +902,11 @@ int __init acpi_boot_ec_enable(void) return -EFAULT; } static const struct acpi_device_id ec_device_ids[] = { {"PNP0C09", 0}, {"", 0}, }; int __init acpi_ec_ecdt_probe(void) { int ret; Loading Loading @@ -973,6 +956,39 @@ int __init acpi_ec_ecdt_probe(void) return -ENODEV; } static int acpi_ec_suspend(struct acpi_device *device, pm_message_t state) { struct acpi_ec *ec = acpi_driver_data(device); /* Stop using GPE */ set_bit(EC_FLAGS_NO_GPE, &ec->flags); clear_bit(EC_FLAGS_GPE_MODE, &ec->flags); acpi_disable_gpe(NULL, ec->gpe, ACPI_NOT_ISR); return 0; } static int acpi_ec_resume(struct acpi_device *device) { struct acpi_ec *ec = acpi_driver_data(device); /* Enable use of GPE back */ clear_bit(EC_FLAGS_NO_GPE, &ec->flags); acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR); return 0; } static struct acpi_driver acpi_ec_driver = { .name = "ec", .class = ACPI_EC_CLASS, .ids = ec_device_ids, .ops = { .add = acpi_ec_add, .remove = acpi_ec_remove, .start = acpi_ec_start, .stop = acpi_ec_stop, .suspend = acpi_ec_suspend, .resume = acpi_ec_resume, }, }; static int __init acpi_ec_init(void) { int result = 0; Loading