1. 31 Aug, 2014 1 commit
    • Geert Uytterhoeven's avatar
      spi/drivers: Restrict COMPILE_TEST by HAS_DMA where needed · f59838a0
      Geert Uytterhoeven authored
      commit dd1053a9 ("spi/drivers: Enable build of drivers with
      COMPILE_TEST") allows compile-testing drivers on platforms they're not
      meant for.
      
      However, adding "|| COMPILE_TEST" bypasses all other implicit dependencies
      assumed by the platform dependencies before, like HAS_DMA.
      
      If NO_DMA=y:
      
      drivers/built-in.o: In function `atmel_spi_dma_unmap_xfer':
      drivers/spi/spi-atmel.c:915: undefined reference to `dma_unmap_single'
      drivers/spi/spi-atmel.c:918: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `atmel_spi_next_xfer_data':
      drivers/spi/spi-atmel.c:690: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `atmel_spi_dma_map_xfer':
      drivers/spi/spi-atmel.c:890: undefined reference to `dma_map_single'
      drivers/spi/spi-atmel.c:893: undefined reference to `dma_mapping_error'
      drivers/spi/spi-atmel.c:897: undefined reference to `dma_map_single'
      drivers/spi/spi-atmel.c:900: undefined reference to `dma_mapping_error'
      drivers/spi/spi-atmel.c:902: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `atmel_spi_probe':
      drivers/spi/spi-atmel.c:1540: undefined reference to `dma_alloc_coherent'
      drivers/spi/spi-atmel.c:1623: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `atmel_spi_remove':
      drivers/spi/spi-atmel.c:1665: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `ep93xx_spi_dma_finish':
      drivers/spi/spi-ep93xx.c:550: undefined reference to `dma_unmap_sg'
      drivers/built-in.o: In function `ep93xx_spi_dma_prepare':
      drivers/spi/spi-ep93xx.c:516: undefined reference to `dma_map_sg'
      drivers/spi/spi-ep93xx.c:522: undefined reference to `dma_unmap_sg'
      drivers/built-in.o: In function `omap2_mcspi_rx_dma':
      drivers/spi/spi-omap2-mcspi.c:475: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `omap2_mcspi_txrx_dma':
      drivers/spi/spi-omap2-mcspi.c:589: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `omap2_mcspi_transfer_one_message':
      drivers/spi/spi-omap2-mcspi.c:1202: undefined reference to `dma_map_single'
      drivers/spi/spi-omap2-mcspi.c:1204: undefined reference to `dma_mapping_error'
      drivers/spi/spi-omap2-mcspi.c:1211: undefined reference to `dma_map_single'
      drivers/spi/spi-omap2-mcspi.c:1213: undefined reference to `dma_mapping_error'
      drivers/spi/spi-omap2-mcspi.c:1217: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `tegra_spi_deinit_dma_param':
      drivers/spi/spi-tegra114.c:675: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `tegra_spi_copy_spi_rxbuf_to_client_rxbuf':
      drivers/spi/spi-tegra114.c:415: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra114.c:440: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_spi_copy_client_txbuf_to_spi_txbuf':
      drivers/spi/spi-tegra114.c:381: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra114.c:405: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_spi_start_dma_based_transfer':
      drivers/spi/spi-tegra114.c:543: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_slink_deinit_dma_param':
      drivers/spi/spi-tegra20-slink.c:705: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `tegra_slink_copy_spi_rxbuf_to_client_rxbuf':
      drivers/spi/spi-tegra20-slink.c:427: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra20-slink.c:452: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_slink_copy_client_txbuf_to_spi_txbuf':
      drivers/spi/spi-tegra20-slink.c:393: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra20-slink.c:417: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_slink_start_dma_based_transfer':
      drivers/spi/spi-tegra20-slink.c:561: undefined reference to `dma_sync_single_for_cpu'
      
      Add dependencies on HAS_DMA to fix this.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      f59838a0
  2. 16 Aug, 2014 39 commits