Hi Jiri, On Mon, Jul 27, 2020 at 02:32:05PM +0200, Jiri Pirko wrote: > Mon, Jul 27, 2020 at 02:22:38PM CEST, vadym.koc...@plvision.eu wrote: > >Add PCI interface driver for Prestera Switch ASICs family devices, which > >provides: > > > > - Firmware loading mechanism > > - Requests & events handling to/from the firmware > > - Access to the firmware on the bus level > > > >The firmware has to be loaded each time the device is reset. The driver > >is loading it from: > > > > /lib/firmware/marvell/prestera_fw-v{MAJOR}.{MINOR}.img > > > >The full firmware image version is located within the internal header > >and consists of 3 numbers - MAJOR.MINOR.PATCH. Additionally, driver has > >hard-coded minimum supported firmware version which it can work with: > > > > MAJOR - reflects the support on ABI level between driver and loaded > > firmware, this number should be the same for driver and loaded > > firmware. > > > > MINOR - this is the minimum supported version between driver and the > > firmware. > > > > PATCH - indicates only fixes, firmware ABI is not changed. > > > >Firmware image file name contains only MAJOR and MINOR numbers to make > >driver be compatible with any PATCH version. > > > >Signed-off-by: Oleksandr Mazur <oleksandr.ma...@plvision.eu> > >Signed-off-by: Vadym Kochan <vadym.koc...@plvision.eu> > >Acked-by: Jiri Pirko <j...@mellanox.com> > > You have to remove the tag if you change the patch from last tagged > version... > OK, sorry, makes sense, should I re-spin with v5 or wait when the status is changed to 'Changes Requested' in the patchwork ?
> > >--- > >PATCH v4: > > 1) Get rid of "packed" attribute for the fw image header, it is > > already aligned. > > > > 2) Cleanup not needed initialization of variables which are used in > > readl_poll_timeout() helpers. > > > > 3) Replace #define's of prestera_{fw,ldr}_{read,write} to static funcs. > > > > 4) Use pcim_ helpers for resource allocation > > > > 5) Use devm_zalloc() for struct prestera_fw instance allocation. > > > > 6) Use module_pci_driver(prestera_pci_driver) instead of > > module_{init,exit}. > > > > 7) Use _MS prefix for timeout #define's. > > > > 8) Use snprintf for firmware image path generation instead of using > > macrosses. > > > > 9) Use memcpy_xxxio helpers for IO memory copying. > > > > 10) By default use same build type ('m' or 'y') for > > CONFIG_PRESTERA_PCI which is used by CONFIG_PRESTERA. > > > > [...]