[U-Boot-Users] [PATCH v2] Move conditional compilation of MPC8XXX SPI driver to Makefile

Signed-off-by: Ben Warren biggerbadderben@gmail.com --- board/freescale/mpc8349emds/mpc8349emds.c | 2 +- drivers/spi/Makefile | 2 +- drivers/spi/mpc8xxx_spi.c | 2 -- include/configs/MPC8349EMDS.h | 1 - include/spi.h | 9 +++++++++ lib_ppc/board.c | 2 -- 6 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/board/freescale/mpc8349emds/mpc8349emds.c b/board/freescale/mpc8349emds/mpc8349emds.c index e18e68e..0acc17e 100644 --- a/board/freescale/mpc8349emds/mpc8349emds.c +++ b/board/freescale/mpc8349emds/mpc8349emds.c @@ -253,7 +253,7 @@ void sdram_init(void) /* * The following are used to control the SPI chip selects for the SPI command. */ -#ifdef CONFIG_HARD_SPI +#ifdef CONFIG_MPC8XXX_SPI
#define SPI_CS_MASK 0x80000000
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index e66e0ee..4f7b679 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB := $(obj)libspi.a
-COBJS-y += mpc8xxx_spi.o +COBJS-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o COBJS-$(CONFIG_ATMEL_SPI) += atmel_spi.o COBJS-$(CONFIG_MXC_SPI) += mxc_spi.o
diff --git a/drivers/spi/mpc8xxx_spi.c b/drivers/spi/mpc8xxx_spi.c index 136fb50..9eaf986 100644 --- a/drivers/spi/mpc8xxx_spi.c +++ b/drivers/spi/mpc8xxx_spi.c @@ -22,7 +22,6 @@ */
#include <common.h> -#if defined(CONFIG_MPC8XXX_SPI) && defined(CONFIG_HARD_SPI)
#include <malloc.h> #include <spi.h> @@ -180,4 +179,3 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
return 0; } -#endif /* CONFIG_HARD_SPI */ diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h index bd77540..af72538 100644 --- a/include/configs/MPC8349EMDS.h +++ b/include/configs/MPC8349EMDS.h @@ -355,7 +355,6 @@
/* SPI */ #define CONFIG_MPC8XXX_SPI -#define CONFIG_HARD_SPI /* SPI with hardware support */ #undef CONFIG_SOFT_SPI /* SPI bit-banged */
/* GPIOs. Used as SPI chip selects */ diff --git a/include/spi.h b/include/spi.h index 7744c2e..320e50e 100644 --- a/include/spi.h +++ b/include/spi.h @@ -24,6 +24,15 @@ #ifndef _SPI_H_ #define _SPI_H_
+/* Controller-specific definitions: */ + +/* CONFIG_HARD_SPI triggers SPI bus initialization in PowerPC */ +#ifdef CONFIG_MPC8XXX_SPI +# ifndef CONFIG_HARD_SPI +# define CONFIG_HARD_SPI +# endif +#endif + /* SPI mode flags */ #define SPI_CPHA 0x01 /* clock phase */ #define SPI_CPOL 0x02 /* clock polarity */ diff --git a/lib_ppc/board.c b/lib_ppc/board.c index a908831..afa0c74 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -90,9 +90,7 @@ void doc_init (void); defined(CONFIG_SOFT_I2C) #include <i2c.h> #endif -#if defined(CONFIG_HARD_SPI) #include <spi.h> -#endif #include <nand.h>
static char *failed = "*** failed ***\n";

Ben Warren biggerbadderben@gmail.com wrote:
+/* Controller-specific definitions: */
+/* CONFIG_HARD_SPI triggers SPI bus initialization in PowerPC */ +#ifdef CONFIG_MPC8XXX_SPI +# ifndef CONFIG_HARD_SPI +# define CONFIG_HARD_SPI +# endif +#endif
Grumble. I'm really looking forward to that Kconfig system so we can get rid of crap like this...it won't exactly become prettier as more SPI drivers are added...
Btw, I wonder if the _real_ fix is to move the stuff in spi_init() into spi_claim_bus() and just kill spi_init() altogether. This will match the u-boot design requirement about not touching hardware you don't intend to use a bit more closely.
But I can certainly understand that you want to keep the existing code working before doing something like that.
Haavard

In message 1212992913-2040-1-git-send-email-biggerbadderben@gmail.com you wrote:
Signed-off-by: Ben Warren biggerbadderben@gmail.com
board/freescale/mpc8349emds/mpc8349emds.c | 2 +- drivers/spi/Makefile | 2 +- drivers/spi/mpc8xxx_spi.c | 2 -- include/configs/MPC8349EMDS.h | 1 - include/spi.h | 9 +++++++++ lib_ppc/board.c | 2 -- 6 files changed, 11 insertions(+), 7 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
participants (3)
-
Ben Warren
-
Haavard Skinnemoen
-
Wolfgang Denk