Some displays need 9 bit long SPI transfers (Command/Data flag plus
8 bit data). FBTFT has emulation code in case the controller only
supports 8 bit transfers, but this is only used if the controller
setup function reports an error if bits_per_word is set to 9.

SPI:
Report unsupported bits_per_word settings in spi_setup. Currently the
SPI core only checks bits_per_word on transfer, but not on setup.

FBTFT:
Replace invocations of master->setup(...) with spi_setup(...). This
fixes a possible crash (master may be NULL), and fixes the bpw issue
if the patch to SPI core is applied.

Tested on RPi B with an Ilitek9341 based TFT display in 9 bit mode.

Crossposting to linux-spi and staging ML, as the FBTFT 9 bit fix
depends on the change in SPI core.

Stefan Brüns (2):
  spi: check bits_per_word in spi_setup
  staging/fbtft: use spi_setup instead of direct call to master->setup

 drivers/spi/spi.c                    | 27 +++++++++++++++++++--------
 drivers/staging/fbtft/fb_watterott.c |  4 ++--
 drivers/staging/fbtft/fbtft-core.c   |  4 ++--
 drivers/staging/fbtft/flexfb.c       |  4 ++--
 4 files changed, 25 insertions(+), 14 deletions(-)

-- 
2.1.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to