[U-Boot] [PATCH v2 28/32] spi: omap3: Drop non-dm code
Adam Ford
aford173 at gmail.com
Mon Nov 26 19:36:26 UTC 2018
On Sun, Nov 25, 2018 at 11:39 AM Jagan Teki <jagan at amarulasolutions.com> wrote:
>
> Drop the non-dm code, those board which uses non-dm need
> to define DM_SPI. u-boot build trigger the warning for
> the same.
>
> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
I don't have a good way to read/write SPI, but my omap3_logic board
shows the SPI bus in the 'dm tree' so from that perspective, I am not
seeing any issues with SPI.
Tested-by: Adam Ford <aford173 at gmail.com> #omap3_logic
> ---
> Makefile | 2 +-
> drivers/spi/Makefile | 2 +-
> drivers/spi/omap3_spi.c | 126 ----------------------------------------
> 3 files changed, 2 insertions(+), 128 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 3be3bb3118..00f0117b16 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -920,7 +920,7 @@ ifeq ($(CONFIG_DM_I2C_COMPAT)$(CONFIG_SANDBOX),y)
> endif
> ifeq ($(CONFIG_DM_SPI),)
> ifeq ($(filter $(CONFIG_DAVINCI_SPI) $(CONFIG_KIRKWOOD_SPI) $(CONFIG_MPC8XXX_SPI) \
> - $(CONFIG_MXC_SPI) $(CONFIG_TI_QSPI),y),y)
> + $(CONFIG_MXC_SPI) $(CONFIG_OMAP3_SPI) $(CONFIG_TI_QSPI),y),y)
> @echo "===================== WARNING ======================"
> @echo "This board uses SPI driver from drivers/spi/ without"
> @echo "enabling CONFIG_DM_SPI. Please enable CONFIG_DM_SPI"
> diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
> index c682b014e7..6b8b92434c 100644
> --- a/drivers/spi/Makefile
> +++ b/drivers/spi/Makefile
> @@ -10,6 +10,7 @@ obj-$(CONFIG_DAVINCI_SPI) += davinci_spi.o
> obj-$(CONFIG_KIRKWOOD_SPI) += kirkwood_spi.o
> obj-$(CONFIG_MPC8XXX_SPI) += mpc8xxx_spi.o
> obj-$(CONFIG_MXC_SPI) += mxc_spi.o
> +obj-$(CONFIG_OMAP3_SPI) += omap3_spi.o
> obj-$(CONFIG_SANDBOX) += spi-emul-uclass.o
> obj-$(CONFIG_SOFT_SPI) += soft_spi.o
> obj-$(CONFIG_SPI_MEM) += spi-mem.o
> @@ -35,7 +36,6 @@ obj-$(CONFIG_MPC8XX_SPI) += mpc8xx_spi.o
> obj-$(CONFIG_MT7621_SPI) += mt7621_spi.o
> obj-$(CONFIG_MVEBU_A3700_SPI) += mvebu_a3700_spi.o
> obj-$(CONFIG_ATCSPI200_SPI) += atcspi200_spi.o
> -obj-$(CONFIG_OMAP3_SPI) += omap3_spi.o
> obj-$(CONFIG_PIC32_SPI) += pic32_spi.o
> obj-$(CONFIG_PL022_SPI) += pl022_spi.o
> obj-$(CONFIG_RENESAS_RPC_SPI) += renesas_rpc_spi.o
> diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
> index c7fcf050a5..5e267d88d7 100644
> --- a/drivers/spi/omap3_spi.c
> +++ b/drivers/spi/omap3_spi.c
> @@ -108,9 +108,6 @@ struct mcspi {
> };
>
> struct omap3_spi_priv {
> -#ifndef CONFIG_DM_SPI
> - struct spi_slave slave;
> -#endif
> struct mcspi *regs;
> unsigned int cs;
> unsigned int freq;
> @@ -454,128 +451,6 @@ static void _omap3_spi_claim_bus(struct omap3_spi_priv *priv)
> writel(conf, &priv->regs->modulctrl);
> }
>
> -#ifndef CONFIG_DM_SPI
> -
> -static inline struct omap3_spi_priv *to_omap3_spi(struct spi_slave *slave)
> -{
> - return container_of(slave, struct omap3_spi_priv, slave);
> -}
> -
> -void spi_free_slave(struct spi_slave *slave)
> -{
> - struct omap3_spi_priv *priv = to_omap3_spi(slave);
> -
> - free(priv);
> -}
> -
> -int spi_claim_bus(struct spi_slave *slave)
> -{
> - struct omap3_spi_priv *priv = to_omap3_spi(slave);
> -
> - spi_reset(priv->regs);
> -
> - _omap3_spi_claim_bus(priv);
> - _omap3_spi_set_wordlen(priv);
> - _omap3_spi_set_mode(priv);
> - _omap3_spi_set_speed(priv);
> -
> - return 0;
> -}
> -
> -void spi_release_bus(struct spi_slave *slave)
> -{
> - struct omap3_spi_priv *priv = to_omap3_spi(slave);
> -
> - writel(OMAP3_MCSPI_MODULCTRL_MS, &priv->regs->modulctrl);
> -}
> -
> -struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
> - unsigned int max_hz, unsigned int mode)
> -{
> - struct omap3_spi_priv *priv;
> - struct mcspi *regs;
> -
> - /*
> - * OMAP3 McSPI (MultiChannel SPI) has 4 busses (modules)
> - * with different number of chip selects (CS, channels):
> - * McSPI1 has 4 CS (bus 0, cs 0 - 3)
> - * McSPI2 has 2 CS (bus 1, cs 0 - 1)
> - * McSPI3 has 2 CS (bus 2, cs 0 - 1)
> - * McSPI4 has 1 CS (bus 3, cs 0)
> - */
> -
> - switch (bus) {
> - case 0:
> - regs = (struct mcspi *)OMAP3_MCSPI1_BASE;
> - break;
> -#ifdef OMAP3_MCSPI2_BASE
> - case 1:
> - regs = (struct mcspi *)OMAP3_MCSPI2_BASE;
> - break;
> -#endif
> -#ifdef OMAP3_MCSPI3_BASE
> - case 2:
> - regs = (struct mcspi *)OMAP3_MCSPI3_BASE;
> - break;
> -#endif
> -#ifdef OMAP3_MCSPI4_BASE
> - case 3:
> - regs = (struct mcspi *)OMAP3_MCSPI4_BASE;
> - break;
> -#endif
> - default:
> - printf("SPI error: unsupported bus %i. Supported busses 0 - 3\n", bus);
> - return NULL;
> - }
> -
> - if (((bus == 0) && (cs > 3)) ||
> - ((bus == 1) && (cs > 1)) ||
> - ((bus == 2) && (cs > 1)) ||
> - ((bus == 3) && (cs > 0))) {
> - printf("SPI error: unsupported chip select %i on bus %i\n", cs, bus);
> - return NULL;
> - }
> -
> - if (max_hz > OMAP3_MCSPI_MAX_FREQ) {
> - printf("SPI error: unsupported frequency %i Hz. Max frequency is 48 MHz\n",
> - max_hz);
> - return NULL;
> - }
> -
> - if (mode > SPI_MODE_3) {
> - printf("SPI error: unsupported SPI mode %i\n", mode);
> - return NULL;
> - }
> -
> - priv = spi_alloc_slave(struct omap3_spi_priv, bus, cs);
> - if (!priv) {
> - printf("SPI error: malloc of SPI structure failed\n");
> - return NULL;
> - }
> -
> - priv->regs = regs;
> - priv->cs = cs;
> - priv->freq = max_hz;
> - priv->mode = mode;
> - priv->wordlen = priv->slave.wordlen;
> -#if 0
> - /* Please migrate to DM_SPI support for this feature. */
> - priv->pin_dir = MCSPI_PINDIR_D0_OUT_D1_IN;
> -#endif
> -
> - return &priv->slave;
> -}
> -
> -int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
> - const void *dout, void *din, unsigned long flags)
> -{
> - struct omap3_spi_priv *priv = to_omap3_spi(slave);
> -
> - return _spi_xfer(priv, bitlen, dout, din, flags);
> -}
> -
> -#else
> -
> static int omap3_spi_claim_bus(struct udevice *dev)
> {
> struct udevice *bus = dev->parent;
> @@ -700,4 +575,3 @@ U_BOOT_DRIVER(omap3_spi) = {
> .ops = &omap3_spi_ops,
> .priv_auto_alloc_size = sizeof(struct omap3_spi_priv),
> };
> -#endif
> --
> 2.18.0.321.gffc6fa0e3
>
More information about the U-Boot
mailing list