[PATCH v5 04/11] clocksource/drivers: Add HPE GXP timer
Arnd Bergmann
arnd at arndb.de
Fri Apr 22 23:16:28 AEST 2022
On Thu, Apr 21, 2022 at 9:21 PM <nick.hawkins at hpe.com> wrote:
> +
> +static struct platform_device gxp_watchdog_device = {
> + .name = "gxp-wdt",
> + .id = -1,
> +};
> +/*
> + * This probe gets called after the timer is already up and running. This will create
> + * the watchdog device as a child since the registers are shared.
> + */
> +
> +static int gxp_timer_probe(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> +
> + /* Pass the base address (counter) as platform data and nothing else */
> + gxp_watchdog_device.dev.platform_data = local_gxp_timer->counter;
> + gxp_watchdog_device.dev.parent = dev;
> + return platform_device_register(&gxp_watchdog_device);
> +}
I don't understand what this is about: the device should be created from
DT, not defined statically in the code. There are multiple ways of creating
a platform_device from a DT node, or you can allocate one here, but static
definitions are generally a mistake.
I see that you copied this from the ixp4xx driver, so I think we should fix this
there as well.
Arnd
More information about the openbmc
mailing list