[PATCH] SPI: fix build with CONFIG_SPI_FSL_ESPI=m

Kumar Gala galak at kernel.crashing.org
Thu Nov 24 18:22:57 EST 2011


On Aug 23, 2011, at 3:49 AM, Jiri Slaby wrote:

> On 08/23/2011 09:59 AM, Jiri Slaby wrote:
>> When spi_fsl_espi is chosen to be built as a module, there is a build
>> error because we test only CONFIG_SPI_FSL_ESPI in declaration of
>> struct mpc8xxx_spi in drivers/spi/spi_fsl_lib.h.
>> 
>> We need to add a test for CONFIG_SPI_FSL_ESPI_MODULE too.
>> 
>> The error looks like:
>> drivers/spi/spi_fsl_espi.c: In function 'fsl_espi_bufs':
>> drivers/spi/spi_fsl_espi.c:232: error: 'struct mpc8xxx_spi' has no member named 'len'
>> ...
>> 
>> Signed-off-by: Jiri Slaby <jslaby at suse.cz>
>> ---
>> drivers/spi/spi-fsl-lib.h |    2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>> 
>> diff --git a/drivers/spi/spi-fsl-lib.h b/drivers/spi/spi-fsl-lib.h
>> index cbe881b..97968de 100644
>> --- a/drivers/spi/spi-fsl-lib.h
>> +++ b/drivers/spi/spi-fsl-lib.h
>> @@ -28,7 +28,7 @@ struct mpc8xxx_spi {
>> 	/* rx & tx bufs from the spi_transfer */
>> 	const void *tx;
>> 	void *rx;
>> -#ifdef CONFIG_SPI_FSL_ESPI
>> +#if defined(CONFIG_SPI_FSL_ESPI) || defined(CONFIG_SPI_FSL_ESPI_MODULE)
>> 	int len;
>> #endif
> 
> Oh, and there are still link errors:
> ERROR: "mpc8xxx_spi_tx_buf_u32" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_rx_buf_u32" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_tx_buf_u16" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_rx_buf_u16" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_tx_buf_u8" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_rx_buf_u8" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "of_mpc8xxx_spi_probe" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_strmode" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_probe" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_remove" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "to_of_pinfo" [drivers/spi/spi_fsl_spi.ko] undefined!
> ERROR: "mpc8xxx_spi_tx_buf_u32" [drivers/spi/spi_fsl_espi.ko] undefined!
> ERROR: "mpc8xxx_spi_rx_buf_u32" [drivers/spi/spi_fsl_espi.ko] undefined!
> ERROR: "of_mpc8xxx_spi_probe" [drivers/spi/spi_fsl_espi.ko] undefined!
> ERROR: "mpc8xxx_spi_probe" [drivers/spi/spi_fsl_espi.ko] undefined!
> ERROR: "mpc8xxx_spi_remove" [drivers/spi/spi_fsl_espi.ko] undefined!
> 
> The functions are not exported...
> 
> Should I export all those or deny CONFIG_SPI_FSL_ESPI=m?

I'd just deny CONFIG_SPI_FSL_ESPI=m, unless you have some need for it to be a module.

- k


More information about the Linuxppc-dev mailing list