On 07/24/14 08:40, Linus Walleij wrote: > On Thu, Jul 24, 2014 at 1:47 AM, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote: > >>> Please add these constants to the table of valid power-source values and use >>> something like I did to translate them to register values - it makes the DT >>> much more readable. >> The DT could be similarly readable if we had a bunch of #defines for the >> different VIN settings that resolved to the final register value for >> that pmic. Something like PM8921_GPIO1_14_VPH, PM8921_GPIO19_36_VPH, >> etc. There would be a lot of them, but then the driver could be really >> simple and just jam whatever value is in the DT into the register >> without having to bounce through a mapping table in software to figure >> out the register value. If we did this for the functions also then I >> believe we achieve readability without requiring a bunch of drivers for >> each and every single pmic? > Not sure but it sounds like you want to make the device tree a jam table, > (know about individual register offsets, sequences etc). That has been > throrougly NACKed in the past, because DT is not Open Firmware. > > The exception is pinctrl-single which is restricted to single register > per pin use cases and is still a point of contention... > I'm not proposing a jam table. I'm proposing that we make the function/source property convenient to the driver by having the actual function field value encoded there instead of some string that has to be translated through a table in a driver. There's still going to be shifting and masking of bits in the driver to put the value in the right place in the register, but we avoid needing N number of drivers for each pmic just to translate strings into integers (for functions) and integers into other integers (for the power source). From what I can tell there isn't any benefit to having the function property be a string vs. a #define number besides having a human readable string in pinctrl debugfs. Is there some other benefit? -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- 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