Re: [PATCHv4 5/6] misc: nxp-ezport: introduce EzPort support

From: Greg Kroah-Hartman
Date: Fri Jun 11 2021 - 05:06:17 EST


On Wed, Jun 09, 2021 at 05:12:34PM +0200, Sebastian Reichel wrote:
> Add new EzPort support code, which can be used to do
> firmware updates of Kinetis coprocessors. The driver
> is not usable on its own and thus not user selectable.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>


Why is this a separate module if only 1 driver needs this? Why not keep
it together until you have a second user?

And this module is not able to be unloaded ever? Why not?

> +int ezport_flash(struct spi_device *spi, struct gpio_desc *reset, const char *fwname)
> +{
> + int ret;
> +
> + ret = ezport_start_programming(spi, reset);
> + if (ret)
> + return ret;
> +
> + ret = ezport_firmware_load(spi, fwname);
> +
> + ezport_stop_programming(spi, reset);
> +
> + if (ret)
> + dev_err(&spi->dev, "Failed to flash firmware: %d\n", ret);

%pe perhaps instead of %d?



> + else
> + dev_dbg(&spi->dev, "Finished FW flashing!\n");
> +
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(ezport_flash);
> +
> +/**
> + * ezport_verify - verify device firmware
> + * @spi: SPI device for NXP EzPort interface
> + * @reset: the gpio connected to the device reset pin
> + * @fwname: filename of the firmware that should be compared
> + *
> + * Context: can sleep
> + *
> + * Return: 0 on success; negative errno on failure
> + */
> +int ezport_verify(struct spi_device *spi, struct gpio_desc *reset, const char *fwname)
> +{
> + int ret;
> +
> + ret = ezport_start_programming(spi, reset);
> + if (ret)
> + return ret;
> +
> + ret = ezport_firmware_verify(spi, fwname);
> +
> + ezport_stop_programming(spi, reset);
> +
> + if (ret)
> + dev_err(&spi->dev, "Failed to verify firmware: %d\n", ret);

Same here, %pe?


> +
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(ezport_verify);
> +
> +MODULE_DESCRIPTION("NXP EzPort protocol support");
> +MODULE_AUTHOR("Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>");
> +MODULE_LICENSE("GPL");
> diff --git a/include/linux/platform_data/nxp-ezport.h b/include/linux/platform_data/nxp-ezport.h
> new file mode 100644
> index 000000000000..b0a2af9c1285
> --- /dev/null
> +++ b/include/linux/platform_data/nxp-ezport.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */

This license does NOT match up with the .c file's license. Why?

thanks,

greg k-h