]> git.hungrycats.org Git - linux/commitdiff
Get rid of non-working and unused "uvirt_to_bus()".
authorLinus Torvalds <torvalds@home.transmeta.com>
Wed, 20 Feb 2002 02:41:14 +0000 (18:41 -0800)
committerJeff Garzik <jgarzik@rum.normnet.org>
Wed, 20 Feb 2002 02:41:14 +0000 (18:41 -0800)
Fix up vmalloc_to_page() and callers (argument is a kernel
virtual address ie should be a "void *")

drivers/ieee1394/video1394.c
drivers/media/video/bttv-driver.c
drivers/media/video/cpia.c
drivers/media/video/meye.c
drivers/usb/ov511.c
drivers/usb/pwc-if.c
drivers/usb/se401.c
drivers/usb/usbvideo.c
include/linux/mm.h
mm/memory.c

index adf706a9dd934bb6ae34ddbf653adbe063371ceb..58b8afbf1e21fb0a395ebb8095ee85cefd5844cd 100644 (file)
@@ -173,22 +173,11 @@ static struct hpsb_highlevel *hl_handle = NULL;
  * defined way to get at the kernel page tables.
  */
 
-static inline unsigned long uvirt_to_bus(unsigned long adr) 
-{
-        unsigned long kva, ret;
-
-        kva = page_address(vmalloc_to_page(adr));
-       ret = virt_to_bus((void *)kva);
-        MDEBUG(printk("uv2b(%lx-->%lx)", adr, ret));
-        return ret;
-}
-
 static inline unsigned long kvirt_to_bus(unsigned long adr) 
 {
-        unsigned long va, kva, ret;
+        unsigned long kva, ret;
 
-        va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = virt_to_bus((void *)kva);
         MDEBUG(printk("kv2b(%lx-->%lx)", adr, ret));
         return ret;
@@ -200,10 +189,9 @@ static inline unsigned long kvirt_to_bus(unsigned long adr)
  */
 static inline unsigned long kvirt_to_pa(unsigned long adr) 
 {
-        unsigned long va, kva, ret;
+        unsigned long kva, ret;
 
-        va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = __pa(kva);
         MDEBUG(printk("kv2pa(%lx-->%lx)", adr, ret));
         return ret;
index 0aa1f4faf44f04ce4f005c11719cfbfed2adf3e2..44641b9ce1873ecf82d77919ec36db1cdcd07ef7 100644 (file)
@@ -141,24 +141,33 @@ __setup("bttv.radio=", p_radio);
  * defined way to get at the kernel page tables.
  */
 
-static inline unsigned long uvirt_to_bus(unsigned long adr) 
-{
-        unsigned long kva, ret;
 
-       kva = page_address(vmalloc_to_page(adr));
-       ret = virt_to_bus((void *)kva);
-        MDEBUG(printk("uv2b(%lx-->%lx)", adr, ret));
-        return ret;
+/*
+ * Take a vmalloc address, and turn it into
+ * the aliased kernel virtual address..
+ *
+ * CAREFUL! Anybody who does this gets to sit
+ * in their own cr*p when it comes to virtual
+ * cache aliases. It's _your_ problem.
+ *
+ * Also, note how it only works within one page.
+ * If you're doing page-crossing stuff, you're on
+ * your own.
+ *
+ * THIS IS BROKEN CODE! You shouldn't do things
+ * like this.
+ */
+static inline void *vmalloc_to_virt(void *addr)
+{
+       struct page *page = vmalloc_to_page(addr);
+       return page_address(page) + (~PAGE_MASK & (unsigned long)addr);
 }
 
-static inline unsigned long kvirt_to_bus(unsigned long adr) 
+static inline unsigned long kvirt_to_bus(unsigned long addr) 
 {
-        unsigned long va, kva, ret;
-
-        va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
-       ret = virt_to_bus((void *)kva);
-        MDEBUG(printk("kv2b(%lx-->%lx)", adr, ret));
+       unsigned long ret;
+       ret = virt_to_bus(vmalloc_to_virt((void *)addr));
+        MDEBUG(printk("kv2b(%lx-->%lx)", addr, ret));
         return ret;
 }
 
@@ -166,21 +175,18 @@ static inline unsigned long kvirt_to_bus(unsigned long adr)
  * This is used when initializing the contents of the
  * area and marking the pages as reserved.
  */
-static inline unsigned long kvirt_to_pa(unsigned long adr) 
+static inline unsigned long kvirt_to_pa(unsigned long addr) 
 {
-        unsigned long va, kva, ret;
-
-        va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
-       ret = __pa(kva);
-        MDEBUG(printk("kv2pa(%lx-->%lx)", adr, ret));
+        unsigned long ret;
+       ret = virt_to_phys(vmalloc_to_virt((void *)addr));
+        MDEBUG(printk("kv2pa(%lx-->%lx)", addr, ret));
         return ret;
 }
 
 static void * rvmalloc(signed long size)
 {
        void * mem;
-       unsigned long adr, page;
+       unsigned long adr;
 
        mem=vmalloc_32(size);
        if (NULL == mem)
@@ -191,8 +197,7 @@ static void * rvmalloc(signed long size)
                adr=(unsigned long) mem;
                while (size > 0) 
                 {
-                       page = kvirt_to_pa(adr);
-                       mem_map_reserve(virt_to_page(__va(page)));
+                       mem_map_reserve(vmalloc_to_page((void *)adr));
                        adr+=PAGE_SIZE;
                        size-=PAGE_SIZE;
                }
@@ -202,15 +207,14 @@ static void * rvmalloc(signed long size)
 
 static void rvfree(void * mem, signed long size)
 {
-        unsigned long adr, page;
+        unsigned long adr;
         
        if (mem) 
        {
                adr=(unsigned long) mem;
                while (size > 0) 
                 {
-                       page = kvirt_to_pa(adr);
-                       mem_map_unreserve(virt_to_page(__va(page)));
+                       mem_map_unreserve(vmalloc_to_page((void *)adr));
                        adr+=PAGE_SIZE;
                        size-=PAGE_SIZE;
                }
index 55a472c4d98d7c554d0fc09f67cc70f4fe41ae79..4b066463f2534f1ad8aa411ec77afda0f78534c6 100644 (file)
@@ -186,10 +186,9 @@ static void reset_camera_struct(struct cam_data *cam);
  */
 static inline unsigned long kvirt_to_pa(unsigned long adr)
 {
-       unsigned long va, kva, ret;
+       unsigned long kva, ret;
 
-       va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = __pa(kva);
        return ret;
 }
index a7e503e4ddd743dbaac0bb527f56bd8412d416c6..62f649d7f210d245529cde63064e71195d5227cc 100644 (file)
@@ -123,10 +123,9 @@ static inline int meye_emptyq(struct meye_queue *queue, int *elem) {
  * area and marking the pages as reserved.
  */
 static inline unsigned long kvirt_to_pa(unsigned long adr) {
-        unsigned long va, kva, ret;
+        unsigned long kva, ret;
 
-        va = VMALLOC_VMADDR(adr);
-        kva = page_address(vmalloc_to_page(va));
+        kva = page_address(vmalloc_to_page((void *) adr));
        ret = __pa(kva);
         MDEBUG(printk("kv2pa(%lx-->%lx)\n", adr, ret));
         return ret;
index fe947754f2f36e5b9bf0b3da023f48d7237e3a02..0957c2b8246bfb0abe0e0f205d5d91a5aa70ee4a 100644 (file)
@@ -380,10 +380,9 @@ static unsigned char uvQuanTable518[] = OV518_UVQUANTABLE;
 static inline unsigned long 
 kvirt_to_pa(unsigned long adr)
 {
-       unsigned long va, kva, ret;
+       unsigned long kva, ret;
 
-       va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = __pa(kva);
        return ret;
 }
index a256758bafce276b41f1f50c8a5ad91173c38321..6a9698784e0db4ce8363cad3ddbd4d8b0e37ca67 100644 (file)
@@ -184,10 +184,9 @@ static struct video_device pwc_template = {
  */
 static inline unsigned long kvirt_to_pa(unsigned long adr) 
 {
-        unsigned long va, kva, ret;
+        unsigned long kva, ret;
 
-        va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = __pa(kva);
         return ret;
 }
index c421e05c280c6af8b98ae1918ce3e0e3f7e8f13b..755858e6f21947592919c16bf67bd6d295d05938 100644 (file)
@@ -89,10 +89,9 @@ static struct usb_driver se401_driver;
  */
 static inline unsigned long kvirt_to_pa(unsigned long adr)
 {
-       unsigned long va, kva, ret;
+       unsigned long kva, ret;
 
-       va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = __pa(kva);
        return ret;
 }
index 50571ce0335eefe52ee8248d4ff817e118bb0ae4..e2dd62a84c1f1f561b51ee8b890336b4f32a834b 100644 (file)
@@ -68,10 +68,9 @@ static int usbvideo_default_procfs_write_proc(
  */
 unsigned long usbvideo_kvirt_to_pa(unsigned long adr)
 {
-       unsigned long va, kva, ret;
+       unsigned long kva, ret;
 
-       va = VMALLOC_VMADDR(adr);
-       kva = page_address(vmalloc_to_page(va));
+       kva = page_address(vmalloc_to_page((void *)adr));
        ret = __pa(kva);
        MDEBUG(printk("kv2pa(%lx-->%lx)", adr, ret));
        return ret;
index 580b32a99f935c428d09848b1636b5ee28fbf3bf..6599c710fd37eff6e7cd423bf714b3ccc9ea16d5 100644 (file)
@@ -585,7 +585,7 @@ static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * m
 
 extern struct vm_area_struct *find_extend_vma(struct mm_struct *mm, unsigned long addr);
 
-extern struct page * vmalloc_to_page(unsigned long adr);
+extern struct page * vmalloc_to_page(void *addr);
 
 #endif /* __KERNEL__ */
 
index 976fd785cb6f1395839fa335042c4cebc007fa38..a7ecc422dd1a835467680f3e7caa61b15fc1c6fd 100644 (file)
@@ -1480,8 +1480,9 @@ int make_pages_present(unsigned long addr, unsigned long end)
 /* 
  * Map a vmalloc()-space virtual address to the physical page.
  */
-struct page * vmalloc_to_page(unsigned long addr)
+struct page * vmalloc_to_page(void * vmalloc_addr)
 {
+       unsigned long addr = (unsigned long) vmalloc_addr;
        struct page *page = NULL;
        pgd_t *pgd = pgd_offset_k(addr);
        pmd_t *pmd;