Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c34cc248 authored by Scott Jiang's avatar Scott Jiang Committed by Mark Brown
Browse files

spi: spi-adi-v3: convert to use common clk framework



Use common clk api to get spi clock.

Signed-off-by: default avatarScott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 766e3721
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -363,6 +363,12 @@ static struct clk ethclk = {
	.ops	    = &dummy_clk_ops,
};

static struct clk spiclk = {
	.name       = "spi",
	.parent     = &sclk1,
	.ops        = &dummy_clk_ops,
};

static struct clk_lookup bf609_clks[] = {
	CLK(sys_clkin, NULL, "SYS_CLKIN"),
	CLK(pll_clk, NULL, "PLLCLK"),
@@ -375,6 +381,7 @@ static struct clk_lookup bf609_clks[] = {
	CLK(dclk, NULL, "DCLK"),
	CLK(oclk, NULL, "OCLK"),
	CLK(ethclk, NULL, "stmmaceth"),
	CLK(spiclk, NULL, "spi"),
};

int __init clk_init(void)
+7 −6
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
 * GNU General Public License for more details.
 */

#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
@@ -800,7 +801,7 @@ static int adi_spi_probe(struct platform_device *pdev)
	struct adi_spi_master *drv_data;
	struct resource *mem, *res;
	unsigned int tx_dma, rx_dma;
	unsigned long sclk;
	struct clk *sclk;
	int ret;

	if (!info) {
@@ -808,10 +809,10 @@ static int adi_spi_probe(struct platform_device *pdev)
		return -ENODEV;
	}

	sclk = get_sclk1();
	if (!sclk) {
		dev_err(dev, "can not get sclk1\n");
		return -ENXIO;
	sclk = devm_clk_get(dev, "spi");
	if (IS_ERR(sclk)) {
		dev_err(dev, "can not get spi clock\n");
		return PTR_ERR(sclk);
	}

	res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
@@ -852,7 +853,7 @@ static int adi_spi_probe(struct platform_device *pdev)
	drv_data->tx_dma = tx_dma;
	drv_data->rx_dma = rx_dma;
	drv_data->pin_req = info->pin_req;
	drv_data->sclk = sclk;
	drv_data->sclk = clk_get_rate(sclk);

	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	drv_data->regs = devm_ioremap_resource(dev, mem);