Re: [PATCH V1 04/10] watchdog: da9061: watchdog driver (RFC)

From: Guenter Roeck
Date: Fri Oct 07 2016 - 20:22:34 EST

On 10/07/2016 04:35 PM, Dmitry Torokhov wrote:
On Fri, Oct 07, 2016 at 06:01:23PM +0000, Steve Twiss wrote:
On 07 October 2016 18:02, Guenter Roeck wrote:

On 06 October 2016 19:49, Guenter Roeck wrote:
On Thu, Oct 06, 2016 at 04:28:14PM +0000, Steve Twiss wrote:
I am using the compatible string to pick a different configuration .data block:
{ .compatible = "dlg,da9062-watchdog", .data = &da9062_watchdog_info },
{ .compatible = "dlg,da9061-watchdog", .data = &da9061_watchdog_info },

But, it is just my opinion to keep the "name" different.
This will not be my decision if accepted into the Linux kernel, but I would like to
at least be consistent for DA9061 and DA9062 so ... is this an issue?

FWIW the driver doesn't really need to be updated in the first place.
A compatible statement listing both da9061 and da9062 would do it.

I will make the changes you requested: deprecate the existing compatibility
for da9062-watchdog and make a new compatibility string which combines both
da9061 and da9062.

That is not what I asked for.

Ok. Did you mean separate compatible statements with data sections pointing at
the same structure?

Like this:
{ .compatible = "dlg,da9062-watchdog", .data = &da9062_watchdog_info },
{ .compatible = "dlg,da9061-watchdog", .data = &da9062_watchdog_info },

So this would be the only change needed in the device driver.

If there is no change in IP block then I do not see why we need to
introduce new names at all. The dts can specify fallback compatible
stting. Note, it is called *compatible* not "model" or "device id" or
whatever. So you can just say in DTS:

compatible = "dlg,da9061-watchdog", "dlg,da9062-watchdog";

and leave the driver alone. That goes for input part as well. You only
need to add new compatible to the driver when it in fact is
*incompatible* with the existing blocks.

Yes, exactly.