tree 9b790675f41496d1056aa444232202dc14913ed8
parent 081069ff817ea7434016c482156e1ef0a7ffb4f3
parent fd30c37331ad8ed7c7e0e4c21f5ee309fec21d7d
author Linus Torvalds <torvalds@linux-foundation.org> 1400666035 +0900
committer Linus Torvalds <torvalds@linux-foundation.org> 1400666035 +0900
mergetag object fd30c37331ad8ed7c7e0e4c21f5ee309fec21d7d
 type commit
 tag spi-v3.15-rc5
 tagger Mark Brown <broonie@linaro.org> 1400082456 +0100
 
 spi: Fixes for v3.15
 
 A few core fixes around outlying cases here, nothing that should affect
 most users but useful fixes.  The diffstat is rather larger than one
 might hope due some simple code motion in the fix for !CONFIG_DMA, the
 actual meaningful change is much smaller.
 
  - Fix handling of unsupported dual and quad mode support on slave
    registration so that drivers that can degrade gracefully do so,
    preventing regressions for drivers this is added.
  - Fix build in !CONFIG_DMA cases following addition of generic DMA
    mapping support.
  - Fix error handling for queue creation which due to wider kernel
    changes can be triggered more easily.
  - A couple of driver specific fixes.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJTc5CkAAoJELSic+t+oim9p+cP/2qp1ud28ZPSRk4bxcjoNZng
 0bR7JF5Ji0t2Md7KkvJx4/1k1A7OvAk/i3WM2TUHkjQDcUaIhfoYEEViie2xzX4H
 UN9PvCvE+NcEDewQfos54mT7lQgWt2D31NsfQLAK/wtQBauj7yEDpqToGzvMRdz6
 4ni+LG9/TDu7PN76pNzV0yth5ckrjAjSC9TZH5B0N7S80aZurGG2EkJU6UoyOnK1
 zFxHtUq+lBJw+DsOF8J6fIRCexoLyv1vw5cMO5AqXW6OPzCD7WEt0kpm2L4y3Ois
 NcOf3rnEJLHd8+4BeICgT6e9LStyeHhtRbGJB6b+YvBr0dR309+vAxSrIQvlFi7T
 U+f4CdbxlBWW6u07R39iUM+OPMYic4BE3gE9Z7NxlwdLWKJVUNvQ6ICazLnUITbL
 Qoqmk7cERMKeOjTtqm/fFI27tkvEq+rqhdRBzOldWxweuoeaSFnBFseWd0nAj3M8
 KrZtVuBcoldDpzx05cF/nwrYgbdScAJYp9XAepZRLBidb7Epyh78t6uWJWnyOz/N
 VZvgw+DkX2v6Gyhrb5/+c6jt6T1NGdbBILX7vTG1ZqWn0VanNP6oFiCTJvT2lOsm
 wQQ7HrTKUQJsJSV015l9rGnYZeg3h1gDRnsnE8SPc5wWTxJ+60U0Pvd51iE6l4uR
 Kb+pVOx+xVh9kiEgJwhV
 =WbM5
 -----END PGP SIGNATURE-----

Merge tag 'spi-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi fixes from Mark Brown:
 "A few core fixes around outlying cases here, nothing that should
  affect most users but useful fixes.  The diffstat is rather larger
  than one might hope due some simple code motion in the fix for
  !CONFIG_DMA, the actual meaningful change is much smaller.

   - Fix handling of unsupported dual and quad mode support on slave
     registration so that drivers that can degrade gracefully do so,
     preventing regressions for drivers this is added.
   - Fix build in !CONFIG_DMA cases following addition of generic DMA
     mapping support.
   - Fix error handling for queue creation which due to wider kernel
     changes can be triggered more easily.
   - A couple of driver specific fixes"

* tag 'spi-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi/pxa2xx: Prevent DMA from transferring too many bytes
  spi: core: Don't destroy master queue if we fail to create it
  spi: qup: Fix return value checking for pm_runtime_get_sync()
  spi: core: Protect DMA code by #ifdef CONFIG_HAS_DMA
  spi: core: Ignore unsupported Dual/Quad Transfer Mode bits
