[PATCH v2 3/4] powerpc/pseries: register pseries-wdt device with platform bus
Nathan Lynch
nathanl at linux.ibm.com
Wed Jun 22 01:30:34 AEST 2022
Scott Cheloha <cheloha at linux.ibm.com> writes:
> PAPR v2.12 defines a new hypercall, H_WATCHDOG. The hypercall permits
> guest control of one or more virtual watchdog timers.
>
> These timers do not conform to PowerPC device conventions. They are
> not affixed to any extant bus, nor do they have full representation in
> the device tree.
>
> As a workaround we represent them as platform devices.
>
> This patch registers a single platform device, "pseries-wdt", with the
> platform bus if the FW_FEATURE_WATCHDOG flag is set.
>
> A driver for this device, "pseries-wdt", will be introduced in a
> subsequent patch.
>
> Signed-off-by: Scott Cheloha <cheloha at linux.ibm.com>
> ---
> arch/powerpc/platforms/pseries/setup.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
> index afb074269b42..233c64f59815 100644
> --- a/arch/powerpc/platforms/pseries/setup.c
> +++ b/arch/powerpc/platforms/pseries/setup.c
> @@ -14,6 +14,7 @@
>
> #include <linux/cpu.h>
> #include <linux/errno.h>
> +#include <linux/platform_device.h>
> #include <linux/sched.h>
> #include <linux/kernel.h>
> #include <linux/mm.h>
> @@ -169,6 +170,22 @@ static void __init fwnmi_init(void)
> #endif
> }
>
> +/*
> + * Affix a device for the first timer to the platform bus if
> + * we have firmware support for the H_WATCHDOG hypercall.
> + */
> +static struct platform_device *pseries_wdt_pdev;
> +
> +static __init int pseries_wdt_init(void)
> +{
> + if (!firmware_has_feature(FW_FEATURE_WATCHDOG))
> + return 0;
> + pseries_wdt_pdev = platform_device_register_simple("pseries-wdt",
> + 0, NULL, 0);
> + return 0;
> +}
> +machine_subsys_initcall(pseries, pseries_wdt_init);
> +
Seems like we don't need pseries_wdt_pdev as it's unused elsewhere? But
that's quite minor.
Reviewed-by: Nathan Lynch <nathanl at linux.ibm.com>
More information about the Linuxppc-dev
mailing list