Re: [PATCH 1/2] misc: ezport-firmware: new driver
From: Sebastian Reichel
Date: Fri Mar 23 2018 - 10:06:43 EST
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@xxxxxxxxxxxxxxx>
> > ---
> > 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:
signature.asc
Description: PGP signature