On Thu, 24 Jan 2013, Joonsoo Kim wrote:

> From: Joonsoo Kim <js1...@gmail.com>
> 
> Now, there is no user for vmregion.
> So remove it.
> 
> Signed-off-by: Joonsoo Kim <js1...@gmail.com>
> Signed-off-by: Joonsoo Kim <iamjoonsoo....@lge.com>

Acked-by: Nicolas Pitre <n...@linaro.org>


> 
> diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile
> index 8a9c4cb..4e333fa 100644
> --- a/arch/arm/mm/Makefile
> +++ b/arch/arm/mm/Makefile
> @@ -6,7 +6,7 @@ obj-y                         := dma-mapping.o extable.o 
> fault.o init.o \
>                                  iomap.o
>  
>  obj-$(CONFIG_MMU)            += fault-armv.o flush.o idmap.o ioremap.o \
> -                                mmap.o pgd.o mmu.o vmregion.o
> +                                mmap.o pgd.o mmu.o
>  
>  ifneq ($(CONFIG_MMU),y)
>  obj-y                                += nommu.o
> diff --git a/arch/arm/mm/vmregion.c b/arch/arm/mm/vmregion.c
> deleted file mode 100644
> index a631016..0000000
> --- a/arch/arm/mm/vmregion.c
> +++ /dev/null
> @@ -1,205 +0,0 @@
> -#include <linux/fs.h>
> -#include <linux/spinlock.h>
> -#include <linux/list.h>
> -#include <linux/proc_fs.h>
> -#include <linux/seq_file.h>
> -#include <linux/slab.h>
> -
> -#include "vmregion.h"
> -
> -/*
> - * VM region handling support.
> - *
> - * This should become something generic, handling VM region allocations for
> - * vmalloc and similar (ioremap, module space, etc).
> - *
> - * I envisage vmalloc()'s supporting vm_struct becoming:
> - *
> - *  struct vm_struct {
> - *    struct vmregion        region;
> - *    unsigned long  flags;
> - *    struct page    **pages;
> - *    unsigned int   nr_pages;
> - *    unsigned long  phys_addr;
> - *  };
> - *
> - * get_vm_area() would then call vmregion_alloc with an appropriate
> - * struct vmregion head (eg):
> - *
> - *  struct vmregion vmalloc_head = {
> - *   .vm_list        = LIST_HEAD_INIT(vmalloc_head.vm_list),
> - *   .vm_start       = VMALLOC_START,
> - *   .vm_end         = VMALLOC_END,
> - *  };
> - *
> - * However, vmalloc_head.vm_start is variable (typically, it is dependent on
> - * the amount of RAM found at boot time.)  I would imagine that get_vm_area()
> - * would have to initialise this each time prior to calling vmregion_alloc().
> - */
> -
> -struct arm_vmregion *
> -arm_vmregion_alloc(struct arm_vmregion_head *head, size_t align,
> -                size_t size, gfp_t gfp, const void *caller)
> -{
> -     unsigned long start = head->vm_start, addr = head->vm_end;
> -     unsigned long flags;
> -     struct arm_vmregion *c, *new;
> -
> -     if (head->vm_end - head->vm_start < size) {
> -             printk(KERN_WARNING "%s: allocation too big (requested %#x)\n",
> -                     __func__, size);
> -             goto out;
> -     }
> -
> -     new = kmalloc(sizeof(struct arm_vmregion), gfp);
> -     if (!new)
> -             goto out;
> -
> -     new->caller = caller;
> -
> -     spin_lock_irqsave(&head->vm_lock, flags);
> -
> -     addr = rounddown(addr - size, align);
> -     list_for_each_entry_reverse(c, &head->vm_list, vm_list) {
> -             if (addr >= c->vm_end)
> -                     goto found;
> -             addr = rounddown(c->vm_start - size, align);
> -             if (addr < start)
> -                     goto nospc;
> -     }
> -
> - found:
> -     /*
> -      * Insert this entry after the one we found.
> -      */
> -     list_add(&new->vm_list, &c->vm_list);
> -     new->vm_start = addr;
> -     new->vm_end = addr + size;
> -     new->vm_active = 1;
> -
> -     spin_unlock_irqrestore(&head->vm_lock, flags);
> -     return new;
> -
> - nospc:
> -     spin_unlock_irqrestore(&head->vm_lock, flags);
> -     kfree(new);
> - out:
> -     return NULL;
> -}
> -
> -static struct arm_vmregion *__arm_vmregion_find(struct arm_vmregion_head 
> *head, unsigned long addr)
> -{
> -     struct arm_vmregion *c;
> -
> -     list_for_each_entry(c, &head->vm_list, vm_list) {
> -             if (c->vm_active && c->vm_start == addr)
> -                     goto out;
> -     }
> -     c = NULL;
> - out:
> -     return c;
> -}
> -
> -struct arm_vmregion *arm_vmregion_find(struct arm_vmregion_head *head, 
> unsigned long addr)
> -{
> -     struct arm_vmregion *c;
> -     unsigned long flags;
> -
> -     spin_lock_irqsave(&head->vm_lock, flags);
> -     c = __arm_vmregion_find(head, addr);
> -     spin_unlock_irqrestore(&head->vm_lock, flags);
> -     return c;
> -}
> -
> -struct arm_vmregion *arm_vmregion_find_remove(struct arm_vmregion_head 
> *head, unsigned long addr)
> -{
> -     struct arm_vmregion *c;
> -     unsigned long flags;
> -
> -     spin_lock_irqsave(&head->vm_lock, flags);
> -     c = __arm_vmregion_find(head, addr);
> -     if (c)
> -             c->vm_active = 0;
> -     spin_unlock_irqrestore(&head->vm_lock, flags);
> -     return c;
> -}
> -
> -void arm_vmregion_free(struct arm_vmregion_head *head, struct arm_vmregion 
> *c)
> -{
> -     unsigned long flags;
> -
> -     spin_lock_irqsave(&head->vm_lock, flags);
> -     list_del(&c->vm_list);
> -     spin_unlock_irqrestore(&head->vm_lock, flags);
> -
> -     kfree(c);
> -}
> -
> -#ifdef CONFIG_PROC_FS
> -static int arm_vmregion_show(struct seq_file *m, void *p)
> -{
> -     struct arm_vmregion *c = list_entry(p, struct arm_vmregion, vm_list);
> -
> -     seq_printf(m, "0x%08lx-0x%08lx %7lu", c->vm_start, c->vm_end,
> -             c->vm_end - c->vm_start);
> -     if (c->caller)
> -             seq_printf(m, " %pS", (void *)c->caller);
> -     seq_putc(m, '\n');
> -     return 0;
> -}
> -
> -static void *arm_vmregion_start(struct seq_file *m, loff_t *pos)
> -{
> -     struct arm_vmregion_head *h = m->private;
> -     spin_lock_irq(&h->vm_lock);
> -     return seq_list_start(&h->vm_list, *pos);
> -}
> -
> -static void *arm_vmregion_next(struct seq_file *m, void *p, loff_t *pos)
> -{
> -     struct arm_vmregion_head *h = m->private;
> -     return seq_list_next(p, &h->vm_list, pos);
> -}
> -
> -static void arm_vmregion_stop(struct seq_file *m, void *p)
> -{
> -     struct arm_vmregion_head *h = m->private;
> -     spin_unlock_irq(&h->vm_lock);
> -}
> -
> -static const struct seq_operations arm_vmregion_ops = {
> -     .start  = arm_vmregion_start,
> -     .stop   = arm_vmregion_stop,
> -     .next   = arm_vmregion_next,
> -     .show   = arm_vmregion_show,
> -};
> -
> -static int arm_vmregion_open(struct inode *inode, struct file *file)
> -{
> -     struct arm_vmregion_head *h = PDE(inode)->data;
> -     int ret = seq_open(file, &arm_vmregion_ops);
> -     if (!ret) {
> -             struct seq_file *m = file->private_data;
> -             m->private = h;
> -     }
> -     return ret;
> -}
> -
> -static const struct file_operations arm_vmregion_fops = {
> -     .open   = arm_vmregion_open,
> -     .read   = seq_read,
> -     .llseek = seq_lseek,
> -     .release = seq_release,
> -};
> -
> -int arm_vmregion_create_proc(const char *path, struct arm_vmregion_head *h)
> -{
> -     proc_create_data(path, S_IRUSR, NULL, &arm_vmregion_fops, h);
> -     return 0;
> -}
> -#else
> -int arm_vmregion_create_proc(const char *path, struct arm_vmregion_head *h)
> -{
> -     return 0;
> -}
> -#endif
> diff --git a/arch/arm/mm/vmregion.h b/arch/arm/mm/vmregion.h
> deleted file mode 100644
> index 0f5a5f2..0000000
> --- a/arch/arm/mm/vmregion.h
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -#ifndef VMREGION_H
> -#define VMREGION_H
> -
> -#include <linux/spinlock.h>
> -#include <linux/list.h>
> -
> -struct page;
> -
> -struct arm_vmregion_head {
> -     spinlock_t              vm_lock;
> -     struct list_head        vm_list;
> -     unsigned long           vm_start;
> -     unsigned long           vm_end;
> -};
> -
> -struct arm_vmregion {
> -     struct list_head        vm_list;
> -     unsigned long           vm_start;
> -     unsigned long           vm_end;
> -     int                     vm_active;
> -     const void              *caller;
> -};
> -
> -struct arm_vmregion *arm_vmregion_alloc(struct arm_vmregion_head *, size_t, 
> size_t, gfp_t, const void *);
> -struct arm_vmregion *arm_vmregion_find(struct arm_vmregion_head *, unsigned 
> long);
> -struct arm_vmregion *arm_vmregion_find_remove(struct arm_vmregion_head *, 
> unsigned long);
> -void arm_vmregion_free(struct arm_vmregion_head *, struct arm_vmregion *);
> -
> -int arm_vmregion_create_proc(const char *, struct arm_vmregion_head *);
> -
> -#endif
> -- 
> 1.7.9.5
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to