spi: Fixes for v4.8

As well as the usual driver fixes there's a couple of non-trivial core
fixes in here:

 - Fixes for issues reported by Julia Lawall in the changes that were
   sent last time to fix interaction between the bus lock and the
   locking done for the SPI thread.  I'd let this one cook for a while
   to make sure nothing else came up in testing.
 - A fix from Sien Wu arithmetic overflows when calculating the timeout
   for larger transfers (espcially common with slow buses with flashes
   on them).
Merge remote-tracking branches 'spi/fix/lock', 'spi/fix/maintainers', 'spi/fix/put', 'spi/fix/pxa2xx', 'spi/fix/sh-msiof' and 'spi/fix/timeout' into spi-linus