Re: [PATCH 1/2] misc: ezport-firmware: new driver

Sebastian Reichel
2018-03-23T14:06:32Z

[-- Attachment #1: Type: text/plain, Size: 2052 bytes --]

Hi,

On Fri, Mar 23, 2018 at 02:17:12PM +0100, Greg Kroah-Hartman wrote:
> On Tue, Mar 20, 2018 at 06:22:00PM +0100, Sebastian Reichel wrote:
> > General Electric Healthcare's PPD has a secondary processor from
> > NXP's Kinetis K20 series. It's firmware can be updated from Linux
> > using the EzPort interface. This driver implements the firmware
> > updating process.
> >
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> > ---
> > Documentation/devicetree/bindings/misc/ge-achc.txt | 19 +-
>
> Bindings should be in a separate patch, right?

Right.

> > +static int ezport_read_data(struct spi_device *spi, u32 address,
> > + u8 *buffer, size_t size)
> > +{
> > + struct spi_transfer xfers[2] = {};
>
> You can send SPI data from the stack?

I don't think so:

/**
* struct spi_transfer - a read/write buffer pair
* @tx_buf: data to be written (dma-safe memory), or NULL
* @rx_buf: data to be read (dma-safe memory), or NULL

IIUIC only spi_write_then_read() may use the stack, since the
function copies the provided buffer to a second, DMA capable
buffer. That function is obviously not good for big buffers,
though.

> > + u8 *query = kmalloc(EZPORT_FAST_READ_SIZE, GFP_KERNEL);
> > + int ret;
> > +
> > + if (!query)
> > + return -ENOMEM;
> > +
> > + query[0] = EZPORT_CMD_FAST_READ;
> > + query[1] = address >> 16;
> > + query[2] = address >> 8;
> > + query[3] = address >> 0;
> > + query[4] = EZPORT_DUMMY;
> > +
> > + xfers[0].len = EZPORT_FAST_READ_SIZE;
> > + xfers[0].tx_buf = query;
> > +
> > + xfers[1].len = size;
> > + xfers[1].rx_buf = buffer;
> > +
> > + ret = spi_sync_transfer(spi, xfers, 2);
> > +
> > + kfree(query);
> > +
> > + return ret;
> > +}
> > +static DEVICE_ATTR_WO(update_fw);
> > +static DEVICE_ATTR_RO(verify_fw);
>
> New sysfs attributes need Documentation/ABI updates please.

Ok.

> Also please fix up the kbuild-reported build errors.

Of course.

> thanks,

Thanks for the review,

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]