mpc8xxx_spi: put max_cs to use
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Tue, 11 Feb 2020 15:20:24 +0000 (15:20 +0000)
committerTom Rini <trini@konsulko.com>
Tue, 31 Mar 2020 14:06:52 +0000 (10:06 -0400)
commit1a7b462dee310e83b5ed45ff5a56aa348d07b03a
tree684bcaae0558cabf14d31eb8a93e0a6707a31893
parent96e68c1621a416cf5b1e933206d23ff86b246fb4
mpc8xxx_spi: put max_cs to use

Currently, max_cs is write-only; it's just set in
mpc8xxx_spi_ofdata_to_platdata and not otherwise used.

My mpc8309 was always resetting during an "sf probe 0". It turns out
dm_gpio_set_dir_flags() was being called with garbage, since nothing
had initialized priv->gpios[0] - our device tree used "cs-gpios"
rather than "gpios", so gpio_request_list_by_name() had returned 0.

That would have been a lot easier to figure out if the chip select
index was sanity checked, so rename max_cs to cs_count, and reject a
xfer with a too large cs index.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
drivers/spi/mpc8xxx_spi.c