Scott Cheloha <cheloha@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx> > --- > 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@xxxxxxxxxxxxx>