Re: [PATCH v2] dt-bindings: power: Convert bq27xxx dt to yaml

From: Dan Murphy
Date: Mon May 11 2020 - 15:15:41 EST


Sebastian

On 5/11/20 10:30 AM, Sebastian Reichel wrote:
Hi,

On Mon, May 11, 2020 at 09:55:11AM -0500, Dan Murphy wrote:
On 5/11/20 9:57 AM, Sebastian Reichel wrote:
On Mon, May 11, 2020 at 09:29:59AM -0500, Dan Murphy wrote:
On 5/11/20 9:32 AM, Sebastian Reichel wrote:
On Mon, May 11, 2020 at 07:25:06AM -0500, Dan Murphy wrote:
On 5/10/20 11:17 AM, Sebastian Reichel wrote:
This needs is missing the power-supplies property. The N900 DT
contains a bq27200 referencing the charger, so it should fail the DT
check without the property being listed here.
Hmm.  I ran the dt checker specifically on the binding and it did not fail.
Unless I need to build some other DTs as well.
Either I will have the power-supplies property
I just tried it myself. The problem is the way you are specifying
the compatible strings. This is the parsing result:

enum: ['ti,bq27200 - BQ27200', 'ti,bq27210 - BQ27210', 'ti,bq27500 - deprecated,
use revision specific property below', ...

You can see this in Documentation/devicetree/bindings/processed-schema.yaml, which
is generated by running the check. The compatible comments need a # as separation
character like this to generate proper bindings:

properties:
compatible:
enum:
- ti,bq27200 # BQ27200
- ti,bq27210 # BQ27210
- ti,bq27500 # deprecated, use revision specific property below
Well honestly not sure why we need the comment either. These are pretty
self explanatory maybe we should just remove the additional comments
Fine with me.
Ack
Any consideration on just removing the deprecated values?
Let's keep them with their comment for now. Removing them should
start with marking them as depracated in the binding and generating
a runtime warning in the driver, so that people become aware of the
problem. At least for ti,bq27500 we have mainline users At least for
ti,bq27500 we have mainline users.
There are only 2 dts files that have this reference unless we are not sure
which device is actually in use.
DT is considered ABI and one is supposed to be able to boot a new
kernel with an old DT. It's not enough to just update the in-tree
dts files. I suppose we can consider removing support for the old
compatible values after having the warning being printed for some
time and the mainline users being converted to the new binding.

Yes I know. I may have said that before.

After looking at the driver and how this is all stitched together I think I am just going to stick to the DT conversion as is.

I will make the basic changes for conversion but any changes to the compatibles should be done later.

Dan


-- Sebastian