]> git.ipfire.org Git - people/arne_f/kernel.git/blobdiff - arch/x86/kernel/ksysfs.c
Merge branch 'linus' into x86/mm to pick up fixes and to fix conflicts
[people/arne_f/kernel.git] / arch / x86 / kernel / ksysfs.c
index 4afc67f5facc497606e2fb898ba7b7d402f04caa..4b0592ca9e47b332d0ce67f8bcf5f555653587b2 100644 (file)
@@ -16,8 +16,8 @@
 #include <linux/stat.h>
 #include <linux/slab.h>
 #include <linux/mm.h>
+#include <linux/io.h>
 
-#include <asm/io.h>
 #include <asm/setup.h>
 
 static ssize_t version_show(struct kobject *kobj,
@@ -55,7 +55,7 @@ static struct bin_attribute *boot_params_data_attrs[] = {
        NULL,
 };
 
-static struct attribute_group boot_params_attr_group = {
+static const struct attribute_group boot_params_attr_group = {
        .attrs = boot_params_version_attrs,
        .bin_attrs = boot_params_data_attrs,
 };
@@ -79,12 +79,12 @@ static int get_setup_data_paddr(int nr, u64 *paddr)
                        *paddr = pa_data;
                        return 0;
                }
-               data = ioremap_cache(pa_data, sizeof(*data));
+               data = memremap(pa_data, sizeof(*data), MEMREMAP_WB);
                if (!data)
                        return -ENOMEM;
 
                pa_data = data->next;
-               iounmap(data);
+               memunmap(data);
                i++;
        }
        return -EINVAL;
@@ -97,17 +97,17 @@ static int __init get_setup_data_size(int nr, size_t *size)
        u64 pa_data = boot_params.hdr.setup_data;
 
        while (pa_data) {
-               data = ioremap_cache(pa_data, sizeof(*data));
+               data = memremap(pa_data, sizeof(*data), MEMREMAP_WB);
                if (!data)
                        return -ENOMEM;
                if (nr == i) {
                        *size = data->len;
-                       iounmap(data);
+                       memunmap(data);
                        return 0;
                }
 
                pa_data = data->next;
-               iounmap(data);
+               memunmap(data);
                i++;
        }
        return -EINVAL;
@@ -127,12 +127,12 @@ static ssize_t type_show(struct kobject *kobj,
        ret = get_setup_data_paddr(nr, &paddr);
        if (ret)
                return ret;
-       data = ioremap_cache(paddr, sizeof(*data));
+       data = memremap(paddr, sizeof(*data), MEMREMAP_WB);
        if (!data)
                return -ENOMEM;
 
        ret = sprintf(buf, "0x%x\n", data->type);
-       iounmap(data);
+       memunmap(data);
        return ret;
 }
 
@@ -154,7 +154,7 @@ static ssize_t setup_data_data_read(struct file *fp,
        ret = get_setup_data_paddr(nr, &paddr);
        if (ret)
                return ret;
-       data = ioremap_cache(paddr, sizeof(*data));
+       data = memremap(paddr, sizeof(*data), MEMREMAP_WB);
        if (!data)
                return -ENOMEM;
 
@@ -170,15 +170,15 @@ static ssize_t setup_data_data_read(struct file *fp,
                goto out;
 
        ret = count;
-       p = ioremap_cache(paddr + sizeof(*data), data->len);
+       p = memremap(paddr + sizeof(*data), data->len, MEMREMAP_WB);
        if (!p) {
                ret = -ENOMEM;
                goto out;
        }
        memcpy(buf, p + off, count);
-       iounmap(p);
+       memunmap(p);
 out:
-       iounmap(data);
+       memunmap(data);
        return ret;
 }
 
@@ -202,7 +202,7 @@ static struct bin_attribute *setup_data_data_attrs[] = {
        NULL,
 };
 
-static struct attribute_group setup_data_attr_group = {
+static const struct attribute_group setup_data_attr_group = {
        .attrs = setup_data_type_attrs,
        .bin_attrs = setup_data_data_attrs,
 };
@@ -250,13 +250,13 @@ static int __init get_setup_data_total_num(u64 pa_data, int *nr)
        *nr = 0;
        while (pa_data) {
                *nr += 1;
-               data = ioremap_cache(pa_data, sizeof(*data));
+               data = memremap(pa_data, sizeof(*data), MEMREMAP_WB);
                if (!data) {
                        ret = -ENOMEM;
                        goto out;
                }
                pa_data = data->next;
-               iounmap(data);
+               memunmap(data);
        }
 
 out: