On Thu, 2009-08-06 at 00:19 +0800, Pavel Machek wrote: > On Wed 2009-08-05 09:02:50, Zhang Rui wrote: > > On Tue, 2009-08-04 at 21:21 +0800, Pavel Machek wrote: > > > On Mon 2009-08-03 17:10:57, Zhang Rui wrote: > > > > Hi, all, > > > > > > > > This is the patch set I made to introduce ACPI ALS device driver > > > > and a generic sysfs I/F for all the ALS devices, like ACPI ALS, > > > > platform ALS, etc. > > > > > > > > Patch 01 introduces the ACPI ALS device driver. > > > > > > > > Patch 02 introduces ALS sysfs class. > > > > Two sysfs I/F are created for each ALS device. > > > > /sys/class/als/alsX/illuminance: > > > > the amount of light incident upon a specified surface area. > > > > /sys/class/als/alsX/mappings: > > > > ambient light illuminance to display luminance mappings > > > > that can be used by an OS to calibrate its ambient light policy > > > > this is what I got on a test box: > > > > cat /sys/class/als/als0/mappings > > > > ???Illuminance Adjustment > > > > 0 70 > > > > 10 73 > > > > 80 85 > > > > 300 100 > > > > 1000 150 > > > > > > There's one value per file for sysfs... You should definitely have the > > > header. > > > > > > Is there chance to already return adjusted values, avoiding this > > > uglyness? > > > > No, > > For a ALS policy, user space should set a brightness level as the base > > point, i.e. the backlight when display adjustment is 100. > > and then uses the adjustment values gotten from this mappings to > > calculate the actual brightness level the display should be put in. > > Ok, so just make the code return only the "adjustement" -- userspace > does not really need to know "illuminance" and you can do the mapping > in the kernel AFAICT. > ALS exports 1. the current ambient light illuminance 2. the mappings Backlight device exports 1. the brightness levels. User space needs to: 1. set a brightness level as the base point 2. read the current ambient light illuminance from ALS device 3. read the ambient light illuminance to display adjustment mappings 4. calculate a proper brightness level we should set. For example, if we set brightness 6 as the default brightness, i.e. the brightness level when ambient light illuminance is 300. Now we walk outdoors, and the current illuminance is 1000, then we should set the new_brightness_level to (6 * 150%) thanks, rui -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html