From 08a9fcb0ef3c36102916b1d7d37d67230aa9f74e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 24 Jun 2014 18:13:27 +0000 Subject: atheros[ar2315-spiflash]: pass I/O mem regions via resources Pass I/O memory regions (flash read and MMR) via platform device resources array and use them inside spiflash driver. Signed-off-by: Sergey Ryazanov SVN-Revision: 41320 --- target/linux/atheros/patches-3.10/120-spiflash.patch | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'target/linux/atheros/patches-3.10/120-spiflash.patch') diff --git a/target/linux/atheros/patches-3.10/120-spiflash.patch b/target/linux/atheros/patches-3.10/120-spiflash.patch index 262af60..8630a3a 100644 --- a/target/linux/atheros/patches-3.10/120-spiflash.patch +++ b/target/linux/atheros/patches-3.10/120-spiflash.patch @@ -23,7 +23,7 @@ --- /dev/null +++ b/drivers/mtd/devices/ar2315.c -@@ -0,0 +1,527 @@ +@@ -0,0 +1,540 @@ + +/* + * MTD driver for the SPI Flash Memory support on Atheros AR2315 @@ -452,6 +452,7 @@ +{ + struct spiflash_priv *priv; + struct mtd_info *mtd; ++ struct resource *res; + int index; + int result = 0; + @@ -461,7 +462,13 @@ + priv->state = FL_READY; + mtd = &priv->mtd; + -+ priv->mmraddr = ioremap_nocache(SPI_FLASH_MMR, SPI_FLASH_MMR_SIZE); ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 1); ++ if (!res) { ++ dev_err(&pdev->dev, "No MMR resource found\n"); ++ goto error; ++ } ++ ++ priv->mmraddr = ioremap_nocache(res->start, resource_size(res)); + if (!priv->mmraddr) { + dev_warn(&pdev->dev, SPIFLASH "Failed to map flash device\n"); + goto error; @@ -473,7 +480,13 @@ + goto error; + } + -+ priv->readaddr = ioremap_nocache(SPI_FLASH_READ, ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (!res) { ++ dev_err(&pdev->dev, "No flash readmem resource found\n"); ++ goto error; ++ } ++ ++ priv->readaddr = ioremap_nocache(res->start, + flashconfig_tbl[index].byte_cnt); + if (!priv->readaddr) { + dev_warn(&pdev->dev, SPIFLASH "Failed to map flash device\n"); -- cgit v1.1