Messages in this thread | | | Date | Wed, 07 Dec 2005 09:20:55 +1100 | From | Nick Piggin <> | Subject | Re: [PATCH 2.6.15-rc4 1/1] cpia: use vm_insert_page() instead of remap_pfn_range() |
| |
Nick Holloway wrote: > On Tue, Dec 06, 2005 at 07:10:12PM +0000, Christoph Hellwig wrote: > >>> pos = (unsigned long)(cam->frame_buf); >>> while (size > 0) { >>>- page = vmalloc_to_pfn((void *)pos); >>>- if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { >>>+ page = vmalloc_to_page((void *)pos); >>>+ if (vm_insert_page(vma, start, page)) { >> >>it would be nicer to do the arithmetis on pos as pointers rather than unsigned >>long. Also you might want to use alloc_pages + vmap instead of vmalloc so that >>you already have a page array. Or we should provide a helper that walks over >>a vmalloc'ed region and calls vmalloc_to_page + vm_insert_page. Either way >>this type of code is duplicated far too much and we'd really need some better >>interface for it. > > > As I said in my previous mail, the patch was just switching to use > vm_insert_page, and not any other cleanups. > > I agree that a helper is a good idea, as the vmalloc, SetPageReserved, > remap_pfn_range (was remap_page_range in 2.4) pattern has been copied > and pasted across many video4linux drivers. > > The cpia driver could do with other cleanups. > > - It doesn't have a sysfs release callback (so says warning printk). > - The colourspace conversion has been disabled, but should be > ripped out. > - Needs to support V4L2 API >
- remove the last traces of rvmalloc (which is an oft repeated code sequence in drivers, means something like vmalloc + SetPageReserved)
-- SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
- 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/
| |