On 04.11.2014 09:20, Hugh Kang wrote:
> Hello
> 
> On 2014년 11월 03일 21:03, Mark Brown wrote:
>> On Mon, Nov 03, 2014 at 10:26:43AM +0900, Hugh Kang wrote:
>>> From: "hugh.kang" <hugh.k...@lge.com>
>>>
>>> If a regulator is set by always-on option, the regulator will be set 
>>> forever.
>>> For example, suppose LDO1 is set to always-on at RevA.dts with including of 
>>> a.dtsi. After that
>>> RevB.dts may wants to include the same a.dtsi but override the LDO1 
>>> always-on option. However,
>>> currently there is no way to delete the always-on option, even when we 
>>> change the LDO1 option value,
>>> the always-on setting is still remains.
>> This sounds like a problem with the way the DTSs have been written - I'd
>> expect the thing to do here is just to move the property to the rev A
>> DTS when rev B is created.  Why is that not the way forward?
>>
>> Otherwise this is an issue which affects any boolean property in the DT
>> so if it's something we need to fix we should be fixing it in a generic
>> fashion that will work for other properties too.
> 
> I understand that I could make Rev.B with b.dtsi due to LDOs option is 
> different. However, aim to use device tree is that making easy steps. Refer 
> to dts option, if you set to be set status disabled option, the driver dose 
> not probe when the system boot up. Even though, the system has different 
> board revision exist. So dts have to be no corrupts any overlap situation.
> I have mentions the simple example to change only one LDOs. However, if 
> someone want to edit many regulators with similar configuration, he has to do 
> lots of copy and paste works. Because he has to create new dts file. So I 
> would suggest to make it as simple as I could.
> 
> Also, I have somehow agree with you that affects any boolean property in the 
> DT.

Now you propose to have a final DTS like:
$ scripts/dtc/dtc -I dtb -O dts
        reg {
                regulator-name = "vdd";
                regulator-min-microvolt = <850000>;
                regulator-max-microvolt = <1100000>;
                regulator-always-on;
                regulator-disable-always-on;
        };
Which one of "always-on" is more important? Later one could add
"regulator-enable-always-even-if-disable-always-on;" ...

The "status" property can be overridden. So maybe the new property
should behave the same way? Something like:
dts-common {
                regulator-status-on = "always-on";
                regulator-boot-on = "boot-on";
}
dst-rev-b {
                regulator-status-on = "default";
                regulator-boot-on = "default";
}

Best regards,
Krzysztof

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to