Re: [PATCH v6 0/3] watchdog: mt7621-wdt: avoid globals and arch dependencies

From: Arınç ÜNAL
Date: Tue Feb 14 2023 - 03:13:41 EST


On 13.02.2023 23:05, Sergio Paracuellos wrote:
Hi all,

This series make an update in the MT7621 SoC's watchdog driver code. This
SoC already provides a system controller node to access reset status
register needed for the watchdog. Instead of using MIPS architecture
dependent operations in header 'asm/mach-ralink/ralink_regs.h' get
node syscon regmap using 'syscon_regmap_lookup_by_compatible()' and use.
regmap APIS. Driver is also using some globals that are not needed at
all if a driver data structure is used along the code. Hence, add all
new needed stuff inside a new driver data structure. With this changes
driver can be properly compile tested.

Thanks in advance for reviewing this!

v1 of this series here [0].
v2 of this series here [1].
v3 of this series here [2].
v4 of this series here [3].
v5 of this series here [4].

Changes in v6:
- Get regmap syscon using 'syscon_regmap_lookup_by_compatible()'
- Add COMPILE_TEST and dependencies to Kconfig.
- Collect Philippe Mathieu-Daudé 'Reviewed-by' tag for watchdog node
warning fix.

Changes in v5:
- Drop patches related with device tree ABI breakage and only
maintain the rest.

This makes me regret taking mt7621-dts out of drivers/staging. Clearly there were improvements to be made on the MT7621 drivers that would affect the devicetree binding. I don't think one would bat an eye to make dt-binding changes on a devicetree on drivers/staging.

I also want to make a similar change that would break the ABI. I want to split the MediaTek MIPS (currently called Ralink) pinctrl subdrivers further, namely mt7620.c, to split MT7628/MT7688 pinmux data from MT7620, so I can properly document which function can be given to which group(s) for the MT7628/MT7688 SoCs.

This means I've got to introduce a new compatible string for the MT76X8 SoCs which would cause the pinctrl driver to stop working with an old DT for the MT76X8 SoCs. By the nature of the change, I can't make a way around with the code like Sergio did in v6.

Arınç