Hi Pavel, On 09/14/2018 10:18 AM, Pavel Machek wrote: > Hi! > >>>> How do I politely explain that the original implementation was wrong for certain devices? >>> >>> Implementation? Device tree is hardware description. >> >> Yes this hardware description is incorrect. The hardware description is >> describing a MFD but this LED driver (and a couple others) only perform >> 1 function and that is to drive a LED string. > > So what? Does not seem incorrect to me. Maybe the description should > not be in MFD directory, but other than that... > >>>> Isn't code and documentation supposed to be pushed in stages >>>> together? >>> >>> Device tree is _not_ documentation. And yes, it is normally pushed >>> together. But that did not happen here, and bindings are already in. >> >> Hmm.. Its not documentation but it is in the Documentation folder. >> And just because the bindings are in does not mean they cannot be >> changed. > > You may want to learn more about device tree and/or talk to the device > tree maintainers. This is an old article. https://lwn.net/Articles/561462/ The article title is "Device trees as ABI". A device tree is defined in the "*.dts" file that is then compiled to a dtb blob, which constitutes the ABI. And this ABI should be kept backwards compatible. What is discussed here is a documentation of bindings, i.e. according to ePAPR: "requirements for how specific types and classes of devices are represented in the device tree". >From the bindings documented in the Documentation/devicetree/bindings/mfd/ti-lmu.txt only ti,lm3532-backlight is used in the mainline dts file (arch/arm/boot/dts/omap4-droid4-xt894.dts). Having the above it seems that there is no risk of breaking any users. > NAK on this patch. I see that this binding has problems, but > introducing different binding for subset of devices is _not_ a fix. > >>> What about the multi function devices? They should have same binding. >> >> The MFD devices defined are not in contention here only the SFD. > > I'd like to see common solutions for SFD and MFD, as the hardware is > similar, and that includes the code. Having code that is easier to > maintain is important, and having many drivers are harder to maintain > than one driver. > > Milo's code looks better than yours in that regard. I disagree about > Milo's code being "nightmare" to modify, and care about "easy to > maintain" more than "binary size". Easy to maintain will be a dedicated LED class driver. -- Best regards, Jacek Anaszewski