OSDN Git Service

platform/x86: fujitsu-laptop: remove pf_device field from struct fujitsu_bl
authorMichał Kępień <kernel@kempniu.pl>
Tue, 14 Mar 2017 10:26:31 +0000 (11:26 +0100)
committerDarren Hart (VMware) <dvhart@infradead.org>
Thu, 23 Mar 2017 16:03:23 +0000 (09:03 -0700)
Both struct fujitsu_bl and struct fujitsu_laptop have a pf_device field.
Up until now the latter has been redundant, which is logically incorrect
because the primary function of the platform device created by
fujitsu-laptop is to provide laptop-related (not brightness-related)
attributes to userspace.

Remove the pf_device field from struct fujitsu_bl and make all module
code use the pf_device field of struct fujitsu_laptop instead.

Suggested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Michał Kępień <kernel@kempniu.pl>
Tested-by: Jonathan Woithe <jwoithe@just42.net>
Reviewed-by: Jonathan Woithe <jwoithe@just42.net>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/x86/fujitsu-laptop.c

index a2641cb..f3ccef3 100644 (file)
@@ -138,7 +138,6 @@ struct fujitsu_bl {
        struct input_dev *input;
        char phys[32];
        struct backlight_device *bl_device;
-       struct platform_device *pf_device;
        int keycode1, keycode2, keycode3, keycode4, keycode5;
 
        unsigned int max_brightness;
@@ -769,15 +768,15 @@ static int fujitsu_laptop_platform_add(void)
 {
        int ret;
 
-       fujitsu_bl->pf_device = platform_device_alloc("fujitsu-laptop", -1);
-       if (!fujitsu_bl->pf_device)
+       fujitsu_laptop->pf_device = platform_device_alloc("fujitsu-laptop", -1);
+       if (!fujitsu_laptop->pf_device)
                return -ENOMEM;
 
-       ret = platform_device_add(fujitsu_bl->pf_device);
+       ret = platform_device_add(fujitsu_laptop->pf_device);
        if (ret)
                goto err_put_platform_device;
 
-       ret = sysfs_create_group(&fujitsu_bl->pf_device->dev.kobj,
+       ret = sysfs_create_group(&fujitsu_laptop->pf_device->dev.kobj,
                                 &fujitsu_pf_attribute_group);
        if (ret)
                goto err_del_platform_device;
@@ -785,18 +784,18 @@ static int fujitsu_laptop_platform_add(void)
        return 0;
 
 err_del_platform_device:
-       platform_device_del(fujitsu_bl->pf_device);
+       platform_device_del(fujitsu_laptop->pf_device);
 err_put_platform_device:
-       platform_device_put(fujitsu_bl->pf_device);
+       platform_device_put(fujitsu_laptop->pf_device);
 
        return ret;
 }
 
 static void fujitsu_laptop_platform_remove(void)
 {
-       sysfs_remove_group(&fujitsu_bl->pf_device->dev.kobj,
+       sysfs_remove_group(&fujitsu_laptop->pf_device->dev.kobj,
                           &fujitsu_pf_attribute_group);
-       platform_device_unregister(fujitsu_bl->pf_device);
+       platform_device_unregister(fujitsu_laptop->pf_device);
 }
 
 static int acpi_fujitsu_laptop_add(struct acpi_device *device)
@@ -909,7 +908,7 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
 
 #if IS_ENABLED(CONFIG_LEDS_CLASS)
        if (call_fext_func(FUNC_LEDS, 0x0, 0x0, 0x0) & LOGOLAMP_POWERON) {
-               result = led_classdev_register(&fujitsu_bl->pf_device->dev,
+               result = led_classdev_register(&fujitsu_laptop->pf_device->dev,
                                                &logolamp_led);
                if (result == 0) {
                        fujitsu_laptop->logolamp_registered = 1;
@@ -921,7 +920,7 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
 
        if ((call_fext_func(FUNC_LEDS, 0x0, 0x0, 0x0) & KEYBOARD_LAMPS) &&
           (call_fext_func(FUNC_BUTTONS, 0x0, 0x0, 0x0) == 0x0)) {
-               result = led_classdev_register(&fujitsu_bl->pf_device->dev,
+               result = led_classdev_register(&fujitsu_laptop->pf_device->dev,
                                                &kblamps_led);
                if (result == 0) {
                        fujitsu_laptop->kblamps_registered = 1;
@@ -938,7 +937,7 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
         * that an RF LED is present.
         */
        if (call_fext_func(FUNC_BUTTONS, 0x0, 0x0, 0x0) & BIT(24)) {
-               result = led_classdev_register(&fujitsu_bl->pf_device->dev,
+               result = led_classdev_register(&fujitsu_laptop->pf_device->dev,
                                                &radio_led);
                if (result == 0) {
                        fujitsu_laptop->radio_led_registered = 1;
@@ -955,7 +954,7 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
        */
        if ((call_fext_func(FUNC_LEDS, 0x0, 0x0, 0x0) & BIT(14)) &&
           (call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0) != UNSUPPORTED_CMD)) {
-               result = led_classdev_register(&fujitsu_bl->pf_device->dev,
+               result = led_classdev_register(&fujitsu_laptop->pf_device->dev,
                                                &eco_led);
                if (result == 0) {
                        fujitsu_laptop->eco_led_registered = 1;