Messages in this thread | | | From | Bharat Bhushan <> | Subject | RE: [EXT] Re: [PATCH 1/2 v8] dt-bindings: watchdog: marvell GTI system watchdog driver | Date | Mon, 29 May 2023 06:14:07 +0000 |
| |
Please see inline
> -----Original Message----- > From: Conor Dooley <conor@kernel.org> > Sent: Saturday, May 27, 2023 9:40 PM > To: Bharat Bhushan <bbhushan2@marvell.com> > Cc: wim@linux-watchdog.org; linux@roeck-us.net; robh+dt@kernel.org; > krzysztof.kozlowski+dt@linaro.org; linux-watchdog@vger.kernel.org; > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Sunil Kovvuri > Goutham <sgoutham@marvell.com> > Subject: Re: [EXT] Re: [PATCH 1/2 v8] dt-bindings: watchdog: marvell GTI system > watchdog driver > > On Sat, May 27, 2023 at 02:53:25PM +0000, Bharat Bhushan wrote: > > From: Conor Dooley <conor@kernel.org> > > > On Fri, May 26, 2023 at 11:56:25AM +0530, Bharat Bhushan wrote: > > > > > +properties: > > > > + compatible: > > > > + enum: > > > > + - marvell,cn9670-wdt > > > > + - marvell,cn9880-wdt > > > > + - marvell,cnf9535-wdt > > > > + - marvell,cn10624-wdt > > > > + - marvell,cn10308-wdt > > > > + - marvell,cnf10518-wdt > > > > > > static const struct of_device_id gti_wdt_of_match[] = { > > > { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, > > > { .compatible = "marvell,cn9880-wdt", .data = &match_data_octeontx2}, > > > { .compatible = "marvell,cnf9535-wdt", .data = &match_data_octeontx2}, > > > { .compatible = "marvell,cn10624-wdt", .data = &match_data_cn10k}, > > > { .compatible = "marvell,cn10308-wdt", .data = &match_data_cn10k}, > > > { .compatible = "marvell,cnf10518-wdt", .data = > > > &match_data_cn10k}, > > > > > > This is a fat hint that you should be using fallback compatibles here. > > > You even had a fallback setup in your last revision, but you seem to > > > have removed it alongside the removal of the wildcards. Why did you do > that? > > > > Not sure I understand this comment, Compatible in last version was as below: > > > > + properties: > > + compatible: > > + oneOf: > > + - const: marvell,octeontx2-wdt > > + - items: > > + - enum: > > + - marvell,octeontx2-95xx-wdt > > + - marvell,octeontx2-96xx-wdt > > + - marvell,octeontx2-98xx-wdt > > + - const: marvell,octeontx2-wdt > > + - const: marvell,cn10k-wdt > > + - items: > > + - enum: > > + - marvell,cn10kx-wdt > > + - marvell,cnf10kx-wdt > > + - const: marvell,cn10k-wdt > > > > By fallback do you mean " const: marvell,cn10k-wdt" and > > "const: marvell,octeontx2-wdt" ? If yes I removed because "octeontx2" > > and "cn10k" are soc family name and no a specific soc. > > No, I meant that you should permit > compatible = "marvell,cn9880-wdt", "marvell,cn9670-wdt"; and > compatible = "marvell,cnf9535-wdt", "marvell,cn9670-wdt"; and > compatible = "marvell,cn9670-wdt"; > so the driver only needs to contain > { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, > instead of > { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, > { .compatible = "marvell,cn9880-wdt", .data = &match_data_octeontx2}, > { .compatible = "marvell,cnf9535-wdt", .data = &match_data_octeontx2}, > > Note that using fallback compatibles is separate from using wildcards, and I was > not suggesting that you go back to wildcards ;)
Fallback you mentioned make code look simple. Is below representation correct for above mentioned fallback?
properties: compatible: oneOf: - const: marvell,cn9670-wdt - items: - enum: - marvell,cn9880-wdt - marvell,cnf9535-wdt - const: marvell,cn9670-wdt - const: marvell,cn10624-wdt - items: - enum: - marvell,cn10308-wdt - marvell,cnf10518-wdt - const: marvell,cn10624-wdt
And driver will have { .compatible = "marvell,cn9670-wdt", .data = &match_data_octeontx2}, { .compatible = "marvell,cn10624-wdt", .data = &match_data_cn10k},
Thanks -Bharat
> > Cheers, > Conor.
| |