Please see inline > -----Original Message----- > From: Conor Dooley <conor@xxxxxxxxxx> > Sent: Saturday, May 27, 2023 9:40 PM > To: Bharat Bhushan <bbhushan2@xxxxxxxxxxx> > Cc: wim@xxxxxxxxxxxxxxxxxx; linux@xxxxxxxxxxxx; robh+dt@xxxxxxxxxx; > krzysztof.kozlowski+dt@xxxxxxxxxx; linux-watchdog@xxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Sunil Kovvuri > Goutham <sgoutham@xxxxxxxxxxx> > 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@xxxxxxxxxx> > > > 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.