Driver core: Constify struct sysfs_ops in struct kobj_type
[cascardo/linux.git] / arch / sh / kernel / cpu / sh4 / sq.c
index 8a8a993..14726ee 100644 (file)
@@ -43,9 +43,9 @@ static unsigned long *sq_bitmap;
 
 #define store_queue_barrier()                  \
 do {                                           \
-       (void)ctrl_inl(P4SEG_STORE_QUE);        \
-       ctrl_outl(0, P4SEG_STORE_QUE + 0);      \
-       ctrl_outl(0, P4SEG_STORE_QUE + 8);      \
+       (void)__raw_readl(P4SEG_STORE_QUE);     \
+       __raw_writel(0, P4SEG_STORE_QUE + 0);   \
+       __raw_writel(0, P4SEG_STORE_QUE + 8);   \
 } while (0);
 
 /**
@@ -100,7 +100,7 @@ static inline void sq_mapping_list_del(struct sq_mapping *map)
        spin_unlock_irq(&sq_mapping_lock);
 }
 
-static int __sq_remap(struct sq_mapping *map, unsigned long flags)
+static int __sq_remap(struct sq_mapping *map, pgprot_t prot)
 {
 #if defined(CONFIG_MMU)
        struct vm_struct *vma;
@@ -113,7 +113,7 @@ static int __sq_remap(struct sq_mapping *map, unsigned long flags)
 
        if (ioremap_page_range((unsigned long)vma->addr,
                               (unsigned long)vma->addr + map->size,
-                              vma->phys_addr, __pgprot(flags))) {
+                              vma->phys_addr, prot)) {
                vunmap(vma->addr);
                return -EAGAIN;
        }
@@ -123,8 +123,8 @@ static int __sq_remap(struct sq_mapping *map, unsigned long flags)
         * straightforward, as we can just load up each queue's QACR with
         * the physical address appropriately masked.
         */
-       ctrl_outl(((map->addr >> 26) << 2) & 0x1c, SQ_QACR0);
-       ctrl_outl(((map->addr >> 26) << 2) & 0x1c, SQ_QACR1);
+       __raw_writel(((map->addr >> 26) << 2) & 0x1c, SQ_QACR0);
+       __raw_writel(((map->addr >> 26) << 2) & 0x1c, SQ_QACR1);
 #endif
 
        return 0;
@@ -135,14 +135,14 @@ static int __sq_remap(struct sq_mapping *map, unsigned long flags)
  * @phys: Physical address of mapping.
  * @size: Length of mapping.
  * @name: User invoking mapping.
- * @flags: Protection flags.
+ * @prot: Protection bits.
  *
  * Remaps the physical address @phys through the next available store queue
  * address of @size length. @name is logged at boot time as well as through
  * the sysfs interface.
  */
 unsigned long sq_remap(unsigned long phys, unsigned int size,
-                      const char *name, unsigned long flags)
+                      const char *name, pgprot_t prot)
 {
        struct sq_mapping *map;
        unsigned long end;
@@ -177,7 +177,7 @@ unsigned long sq_remap(unsigned long phys, unsigned int size,
 
        map->sq_addr = P4SEG_STORE_QUE + (page << PAGE_SHIFT);
 
-       ret = __sq_remap(map, pgprot_val(PAGE_KERNEL_NOCACHE) | flags);
+       ret = __sq_remap(map, prot);
        if (unlikely(ret != 0))
                goto out;
 
@@ -309,8 +309,7 @@ static ssize_t mapping_store(const char *buf, size_t count)
                return -EIO;
 
        if (likely(len)) {
-               int ret = sq_remap(base, len, "Userspace",
-                                  pgprot_val(PAGE_SHARED));
+               int ret = sq_remap(base, len, "Userspace", PAGE_SHARED);
                if (ret < 0)
                        return ret;
        } else
@@ -327,7 +326,7 @@ static struct attribute *sq_sysfs_attrs[] = {
        NULL,
 };
 
-static struct sysfs_ops sq_sysfs_ops = {
+static const struct sysfs_ops sq_sysfs_ops = {
        .show   = sq_sysfs_show,
        .store  = sq_sysfs_store,
 };