I would just like to find out if there is any real reason why there are
no memory management functions for handling vmalloc()ed memory. If you
have a look at bttv.c, you will see definitions of:
kvirt_to_pa (translate a vmalloc()ed address to a page number)
rvmalloc (malloc and mark as reserved)
rvfree (free and mark as unreserved)
These functions are duplicated (in fact, usually a direct copy), in just
about every video4linux driver (including many as standalone modules),
and some network and sound drivers.
Wouldn't it be a good idea to provide these functions as a standard part
of the mm subsystem of the kernel. The functions are very small, but
closely related to the vm subsystem - standardising these functions
should reduce the kernel size a little, and also make module development
a little easier (I personally have been caught once or twice by changes
in the mm subsystem breaking the kvirt to phys translation).
Would such a patch be acceptable? If it is, I will be glad to make a
patch and submit it.