Messages in this thread | | | Subject | Re: + add-cpia2-camera-support.patch added to -mm tree | From | Arjan van de Ven <> | Date | Fri, 24 Feb 2006 10:06:55 +0100 |
| |
> + > +/* Here we want the physical address of the memory. > + * 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) > +{ > + unsigned long kva, ret; > + > + kva = (unsigned long) page_address(vmalloc_to_page((void *)adr)); > + kva |= adr & (PAGE_SIZE-1); /* restore the offset */ > + ret = __pa(kva); > + return ret; > +} > + > +static void *rvmalloc(unsigned long size) > +{ > + void *mem; > + unsigned long adr; > + > + /* Round it off to PAGE_SIZE */ > + size = PAGE_ALIGN(size); > + > + mem = vmalloc_32(size); > + if (!mem) > + return NULL; > + > + memset(mem, 0, size); /* Clear the ram out, no junk to the user */ > + adr = (unsigned long) mem; > + > + while ((long)size > 0) { > + SetPageReserved(vmalloc_to_page((void *)adr)); > + adr += PAGE_SIZE; > + size -= PAGE_SIZE; > + } > + return mem; > +}
you are adding rvmalloc copy number 14; seems you own the task to make it generic now ;) Also I thought SetPageReserved and friends are deprecated :)
> +struct camera_data { > + /* locks */ > + struct semaphore busy_lock; /* guard against SMP multithreading */ > + struct v4l2_prio_state prio; > +
please make this use mutexes; adding new semaphores for no reason is not a good idea...
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |