[PATCH] Tell kallsyms_lookup_name() to ignore type U entries
[powerpc.git] / drivers / acpi / video.c
index b9132b5..bd48875 100644 (file)
@@ -297,11 +297,12 @@ acpi_video_device_set_state(struct acpi_video_device *device, int state)
        int status;
        union acpi_object arg0 = { ACPI_TYPE_INTEGER };
        struct acpi_object_list args = { 1, &arg0 };
+       unsigned long ret;
 
        ACPI_FUNCTION_TRACE("acpi_video_device_set_state");
 
        arg0.integer.value = state;
-       status = acpi_evaluate_integer(device->handle, "_DSS", &args, NULL);
+       status = acpi_evaluate_integer(device->handle, "_DSS", &args, &ret);
 
        return_VALUE(status);
 }
@@ -333,8 +334,7 @@ acpi_video_device_lcd_query_levels(struct acpi_video_device *device,
        return_VALUE(0);
 
       err:
-       if (buffer.pointer)
-               kfree(buffer.pointer);
+       kfree(buffer.pointer);
 
        return_VALUE(status);
 }
@@ -812,7 +812,7 @@ acpi_video_device_write_brightness(struct file *file,
 
        ACPI_FUNCTION_TRACE("acpi_video_device_write_brightness");
 
-       if (!dev || count + 1 > sizeof str)
+       if (!dev || !dev->brightness || count + 1 > sizeof str)
                return_VALUE(-EINVAL);
 
        if (copy_from_user(str, buffer, count))
@@ -920,8 +920,8 @@ static int acpi_video_device_add_fs(struct acpi_device *device)
                ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
                                  "Unable to create 'state' fs entry\n"));
        else {
+               acpi_video_device_state_fops.write = acpi_video_device_write_state;
                entry->proc_fops = &acpi_video_device_state_fops;
-               entry->proc_fops->write = acpi_video_device_write_state;
                entry->data = acpi_driver_data(device);
                entry->owner = THIS_MODULE;
        }
@@ -934,8 +934,8 @@ static int acpi_video_device_add_fs(struct acpi_device *device)
                ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
                                  "Unable to create 'brightness' fs entry\n"));
        else {
+               acpi_video_device_brightness_fops.write = acpi_video_device_write_brightness;
                entry->proc_fops = &acpi_video_device_brightness_fops;
-               entry->proc_fops->write = acpi_video_device_write_brightness;
                entry->data = acpi_driver_data(device);
                entry->owner = THIS_MODULE;
        }
@@ -1239,8 +1239,8 @@ static int acpi_video_bus_add_fs(struct acpi_device *device)
                ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
                                  "Unable to create 'POST' fs entry\n"));
        else {
+               acpi_video_bus_POST_fops.write = acpi_video_bus_write_POST;
                entry->proc_fops = &acpi_video_bus_POST_fops;
-               entry->proc_fops->write = acpi_video_bus_write_POST;
                entry->data = acpi_driver_data(device);
                entry->owner = THIS_MODULE;
        }
@@ -1253,8 +1253,8 @@ static int acpi_video_bus_add_fs(struct acpi_device *device)
                ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
                                  "Unable to create 'DOS' fs entry\n"));
        else {
+               acpi_video_bus_DOS_fops.write = acpi_video_bus_write_DOS;
                entry->proc_fops = &acpi_video_bus_DOS_fops;
-               entry->proc_fops->write = acpi_video_bus_write_DOS;
                entry->data = acpi_driver_data(device);
                entry->owner = THIS_MODULE;
        }
@@ -1487,8 +1487,7 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
        }
        active_device_list[count].value.int_val = ACPI_VIDEO_HEAD_END;
 
-       if (video->attached_array)
-               kfree(video->attached_array);
+       kfree(video->attached_array);
 
        video->attached_array = active_device_list;
        video->attached_count = count;
@@ -1644,8 +1643,7 @@ static int acpi_video_bus_put_devices(struct acpi_video_bus *video)
                        printk(KERN_WARNING PREFIX
                               "hhuuhhuu bug in acpi video driver.\n");
 
-               if (data->brightness)
-                       kfree(data->brightness);
+               kfree(data->brightness);
 
                kfree(data);
        }
@@ -1830,8 +1828,7 @@ static int acpi_video_bus_remove(struct acpi_device *device, int type)
        acpi_video_bus_put_devices(video);
        acpi_video_bus_remove_fs(device);
 
-       if (video->attached_array)
-               kfree(video->attached_array);
+       kfree(video->attached_array);
        kfree(video);
 
        return_VALUE(0);