]> Git Repo - J-u-boot.git/blobdiff - drivers/spi/atmel_spi.c
Merge patch series "net: ksz9477: add support for KSZ GbE switches using SPI bus"
[J-u-boot.git] / drivers / spi / atmel_spi.c
index c65733c87ac67ac0bcefa2732406c6667c497f51..aaf3eddae423998589dc98b3edf9e1b01b5b53a4 100644 (file)
@@ -2,7 +2,6 @@
 /*
  * Copyright (C) 2007 Atmel Corporation
  */
-#include <common.h>
 #include <clk.h>
 #include <dm.h>
 #include <fdtdec.h>
@@ -17,6 +16,7 @@
 #include <asm/gpio.h>
 #endif
 #include <linux/bitops.h>
+#include <linux/printk.h>
 
 /*
  * Register definitions for the Atmel AT32/AT91 SPI Controller
 #define spi_writel(as, reg, value)                             \
        writel(value, as->regs + ATMEL_SPI_##reg)
 
-struct atmel_spi_platdata {
+struct atmel_spi_plat {
        struct at91_spi *regs;
 };
 
@@ -121,11 +121,11 @@ struct atmel_spi_priv {
 static int atmel_spi_claim_bus(struct udevice *dev)
 {
        struct udevice *bus = dev_get_parent(dev);
-       struct atmel_spi_platdata *bus_plat = dev_get_platdata(bus);
+       struct atmel_spi_plat *bus_plat = dev_get_plat(bus);
        struct atmel_spi_priv *priv = dev_get_priv(bus);
-       struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
+       struct dm_spi_slave_plat *slave_plat = dev_get_parent_plat(dev);
        struct at91_spi *reg_base = bus_plat->regs;
-       u32 cs = slave_plat->cs;
+       u32 cs = slave_plat->cs[0];
        u32 freq = priv->freq;
        u32 scbr, csrx, mode;
 
@@ -161,7 +161,7 @@ static int atmel_spi_claim_bus(struct udevice *dev)
 static int atmel_spi_release_bus(struct udevice *dev)
 {
        struct udevice *bus = dev_get_parent(dev);
-       struct atmel_spi_platdata *bus_plat = dev_get_platdata(bus);
+       struct atmel_spi_plat *bus_plat = dev_get_plat(bus);
 
        writel(ATMEL_SPI_CR_SPIDIS, &bus_plat->regs->cr);
 
@@ -173,8 +173,8 @@ static void atmel_spi_cs_activate(struct udevice *dev)
 #if CONFIG_IS_ENABLED(DM_GPIO)
        struct udevice *bus = dev_get_parent(dev);
        struct atmel_spi_priv *priv = dev_get_priv(bus);
-       struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
-       u32 cs = slave_plat->cs;
+       struct dm_spi_slave_plat *slave_plat = dev_get_parent_plat(dev);
+       u32 cs = slave_plat->cs[0];
 
        if (!dm_gpio_is_valid(&priv->cs_gpios[cs]))
                return;
@@ -188,8 +188,8 @@ static void atmel_spi_cs_deactivate(struct udevice *dev)
 #if CONFIG_IS_ENABLED(DM_GPIO)
        struct udevice *bus = dev_get_parent(dev);
        struct atmel_spi_priv *priv = dev_get_priv(bus);
-       struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
-       u32 cs = slave_plat->cs;
+       struct dm_spi_slave_plat *slave_plat = dev_get_parent_plat(dev);
+       u32 cs = slave_plat->cs[0];
 
        if (!dm_gpio_is_valid(&priv->cs_gpios[cs]))
                return;
@@ -202,7 +202,7 @@ static int atmel_spi_xfer(struct udevice *dev, unsigned int bitlen,
                          const void *dout, void *din, unsigned long flags)
 {
        struct udevice *bus = dev_get_parent(dev);
-       struct atmel_spi_platdata *bus_plat = dev_get_platdata(bus);
+       struct atmel_spi_plat *bus_plat = dev_get_plat(bus);
        struct at91_spi *reg_base = bus_plat->regs;
 
        u32 len_tx, len_rx, len;
@@ -337,14 +337,12 @@ static int atmel_spi_enable_clk(struct udevice *bus)
 
        priv->bus_clk_rate = clk_rate;
 
-       clk_free(&clk);
-
        return 0;
 }
 
 static int atmel_spi_probe(struct udevice *bus)
 {
-       struct atmel_spi_platdata *bus_plat = dev_get_platdata(bus);
+       struct atmel_spi_plat *bus_plat = dev_get_plat(bus);
        int ret;
 
        ret = atmel_spi_enable_clk(bus);
@@ -388,7 +386,7 @@ U_BOOT_DRIVER(atmel_spi) = {
        .id     = UCLASS_SPI,
        .of_match = atmel_spi_ids,
        .ops    = &atmel_spi_ops,
-       .platdata_auto_alloc_size = sizeof(struct atmel_spi_platdata),
-       .priv_auto_alloc_size = sizeof(struct atmel_spi_priv),
+       .plat_auto      = sizeof(struct atmel_spi_plat),
+       .priv_auto      = sizeof(struct atmel_spi_priv),
        .probe  = atmel_spi_probe,
 };
This page took 0.03054 seconds and 4 git commands to generate.