Re: Backlight device class redesign

From: RafaÅ MiÅecki
Date: Sun Nov 29 2009 - 15:09:40 EST


W dniu 28 listopada 2009 01:30 uÅytkownik RafaÅ MiÅecki
<zajec5@xxxxxxxxx> napisaÅ:
> As discussed in http://marc.info/?t=124947671300008&r=1&w=2 we need to
> redesign our backlight device class.

I was trying to make it work this way:
1. Everytime register request comes, look for backlight_display with given name.
1. A. If needed, create new backlight_display
2. Add new device to devices list of backlight_display
3. Find best device on devices list of backlight_display
4. Register if under /sys/class/backlight/name_of_display

This didn't work because of registering only the best device. Look at
this code in drivers/acpi/video.c:

device->backlight = backlight_device_register(name,
NULL, device, &acpi_backlight_ops);
(...)
result = sysfs_create_link(&device->backlight->dev.kobj,
&device->dev->dev.kobj, "device");

It expects device to be registered (have dev.kobj) after calling
backlight_device_register.

So in summary we just can not do lazy registration. Every device
passed to backlight_device_register has to be registered in that
function or never.

So I think we have to register every device and just keep symlink
/sys/class/backlight/display_name pointing best device. We could
register devices in
1) /sys/class/backlight/.devicename (hidden)
2) some /sys/class/internal-usage/devicename

Do you agree on this?

--
RafaÅ

Attachment: backlight2.patch
Description: Binary data