The acpi video driver attempts to explicitly create a sysfs link between
the acpi device and the associated PCI device. However, we're now also
doing this from the backlight core, which means that we get a backtrace
caused by a duplicate file. Remove the code and leave it up to the
backlight core.
Reported-by: Jeff Chua <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
---
drivers/acpi/video.c | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index a18e497..31e9e10 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -824,11 +824,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
device->backlight->props.brightness =
acpi_video_get_brightness(device->backlight);
- result = sysfs_create_link(&device->backlight->dev.kobj,
- &device->dev->dev.kobj, "device");
- if (result)
- printk(KERN_ERR PREFIX "Create sysfs link\n");
-
device->cooling_dev = thermal_cooling_device_register("LCD",
device->dev, &video_cooling_ops);
if (IS_ERR(device->cooling_dev)) {
@@ -1381,7 +1376,6 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device)
"Cant remove video notify handler\n");
}
if (device->backlight) {
- sysfs_remove_link(&device->backlight->dev.kobj, "device");
backlight_device_unregister(device->backlight);
device->backlight = NULL;
}
--
1.7.4.1
On Monday, March 28, 2011, Matthew Garrett wrote:
> The acpi video driver attempts to explicitly create a sysfs link between
> the acpi device and the associated PCI device. However, we're now also
> doing this from the backlight core, which means that we get a backtrace
> caused by a duplicate file. Remove the code and leave it up to the
> backlight core.
>
> Reported-by: Jeff Chua <[email protected]>
> Signed-off-by: Matthew Garrett <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
> ---
> drivers/acpi/video.c | 6 ------
> 1 files changed, 0 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
> index a18e497..31e9e10 100644
> --- a/drivers/acpi/video.c
> +++ b/drivers/acpi/video.c
> @@ -824,11 +824,6 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
> device->backlight->props.brightness =
> acpi_video_get_brightness(device->backlight);
>
> - result = sysfs_create_link(&device->backlight->dev.kobj,
> - &device->dev->dev.kobj, "device");
> - if (result)
> - printk(KERN_ERR PREFIX "Create sysfs link\n");
> -
> device->cooling_dev = thermal_cooling_device_register("LCD",
> device->dev, &video_cooling_ops);
> if (IS_ERR(device->cooling_dev)) {
> @@ -1381,7 +1376,6 @@ static int acpi_video_bus_put_one_device(struct acpi_video_device *device)
> "Cant remove video notify handler\n");
> }
> if (device->backlight) {
> - sysfs_remove_link(&device->backlight->dev.kobj, "device");
> backlight_device_unregister(device->backlight);
> device->backlight = NULL;
> }
>