android_kernel_google_msm/drivers/spi
Fabio Estevam 4cc122ac91 spi/imx: Fix spi-imx when the hardware SPI chipselects are used
commit 22a85e4cd5 (spi/imx: add device tree probe support) broke spi-imx usage
when the SPI chipselect is the one internal to the controller.

On a mx31pdk board the following error is seen:

Registering mxc_nand as whole device
------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x4c/0xf4()
autorequest GPIO-0
Modules linked in:
[<c0014410>] (unwind_backtrace+0x0/0xf4) from [<c0025754>] (warn_slowpath_common+0x4c/0x64)
[<c0025754>] (warn_slowpath_common+0x4c/0x64) from [<c0025800>] (warn_slowpath_fmt+0x30/0x40)
[<c0025800>] (warn_slowpath_fmt+0x30/0x40) from [<c0198688>] (gpio_ensure_requested+0x4c/0xf4)
[<c0198688>] (gpio_ensure_requested+0x4c/0xf4) from [<c01988c8>] (gpio_direction_output+0xa0/0x138)
[<c01988c8>] (gpio_direction_output+0xa0/0x138) from [<c01ed198>] (spi_imx_setup+0x38/0x4c)
[<c01ed198>] (spi_imx_setup+0x38/0x4c) from [<c01eb5d0>] (spi_setup+0x38/0x50)
[<c01eb5d0>] (spi_setup+0x38/0x50) from [<c01eb85c>] (spi_add_device+0x94/0x124)
[<c01eb85c>] (spi_add_device+0x94/0x124) from [<c01eb960>] (spi_new_device+0x74/0xac)
[<c01eb960>] (spi_new_device+0x74/0xac) from [<c01eb9b8>] (spi_match_master_to_boardinfo+0x20/0x40)
[<c01eb9b8>] (spi_match_master_to_boardinfo+0x20/0x40) from [<c01eba88>] (spi_register_master+0xb0/0x104)
[<c01eba88>] (spi_register_master+0xb0/0x104) from [<c01ec0b4>] (spi_bitbang_start+0x104/0x17c)
[<c01ec0b4>] (spi_bitbang_start+0x104/0x17c) from [<c02c2c4c>] (spi_imx_probe+0x2fc/0x404)
[<c02c2c4c>] (spi_imx_probe+0x2fc/0x404) from [<c01c2498>] (platform_drv_probe+0x18/0x1c)
[<c01c2498>] (platform_drv_probe+0x18/0x1c) from [<c01c1058>] (driver_probe_device+0x78/0x174)
[<c01c1058>] (driver_probe_device+0x78/0x174) from [<c01c11e0>] (__driver_attach+0x8c/0x90)
[<c01c11e0>] (__driver_attach+0x8c/0x90) from [<c01c0860>] (bus_for_each_dev+0x60/0x8c)
[<c01c0860>] (bus_for_each_dev+0x60/0x8c) from [<c01c0088>] (bus_add_driver+0xa0/0x288)
[<c01c0088>] (bus_add_driver+0xa0/0x288) from [<c01c179c>] (driver_register+0x78/0x18c)
[<c01c179c>] (driver_register+0x78/0x18c) from [<c0008490>] (do_one_initcall+0x34/0x178)
[<c0008490>] (do_one_initcall+0x34/0x178) from [<c03a5204>] (kernel_init+0x74/0x118)
[<c03a5204>] (kernel_init+0x74/0x118) from [<c000f65c>] (kernel_thread_exit+0x0/0x8)
---[ end trace 759f924b30fd5a44 ]---

Fix this issue by using the original chip select logic and make spi-imx to work again.

Tested on a mx31pdk that uses the hardware SPI chipselect pins and also
on a mx27pdk that uses GPIO as SPI chipselect.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2011-09-15 15:54:38 -06:00
..
Kconfig spi/imx: use soc name in spi device type naming scheme 2011-07-14 13:47:02 -06:00
Makefile spi: remove obsolete spi-s3c24xx-gpio driver 2011-07-04 10:52:58 -06:00
spi-altera.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-ath79.c spi: Convert uses of struct resource * to resource_size(ptr) 2011-06-10 23:43:41 -06:00
spi-atmel.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-au1550.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-bfin-sport.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-bfin5xx.c spi/bfin_spi: uninline fat queue funcs 2011-06-17 08:35:58 -06:00
spi-bitbang-txrx.h spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-bitbang.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-butterfly.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-coldfire-qspi.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-davinci.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-dw-mid.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-dw-mmio.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-dw-pci.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-dw.c spi/dw: Add spi number into spi irq desc 2011-07-08 13:09:00 -06:00
spi-dw.h spi/dw: Add spi number into spi irq desc 2011-07-08 13:09:00 -06:00
spi-ep93xx.c Merge branch 'ep93xx-dma' into spi/next 2011-06-09 12:42:57 -06:00
spi-fsl-espi.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-fsl-lib.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-fsl-lib.h spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-fsl-spi.c spi/fsl_spi: fix CPM spi driver 2011-07-05 11:59:17 -06:00
spi-gpio.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-imx.c spi/imx: Fix spi-imx when the hardware SPI chipselects are used 2011-09-15 15:54:38 -06:00
spi-lm70llp.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-mpc52xx-psc.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-mpc52xx.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-mpc512x-psc.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-nuc900.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-oc-tiny.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-omap-100k.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-omap-uwire.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-omap2-mcspi.c spi: Convert uses of struct resource * to resource_size(ptr) 2011-06-10 23:43:41 -06:00
spi-orion.c spi: Convert uses of struct resource * to resource_size(ptr) 2011-06-10 23:43:41 -06:00
spi-pl022.c spi/pl022: remove function cannot exit 2011-08-02 14:54:11 +01:00
spi-ppc4xx.c spi: Convert uses of struct resource * to resource_size(ptr) 2011-06-10 23:43:41 -06:00
spi-pxa2xx-pci.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-pxa2xx.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-s3c24xx-fiq.h spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-s3c24xx-fiq.S spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-s3c24xx.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-s3c64xx.c Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 2011-07-22 14:52:44 -07:00
spi-sh-msiof.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-sh-sci.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-sh.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-stmp.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-tegra.c spi/tegra: Use engineering names in DT compatible property 2011-07-05 23:38:30 -06:00
spi-ti-ssp.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-tle62x0.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-topcliff-pch.c spi/topcliff-pch: Support new device ML7223 IOH 2011-06-16 18:49:23 -06:00
spi-txx9.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-xilinx.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spidev.c spi: reorganize drivers 2011-06-06 01:16:30 -06:00