On 2021-10-28 19:23, Florian Fainelli wrote:
In order to phase out bcm63xx_wdt and use bcm7038_wdt instead,
introduce
a platform_device_id table that allows both names to be matched.
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
---
drivers/watchdog/bcm7038_wdt.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/watchdog/bcm7038_wdt.c
b/drivers/watchdog/bcm7038_wdt.c
index 506cd7ef9c77..2535f450e8a1 100644
--- a/drivers/watchdog/bcm7038_wdt.c
+++ b/drivers/watchdog/bcm7038_wdt.c
@@ -223,6 +223,13 @@ static const struct of_device_id
bcm7038_wdt_match[] = {
};
MODULE_DEVICE_TABLE(of, bcm7038_wdt_match);
+static const struct platform_device_id bcm7038_wdt_devtype[] = {
+ { .name = "bcm7038-wdt" },
+ { .name = "bcm63xx-wdt" },
+ { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(platform, bcm7038_wdt_devtype);
Do we really want "bcm7038-wdt" here? I don't think it will ever be used
as apparently BCM7038 uses DT.
I'd also prefer to have Rob's comment on mapping blocks vs. mapping
registers.
If we were to map whole hardware blocks, we should have per-SoC
bindings and handling registers layouts in a driver. Right now
bcm63xx arch code maps selected part of hardware block that is
meant to match driver's logic (offsets 0x00 and 0x04).