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