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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux