[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a7633abf-0005-423b-b152-e8c70aa5c27a@quicinc.com>
Date: Mon, 6 Oct 2025 15:33:59 +0530
From: Pavan Kondeti <pavan.kondeti@....qualcomm.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: hrishabh.rajput@....qualcomm.com, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Guenter Roeck <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, 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 Mon, Oct 06, 2025 at 05:56:42PM +0900, Krzysztof Kozlowski wrote:
> On 06/10/2025 16:37, Hrishabh Rajput via B4 Relay wrote:
> > +
> > +static int __init gunyah_wdt_init(void)
> > +{
> > + struct arm_smccc_res res;
> > + struct watchdog_device *wdd;
> > + struct device_node *np;
> > + int ret;
> > +
> > + np = of_find_compatible_node(NULL, NULL, "qcom,kpss-wdt");
> > + if (np) {
> > + of_node_put(np);
> > + return -ENODEV;
> > + }
> > +
> > + np = of_find_compatible_node(NULL, NULL, "arm,sbsa-gwdt");
> > + if (np) {
> > + of_node_put(np);
> > + return -ENODEV;
> > + }
> > +
> > + ret = gunyah_wdt_call(GUNYAH_WDT_STATUS, 0, 0, &res);
> > + if (ret)
> > + return -ENODEV;
>
> No, your hypervisor driver (which you have) should start the module via
> adding platform/aux/something devices. Now you are running this on every
> machine, which is clearly wrong...
>
This is a good point. Thanks for bringing it up. We don't have a
hypervisor glue driver (yet!) that can add an aux device. Based on v1
feedback, we would like to be a standalone module that can self discover
gunyah hypercall interface.
Currently this driver depends on ARCH_QCOM || COMPILE_TEST. So,
technically this can be built and loaded on all non-Qualcomm machines.
We can make the STATUS SMCC before looking for the other watchdog
devices and fail early.
Our Gunyah glue driver [1] do make SMCC call to establish that we
are actually a guest under Gunyah. Since our intention here is to
support watchdog on as many as platform as possible, it is better not to
tie this with glue driver and make it a stand alone and self discovery
module.
If this is not an acceptable solution (Please let us know), we can find other
ways to limit it to only work on Qualcomm machines. For ex: Socinfo
platform device is added from SMEM driver which make it only probed on
Qualcomm machines. We can look into this.
Thanks,
Pavan
[1]
https://lore.kernel.org/all/20240222-gunyah-v17-4-1e9da6763d38@quicinc.com/
Powered by blists - more mailing lists