]> git.sur5r.net Git - u-boot/commitdiff
dm: spi: Correct SPI claim/release_bus() methods
authorSimon Glass <sjg@chromium.org>
Sun, 19 Apr 2015 15:05:40 +0000 (09:05 -0600)
committerJagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Thu, 23 Apr 2015 09:53:45 +0000 (15:23 +0530)
These methods should be passed a slave device, not a bus. This matches the
old SPI interface. It is important to know which device is claiming the bus
so passing a bus is not that useful.

Reported-by: Haikun Wang <haikun.wang@freescale.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Peng Fan <Peng.Fan@freescale.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
drivers/spi/exynos_spi.c
drivers/spi/spi-uclass.c
drivers/spi/tegra114_spi.c
drivers/spi/tegra20_sflash.c
drivers/spi/tegra20_slink.c
include/spi.h

index a46d8c187668cff8560eea31c7189c7dfa3b4161..67f6b2d7cdaa871b97f170d78476c658a622a94e 100644 (file)
@@ -296,8 +296,9 @@ static int exynos_spi_probe(struct udevice *bus)
        return 0;
 }
 
-static int exynos_spi_claim_bus(struct udevice *bus)
+static int exynos_spi_claim_bus(struct udevice *dev)
 {
+       struct udevice *bus = dev->parent;
        struct exynos_spi_priv *priv = dev_get_priv(bus);
 
        exynos_pinmux_config(priv->periph_id, PINMUX_FLAG_NONE);
@@ -308,8 +309,9 @@ static int exynos_spi_claim_bus(struct udevice *bus)
        return 0;
 }
 
-static int exynos_spi_release_bus(struct udevice *bus)
+static int exynos_spi_release_bus(struct udevice *dev)
 {
+       struct udevice *bus = dev->parent;
        struct exynos_spi_priv *priv = dev_get_priv(bus);
 
        spi_flush_fifo(priv->regs);
index 866c48f243929406ed6f12512be481603644cb86..83fe8e0d69ae9d8d6972f99a72e4294fa4aa0848 100644 (file)
@@ -67,7 +67,7 @@ int spi_claim_bus(struct spi_slave *slave)
        if (ret)
                return ret;
 
-       return ops->claim_bus ? ops->claim_bus(bus) : 0;
+       return ops->claim_bus ? ops->claim_bus(dev) : 0;
 }
 
 void spi_release_bus(struct spi_slave *slave)
@@ -77,7 +77,7 @@ void spi_release_bus(struct spi_slave *slave)
        struct dm_spi_ops *ops = spi_get_ops(bus);
 
        if (ops->release_bus)
-               ops->release_bus(bus);
+               ops->release_bus(dev);
 }
 
 int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
index 53ff9ea22105353180159203def640905b5fecf8..4bec66309e9b6fbc54138dc7d3bc05458a3a3baf 100644 (file)
@@ -153,8 +153,9 @@ static int tegra114_spi_probe(struct udevice *bus)
        return 0;
 }
 
-static int tegra114_spi_claim_bus(struct udevice *bus)
+static int tegra114_spi_claim_bus(struct udevice *dev)
 {
+       struct udevice *bus = dev->parent;
        struct tegra114_spi_priv *priv = dev_get_priv(bus);
        struct spi_regs *regs = priv->regs;
 
index 78c74cdf37fe095d8efa34c26ab5df0093e305bd..82c1b84f3bd953ec50dfdb0b4197448da3043584 100644 (file)
@@ -125,8 +125,9 @@ static int tegra20_sflash_probe(struct udevice *bus)
        return 0;
 }
 
-static int tegra20_sflash_claim_bus(struct udevice *bus)
+static int tegra20_sflash_claim_bus(struct udevice *dev)
 {
+       struct udevice *bus = dev->parent;
        struct tegra20_sflash_priv *priv = dev_get_priv(bus);
        struct spi_regs *regs = priv->regs;
        u32 reg;
index 597d6ad5ccecb8e36818bb6d2d555c2f3b14294f..f6fb89b393f0881e624e006baf9f16cd056d2474 100644 (file)
@@ -141,8 +141,9 @@ static int tegra30_spi_probe(struct udevice *bus)
        return 0;
 }
 
-static int tegra30_spi_claim_bus(struct udevice *bus)
+static int tegra30_spi_claim_bus(struct udevice *dev)
 {
+       struct udevice *bus = dev->parent;
        struct tegra30_spi_priv *priv = dev_get_priv(bus);
        struct spi_regs *regs = priv->regs;
        u32 reg;
index 78290633a183773708753c95b9ef46b3f702b6a4..9495ca53c9b6649acd7e04879261eb40c4344d8e 100644 (file)
@@ -386,12 +386,12 @@ struct dm_spi_ops {
         * allowed to claim the same bus for several slaves without releasing
         * the bus in between.
         *
-        * @bus:        The SPI slave
+        * @dev:        The SPI slave
         *
         * Returns: 0 if the bus was claimed successfully, or a negative value
         * if it wasn't.
         */
-       int (*claim_bus)(struct udevice *bus);
+       int (*claim_bus)(struct udevice *dev);
 
        /**
         * Release the SPI bus
@@ -400,9 +400,9 @@ struct dm_spi_ops {
         * all transfers have finished. It may disable any SPI hardware as
         * appropriate.
         *
-        * @bus:        The SPI slave
+        * @dev:        The SPI slave
         */
-       int (*release_bus)(struct udevice *bus);
+       int (*release_bus)(struct udevice *dev);
 
        /**
         * Set the word length for SPI transactions
@@ -414,7 +414,7 @@ struct dm_spi_ops {
         *
         * Returns: 0 on success, -ve on failure.
         */
-       int (*set_wordlen)(struct udevice *bus, unsigned int wordlen);
+       int (*set_wordlen)(struct udevice *dev, unsigned int wordlen);
 
        /**
         * SPI transfer