Thread (4 messages) 4 messages, 4 authors, 2010-09-30
DORMANTno replies

[PATCH] spi/pl022: compare bitwidth to enums

From: Kevin Wells <hidden>
Date: 2010-09-30 16:21:27
Also in: linux-spi

quoted
quoted
The enums from <linux/amba/pl022.h> are actually off-by-one
since bitwidth 4 is defined as 0x03, causing weirdness when
we were trying out some 9-bit peripheral. Fix this by
comparing to the enum values rather than hardcoded values
and also fixing the enum to something reasonable.

Signed-off-by: Linus Walleij <redacted>
(...)
- ? ? ? if (chip_info->data_size <= 8) {
+ ? ? ? if (chip_info->data_size <= SSP_DATA_BITS_8) {
? ? ? ? ? ? ? ?dev_dbg(&spi->dev, "1 <= n <=8 bits per word\n");
? ? ? ? ? ? ? ?chip->n_bytes = 1;
? ? ? ? ? ? ? ?chip->read = READING_U8;
? ? ? ? ? ? ? ?chip->write = WRITING_U8;
- ? ? ? } else if (chip_info->data_size <= 16) {
+ ? ? ? } else if (chip_info->data_size <= SSP_DATA_BITS_16) {
I just realized that Kevin Wells patch actually patch away this problem
so merge his patch and disregard this for the optimal solution.
quoted
?enum ssp_data_size {
- ? ? ? SSP_DATA_BITS_4 = 0x03, SSP_DATA_BITS_5, SSP_DATA_BITS_6,
+ ? ? ? SSP_DATA_BITS_4 = 0x04, SSP_DATA_BITS_5, SSP_DATA_BITS_6,
This is not good because this is used for default register
settings too (I didn't notice, typical).
And it creates a 1:1 mapping of name to the same number.  Insane!
Just use the integer number directly.  :-)
The spi->mode patch I submitted a few weeks ago actually removed the
data_size field from chip_info and uses spi->data_bus_bits instead.
The values passed into the dss field for the control0 register
subtracts 1 from the spi->data_bus_bits to get the correct value now.

Reference: 09/16/2010
[PATCH] spi: amba_pl022: Add spi->mode support to AMBA SPI driver
quoted
If anyone still wants a patch for older kernels I can provide a
patch against 2.6.36-rc6 with just the first two hunks.

Yours,
Linus Walleij


--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

--------------------------------------------------------------------------
----
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
spi-devel-general mailing list
spi-devel-general at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help