[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57d0775a-0450-4384-b4ab-b6f2d976499f@roeck-us.net>
Date: Tue, 7 Oct 2025 06:41:46 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Wim Van Sebroeck <wim@...ux-watchdog.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-watchdog@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Pavan Kondeti <pavan.kondeti@....qualcomm.com>,
Neil Armstrong <neil.armstrong@...aro.org>
Subject: Re: [PATCH v2] watchdog: Add driver for Gunyah Watchdog
On 10/6/25 23:52, Hrishabh Rajput wrote:
>
> On 10/6/2025 7:48 PM, Guenter Roeck wrote:
>> On 10/6/25 00:37, Hrishabh Rajput via B4 Relay wrote:
>>> From: Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>
>>>
>>> On Qualcomm SoCs running under the Gunyah hypervisor, access to watchdog
>>> through MMIO is not available on all platforms. Depending on the
>>> hypervisor configuration, the watchdog is either fully emulated or
>>> exposed via ARM's SMC Calling Conventions (SMCCC) through the Vendor
>>> Specific Hypervisor Service Calls space.
>>>
>>> When Gunyah is not present or Gunyah emulates MMIO-based watchdog, we
>>> expect MMIO watchdog device to be present in the devicetree. If we
>>> detect this device node, we don't proceed ahead. Otherwise, we go ahead
>>> and invoke GUNYAH_WDT_STATUS SMC to initiate the discovery of the
>>> SMC-based watchdog.
>>>
>>> Add driver to support the SMC-based watchdog provided by the Gunyah
>>> Hypervisor. module_exit() is intentionally not implemented as this
>>> driver is intended to be a persistent module.
>>>
>>> Signed-off-by: Hrishabh Rajput <hrishabh.rajput@....qualcomm.com>
>>> ---
>>> Gunyah is a Type-I hypervisor which was introduced in the patch series
>>> [1]. It is an open source hypervisor. The source repo is available at
>>> [2].
>>>
>>> The Gunyah Hypervisor doesn't allow its Virtual Machines to directly
>>> access the MMIO watchdog. It either provides the fully emulated MMIO
>>> based watchdog interface or the SMC-based watchdog interface depending
>>> on the hypervisor configuration.
>>> The SMC-based watchdog follows ARM's SMC Calling Convention (SMCCC)
>>> version 1.1 and uses Vendor Specific Hypervisor Service Calls space.
>>>
>>> This patch series adds support for the SMC-based watchdog interface
>>> provided by the Gunyah Hypervisor.
>>>
>>> This series is tested on SM8750 platform.
>>>
>>> [1]
>>> https://lore.kernel.org/all/20240222-gunyah-v17-0-1e9da6763d38@quicinc.com/
>>>
>>> [2]
>>> https://github.com/quic/gunyah-hypervisor
>>> ---
>>> Changes in v2:
>>> - Move away from platform driver model since the devicetree overlay does
>>> not happen by default.
>>
>> This is just wrong. Platform drivers do not depend on devicetree. I am not even
>> going to review the rest of the driver.
>
> Thanks for pointing out the mistake here. Platform drivers are independent of devicetree. Therefore the line you've pointed to is wrong as it erroneously portrays that the platform drivers are dependent on devicetrees. It is a mistake and I would rephrase it to following to make the intent clearer:
>
> "Do not depend on devicetree to discover (and probe) watchdog as devicetree overlay does not happen by default. Instead invoke GUNYAH_WDT_STATUS SMC Call to discover (and initialize) the watchdog."
>
Let _me_ rephrase: A platform driver does not depend on devicetree.
This can and should be a platform driver.
Guenter
Powered by blists - more mailing lists