## page was renamed from KernelJanitors/Todo/VoidP
= (void*) conversions =

Here are a few tips and scripts how to find unnecessary (void*) conversions.

== Find (void*) functions ==

Here's a script that finds all functions returning (void*): [[attachment:find_voidp_funcs.pl]]

Example: {{{
./find_voidp_funcs.pl linux-2.6.git/
}}}

== Finding and removing type conversion on such assignments ==

Another script has an embedded list of such function names (after the _END_), or can take such names on the commandline: [[attachment:type-convs.pl]]

Example: {{{
./type-convs.pl linux-2.6.git kmalloc
}}}

The output is a patch that removes these type conversions; the source files are kept unchanged.


== (void*) variable assignments ==

Some kernel structures have variables meant to be private to some driver, normally named "priv" or "private"; these are of type "(void *)", and need not be casted to some other type.

This script returns a patch for such assignments: [[attachment:voidp_vars.pl]]

Example: {{{
./voidp_vars.pl linux-2.6.git kmalloc
}}}