Re: [spi-devel-general] adding bits_per_word to struct spi_board_info to mirror struct spi_device

Bryan WU
2007-05-08T07:30:51Z

On Mon, 2007-05-07 at 22:00 -0700, David Brownell wrote:
> On Monday 07 May 2007, Bryan WU wrote:
>
> > currently, there are some duplicated data members in spi_device struct
> > spi_board_info struct. This two structs are confused driver writers and
> > boards driver users.
>
> How would that confusion arise? Only arch/.../board-xxx.c writers
> normally even see spi_board_info; the exception is that someone who
> writes an add-on board -- maybe a USB-to-SPI adapter -- would call the
> rarely used spi_new_device() routine.
>
> Developers writing a SPI drivers -- controller drivers touching some
> SOC's serial controller hardware, or "struct spi_driver" protocol code
> talking to a chip through such a controller -- never see board info.
> They only see "struct spi_device". So I don't see why they would have
> a reason to be confused.
>
> - Dave

Yes, I agree with you.
spi_board_info ---> board writers.
spi_device ---> spi device driver writers.

It is very clear for me, a spi_master driver developer.

But how does a board writer know the capabilities which the target
spi_device driver supports? For example, a board writer use 16
bits_per_word in a spi_board_info, while the spi_device does not support
this. And maybe other special function spi_device driver can provide but
board writer doesn't know or doesn't know how to use this in
spi_board_info.

So can we just use one struct for both board writers and spi device
driver developers?

Thanks
-Bryan Wu