Loading drivers/misc/sony-laptop.c +78 −73 Original line number Diff line number Diff line Loading @@ -54,8 +54,10 @@ 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 ssize_t sony_acpi_show(struct device *, struct device_attribute *, char *); static ssize_t sony_acpi_store(struct device *, struct device_attribute *, const char *, size_t); static ssize_t sony_acpi_show(struct device *, struct device_attribute *, char *); static ssize_t sony_acpi_store(struct device *, struct device_attribute *, const char *, size_t); struct sony_acpi_value { char *name; /* name of the entry */ Loading Loading @@ -111,10 +113,12 @@ HANDLE_NAMES(CMI_get, "GCMI"); HANDLE_NAMES(CMI_set, "SCMI"); static struct sony_acpi_value sony_acpi_values[] = { SONY_ACPI_VALUE(brightness_default, snc_brightness_def_get, snc_brightness_def_set, 1, SONY_MAX_BRIGHTNESS, 0), SONY_ACPI_VALUE(brightness_default, snc_brightness_def_get, snc_brightness_def_set, 1, SONY_MAX_BRIGHTNESS, 0), SONY_ACPI_VALUE(fnkey, snc_fnkey_get, NULL, -1, -1, 0), SONY_ACPI_VALUE(cdpower, snc_cdpower_get, snc_cdpower_set, 0, 1, 0), SONY_ACPI_VALUE(audiopower, snc_audiopower_get, snc_audiopower_set, 0, 1, 0), SONY_ACPI_VALUE(audiopower, snc_audiopower_get, snc_audiopower_set, 0, 1, 0), SONY_ACPI_VALUE(lanpower, snc_lanpower_get, snc_lanpower_set, 0, 1, 1), /* unknown methods */ SONY_ACPI_VALUE(PID, snc_PID_get, NULL, -1, -1, 1), Loading Loading @@ -192,7 +196,8 @@ static ssize_t sony_acpi_show(struct device *dev, struct device_attribute *attr, char *buffer) { int value; struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); if (!*item->acpiget) return -EIO; Loading @@ -203,11 +208,13 @@ static ssize_t sony_acpi_show(struct device *dev, struct device_attribute *attr, return snprintf(buffer, PAGE_SIZE, "%d\n", value); } static ssize_t sony_acpi_store(struct device *dev, struct device_attribute *attr, static ssize_t sony_acpi_store(struct device *dev, struct device_attribute *attr, const char *buffer, size_t count) { int value; struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); if (!item->acpiset) return -EIO; Loading Loading @@ -272,8 +279,7 @@ static int sony_snc_pf_add(void) &handle))) { if (debug) printk(LOG_PFX "Found %s getter: %s\n", item->name, *item->acpiget); item->name, *item->acpiget); item->devattr.attr.mode |= S_IRUGO; break; } Loading @@ -286,15 +292,16 @@ static int sony_snc_pf_add(void) &handle))) { if (debug) printk(LOG_PFX "Found %s setter: %s\n", item->name, *item->acpiset); item->name, *item->acpiset); item->devattr.attr.mode |= S_IWUSR; break; } } if (item->devattr.attr.mode != 0) { ret = device_create_file(&sncpf_device->dev, &item->devattr); ret = device_create_file(&sncpf_device->dev, &item->devattr); if (ret) goto out_sysfs; } Loading Loading @@ -334,8 +341,7 @@ static void sony_snc_pf_remove(void) static int sony_backlight_update_status(struct backlight_device *bd) { return acpi_callsetfunc(sony_acpi_handle, "SBRT", bd->props->brightness + 1, NULL); bd->props->brightness + 1, NULL); } static int sony_backlight_get_brightness(struct backlight_device *bd) Loading Loading @@ -425,8 +431,7 @@ static int sony_acpi_add(struct acpi_device *device) status = acpi_install_notify_handler(sony_acpi_handle, ACPI_DEVICE_NOTIFY, sony_acpi_notify, NULL); sony_acpi_notify, NULL); if (ACPI_FAILURE(status)) { printk(LOG_PFX "unable to install notify handler\n"); result = -ENODEV; Loading @@ -435,15 +440,16 @@ static int sony_acpi_add(struct acpi_device *device) if (ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle, "GBRT", &handle))) { sony_backlight_device = backlight_device_register("sony", NULL, NULL, &sony_backlight_properties); NULL, &sony_backlight_properties); if (IS_ERR(sony_backlight_device)) { printk(LOG_PFX "unable to register backlight device\n"); sony_backlight_device = NULL; } else } else sony_backlight_properties.brightness = sony_backlight_get_brightness(sony_backlight_device); sony_backlight_get_brightness (sony_backlight_device); } if (sony_snc_pf_add()) Loading Loading @@ -504,7 +510,6 @@ static int __init sony_acpi_init(void) return acpi_bus_register_driver(&sony_acpi_driver); } static void __exit sony_acpi_exit(void) { acpi_bus_unregister_driver(&sony_acpi_driver); Loading Loading
drivers/misc/sony-laptop.c +78 −73 Original line number Diff line number Diff line Loading @@ -54,8 +54,10 @@ 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 ssize_t sony_acpi_show(struct device *, struct device_attribute *, char *); static ssize_t sony_acpi_store(struct device *, struct device_attribute *, const char *, size_t); static ssize_t sony_acpi_show(struct device *, struct device_attribute *, char *); static ssize_t sony_acpi_store(struct device *, struct device_attribute *, const char *, size_t); struct sony_acpi_value { char *name; /* name of the entry */ Loading Loading @@ -111,10 +113,12 @@ HANDLE_NAMES(CMI_get, "GCMI"); HANDLE_NAMES(CMI_set, "SCMI"); static struct sony_acpi_value sony_acpi_values[] = { SONY_ACPI_VALUE(brightness_default, snc_brightness_def_get, snc_brightness_def_set, 1, SONY_MAX_BRIGHTNESS, 0), SONY_ACPI_VALUE(brightness_default, snc_brightness_def_get, snc_brightness_def_set, 1, SONY_MAX_BRIGHTNESS, 0), SONY_ACPI_VALUE(fnkey, snc_fnkey_get, NULL, -1, -1, 0), SONY_ACPI_VALUE(cdpower, snc_cdpower_get, snc_cdpower_set, 0, 1, 0), SONY_ACPI_VALUE(audiopower, snc_audiopower_get, snc_audiopower_set, 0, 1, 0), SONY_ACPI_VALUE(audiopower, snc_audiopower_get, snc_audiopower_set, 0, 1, 0), SONY_ACPI_VALUE(lanpower, snc_lanpower_get, snc_lanpower_set, 0, 1, 1), /* unknown methods */ SONY_ACPI_VALUE(PID, snc_PID_get, NULL, -1, -1, 1), Loading Loading @@ -192,7 +196,8 @@ static ssize_t sony_acpi_show(struct device *dev, struct device_attribute *attr, char *buffer) { int value; struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); if (!*item->acpiget) return -EIO; Loading @@ -203,11 +208,13 @@ static ssize_t sony_acpi_show(struct device *dev, struct device_attribute *attr, return snprintf(buffer, PAGE_SIZE, "%d\n", value); } static ssize_t sony_acpi_store(struct device *dev, struct device_attribute *attr, static ssize_t sony_acpi_store(struct device *dev, struct device_attribute *attr, const char *buffer, size_t count) { int value; struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); struct sony_acpi_value *item = container_of(attr, struct sony_acpi_value, devattr); if (!item->acpiset) return -EIO; Loading Loading @@ -272,8 +279,7 @@ static int sony_snc_pf_add(void) &handle))) { if (debug) printk(LOG_PFX "Found %s getter: %s\n", item->name, *item->acpiget); item->name, *item->acpiget); item->devattr.attr.mode |= S_IRUGO; break; } Loading @@ -286,15 +292,16 @@ static int sony_snc_pf_add(void) &handle))) { if (debug) printk(LOG_PFX "Found %s setter: %s\n", item->name, *item->acpiset); item->name, *item->acpiset); item->devattr.attr.mode |= S_IWUSR; break; } } if (item->devattr.attr.mode != 0) { ret = device_create_file(&sncpf_device->dev, &item->devattr); ret = device_create_file(&sncpf_device->dev, &item->devattr); if (ret) goto out_sysfs; } Loading Loading @@ -334,8 +341,7 @@ static void sony_snc_pf_remove(void) static int sony_backlight_update_status(struct backlight_device *bd) { return acpi_callsetfunc(sony_acpi_handle, "SBRT", bd->props->brightness + 1, NULL); bd->props->brightness + 1, NULL); } static int sony_backlight_get_brightness(struct backlight_device *bd) Loading Loading @@ -425,8 +431,7 @@ static int sony_acpi_add(struct acpi_device *device) status = acpi_install_notify_handler(sony_acpi_handle, ACPI_DEVICE_NOTIFY, sony_acpi_notify, NULL); sony_acpi_notify, NULL); if (ACPI_FAILURE(status)) { printk(LOG_PFX "unable to install notify handler\n"); result = -ENODEV; Loading @@ -435,15 +440,16 @@ static int sony_acpi_add(struct acpi_device *device) if (ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle, "GBRT", &handle))) { sony_backlight_device = backlight_device_register("sony", NULL, NULL, &sony_backlight_properties); NULL, &sony_backlight_properties); if (IS_ERR(sony_backlight_device)) { printk(LOG_PFX "unable to register backlight device\n"); sony_backlight_device = NULL; } else } else sony_backlight_properties.brightness = sony_backlight_get_brightness(sony_backlight_device); sony_backlight_get_brightness (sony_backlight_device); } if (sony_snc_pf_add()) Loading Loading @@ -504,7 +510,6 @@ static int __init sony_acpi_init(void) return acpi_bus_register_driver(&sony_acpi_driver); } static void __exit sony_acpi_exit(void) { acpi_bus_unregister_driver(&sony_acpi_driver); Loading