Hi, On Thu, Sep 14, 2017 at 3:46 AM, Enric Balletbo Serra <eballetbo@xxxxxxxxx> wrote: > Based on this seems reasonable maintain current implementation to not > break backward compability. Even, I think makes sense improve current > implementation by adding somekind of piecewise linear concept to the > brightness levels, similar to Doug's suggestion. So if we want, i.e, > 256 levels or more, instead of specify the full table in the DT we can > only specify some points in DT but the driver can expose to userspace > more steps (how many?) between two brightness levels. It seems sane to me. Personally I'd say that if you're using piecewise linear you just pick a number of levels to expose, perhaps 16383, or 32767, or 65535) and expose that many levels for everyone. It's possible that bumping the brightness up by "1" will not actually change a hardware register, but that seems like it would be fine, right? Probably you'd want to require some sort of dt change to enable piecewise linear since it seems plausible that you could break existing boards if you started interpolating. > Of course, this > doesn't makes the live of the future users easier but I think will > make the live of the current users of this interface more flexible > (specially when you want lots of levels) > > Then, to make the user live easier, there is the thing about human > perception, we can move brightness-levels to be optional and fall to > apply the human perception code if it's not specified. Here the thing > and point of discussion is, if the cie1931 is the right algorithm to > do the 'magic' in the driver. From what I investigated seems that is > but I might be wrong. I don't personally know, so hopefully someone else can comment. -Doug -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html