diff mbox

[v2,15/25] memconsole: fix __iomem mishandling, switch to memremap

Message ID 20150725023923.8664.66965.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive)
State Superseded
Delegated to: Dan Williams
Headers show

Commit Message

Dan Williams July 25, 2015, 2:39 a.m. UTC
The memconsole driver is not using proper accessors for __iomem.  Switch
to memremap to fix this issue, and this also prepares the driver for the
removal of ioremap_cache.

Cc: Mike Waychison <mikew@google.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/firmware/google/memconsole.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Sergei Shtylyov July 25, 2015, 10:02 p.m. UTC | #1
Hello.

On 07/25/2015 05:39 AM, Dan Williams wrote:

> The memconsole driver is not using proper accessors for __iomem.  Switch
> to memremap to fix this issue, and this also prepares the driver for the
> removal of ioremap_cache.

> Cc: Mike Waychison <mikew@google.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>   drivers/firmware/google/memconsole.c |    7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)

> diff --git a/drivers/firmware/google/memconsole.c b/drivers/firmware/google/memconsole.c
> index 2f569aaed4c7..1b25fba84f32 100644
> --- a/drivers/firmware/google/memconsole.c
> +++ b/drivers/firmware/google/memconsole.c
> @@ -52,14 +52,15 @@ static ssize_t memconsole_read(struct file *filp, struct kobject *kobp,
>   	char *memconsole;
>   	ssize_t ret;
>
> -	memconsole = ioremap_cache(memconsole_baseaddr, memconsole_length);
> +	memconsole = memremap(memconsole_baseaddr, memconsole_length,
> +			MEMREMAP_CACHE);

    Could you maintain the existing style of the broken line alignment in this 
file?

>   	if (!memconsole) {
> -		pr_err("memconsole: ioremap_cache failed\n");
> +		pr_err("memconsole: memremap failed\n");
>   		return -ENOMEM;
>   	}
>   	ret = memory_read_from_buffer(buf, count, &pos, memconsole,
>   				      memconsole_length);

    Here's an example...

> -	iounmap(memconsole);
> +	memunmap(memconsole);
>   	return ret;
>   }

MBR, Sergei
diff mbox

Patch

diff --git a/drivers/firmware/google/memconsole.c b/drivers/firmware/google/memconsole.c
index 2f569aaed4c7..1b25fba84f32 100644
--- a/drivers/firmware/google/memconsole.c
+++ b/drivers/firmware/google/memconsole.c
@@ -52,14 +52,15 @@  static ssize_t memconsole_read(struct file *filp, struct kobject *kobp,
 	char *memconsole;
 	ssize_t ret;
 
-	memconsole = ioremap_cache(memconsole_baseaddr, memconsole_length);
+	memconsole = memremap(memconsole_baseaddr, memconsole_length,
+			MEMREMAP_CACHE);
 	if (!memconsole) {
-		pr_err("memconsole: ioremap_cache failed\n");
+		pr_err("memconsole: memremap failed\n");
 		return -ENOMEM;
 	}
 	ret = memory_read_from_buffer(buf, count, &pos, memconsole,
 				      memconsole_length);
-	iounmap(memconsole);
+	memunmap(memconsole);
 	return ret;
 }