Re: [PATCH v3 1/1] gpio: mpfs: add polarfire soc gpio support

Marc Zyngier
2022-07-16T10:44:50Z

On Sat, 16 Jul 2022 08:11:13 +0100,
<lewis.hanly@microchip.com> wrote:
>
> From: Lewis Hanly <lewis.hanly@microchip.com>
>
> Add a driver to support the Polarfire SoC gpio controller.
>
> Signed-off-by: Lewis Hanly <lewis.hanly@microchip.com>
> ---
> drivers/gpio/Kconfig | 9 +
> drivers/gpio/Makefile | 1 +
> drivers/gpio/gpio-mpfs.c | 361 +++++++++++++++++++++++++++++++++++++++
> 3 files changed, 371 insertions(+)
> create mode 100644 drivers/gpio/gpio-mpfs.c

A couple of other nits:

> +static const struct of_device_id mpfs_of_ids[] = {
> + { .compatible = "microchip,mpfs-gpio", },

Where is the DT binding for this?

> + { /* end of list */ }
> +};
> +
> +static struct platform_driver mpfs_gpio_driver = {
> + .probe = mpfs_gpio_probe,
> + .driver = {
> + .name = "microchip,mpfs-gpio",
> + .of_match_table = mpfs_of_ids,
> + },
> + .remove = mpfs_gpio_remove,

No, please. You cannot enforce that there are no interrupts being used
(and nothing checks for this), and you're pretty much guaranteed that
the system will catch fire on the first interrupt being delivered.
Moreover, your "remove" callback only turns the clock off, which is
yet another nail on that coffin.

M.

--
Without deviation from the norm, progress is not possible.