Loading drivers/acpi/sony_acpi.c +34 −15 Original line number Diff line number Diff line Loading @@ -46,19 +46,6 @@ module_param(debug, int, 0); MODULE_PARM_DESC(debug, "set this to 1 (and RTFM) if you want to help " "the development of this driver"); static int sony_acpi_add (struct acpi_device *device); static int sony_acpi_remove (struct acpi_device *device, int type); static struct acpi_driver sony_acpi_driver = { .name = ACPI_SNC_DRIVER_NAME, .class = ACPI_SNC_CLASS, .ids = ACPI_SNC_HID, .ops = { .add = sony_acpi_add, .remove = sony_acpi_remove, }, }; static acpi_handle sony_acpi_handle; static struct proc_dir_entry *sony_acpi_dir; Loading @@ -69,6 +56,8 @@ static struct sony_acpi_value { char *acpiset;/* name of the ACPI get function */ int min; /* minimum allowed value or -1 */ int max; /* maximum allowed value or -1 */ int value; /* current setting */ int valid; /* Has ever been set */ int debug; /* active only in debug mode ? */ } sony_acpi_values[] = { { Loading Loading @@ -239,10 +228,30 @@ static int sony_acpi_write(struct file *file, const char __user *buffer, if (acpi_callsetfunc(sony_acpi_handle, item->acpiset, value, NULL) < 0) return -EIO; item->value = value; item->valid = 1; return count; } static int sony_acpi_resume(struct acpi_device *device, int state) { struct sony_acpi_value *item; for (item = sony_acpi_values; item->name; item++) { int ret; if (!item->valid) continue; ret = acpi_callsetfunc(sony_acpi_handle, item->acpiset, item->value, NULL); if (ret < 0) { printk("%s: %d\n", __FUNCTION__, ret); break; } } return 0; } static void sony_acpi_notify(acpi_handle handle, u32 event, void *data) { printk(LOG_PFX "sony_acpi_notify\n"); Loading Loading @@ -344,7 +353,6 @@ static int sony_acpi_add(struct acpi_device *device) return result; } static int sony_acpi_remove(struct acpi_device *device, int type) { acpi_status status; Loading @@ -367,6 +375,17 @@ static int sony_acpi_remove(struct acpi_device *device, int type) return 0; } static struct acpi_driver sony_acpi_driver = { .name = ACPI_SNC_DRIVER_NAME, .class = ACPI_SNC_CLASS, .ids = ACPI_SNC_HID, .ops = { .add = sony_acpi_add, .remove = sony_acpi_remove, .resume = sony_acpi_resume, }, }; static int __init sony_acpi_init(void) { int result; Loading Loading
drivers/acpi/sony_acpi.c +34 −15 Original line number Diff line number Diff line Loading @@ -46,19 +46,6 @@ module_param(debug, int, 0); MODULE_PARM_DESC(debug, "set this to 1 (and RTFM) if you want to help " "the development of this driver"); static int sony_acpi_add (struct acpi_device *device); static int sony_acpi_remove (struct acpi_device *device, int type); static struct acpi_driver sony_acpi_driver = { .name = ACPI_SNC_DRIVER_NAME, .class = ACPI_SNC_CLASS, .ids = ACPI_SNC_HID, .ops = { .add = sony_acpi_add, .remove = sony_acpi_remove, }, }; static acpi_handle sony_acpi_handle; static struct proc_dir_entry *sony_acpi_dir; Loading @@ -69,6 +56,8 @@ static struct sony_acpi_value { char *acpiset;/* name of the ACPI get function */ int min; /* minimum allowed value or -1 */ int max; /* maximum allowed value or -1 */ int value; /* current setting */ int valid; /* Has ever been set */ int debug; /* active only in debug mode ? */ } sony_acpi_values[] = { { Loading Loading @@ -239,10 +228,30 @@ static int sony_acpi_write(struct file *file, const char __user *buffer, if (acpi_callsetfunc(sony_acpi_handle, item->acpiset, value, NULL) < 0) return -EIO; item->value = value; item->valid = 1; return count; } static int sony_acpi_resume(struct acpi_device *device, int state) { struct sony_acpi_value *item; for (item = sony_acpi_values; item->name; item++) { int ret; if (!item->valid) continue; ret = acpi_callsetfunc(sony_acpi_handle, item->acpiset, item->value, NULL); if (ret < 0) { printk("%s: %d\n", __FUNCTION__, ret); break; } } return 0; } static void sony_acpi_notify(acpi_handle handle, u32 event, void *data) { printk(LOG_PFX "sony_acpi_notify\n"); Loading Loading @@ -344,7 +353,6 @@ static int sony_acpi_add(struct acpi_device *device) return result; } static int sony_acpi_remove(struct acpi_device *device, int type) { acpi_status status; Loading @@ -367,6 +375,17 @@ static int sony_acpi_remove(struct acpi_device *device, int type) return 0; } static struct acpi_driver sony_acpi_driver = { .name = ACPI_SNC_DRIVER_NAME, .class = ACPI_SNC_CLASS, .ids = ACPI_SNC_HID, .ops = { .add = sony_acpi_add, .remove = sony_acpi_remove, .resume = sony_acpi_resume, }, }; static int __init sony_acpi_init(void) { int result; Loading