Simplify the code emitted by makeobjops.awk slightly.

Just place the default kobj_method inside the kobjop_desc structure.
There's no need to give these kobj_methods their own symbol. This shaves
off 10 KB of a GENERIC kernel binary.
This commit is contained in:
Ed Schouten 2011-11-09 11:00:29 +00:00
parent 5086c26a6c
commit d09ebcec17
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=227384
3 changed files with 3 additions and 8 deletions

View File

@ -251,7 +251,7 @@ kobj_lookup_method(kobj_class_t cls,
ce = kobj_lookup_method_mi(cls, desc);
if (!ce)
ce = desc->deflt;
ce = &desc->deflt;
*cep = ce;
return ce;
}

View File

@ -86,7 +86,7 @@ struct kobj_ops {
struct kobjop_desc {
unsigned int id; /* unique ID */
kobj_method_t *deflt; /* default implementation */
kobj_method_t deflt; /* default implementation */
};
/*

View File

@ -306,13 +306,8 @@ function handle_method (static, doc)
printh(format_line(prototype argument_list ");",
line_width, length(prototype)));
# Print out the method desc
printc("static const struct kobj_method " mname "_method_default = {");
printc("\t&" mname "_desc, (kobjop_t) " default_function);
printc("};\n");
printc("struct kobjop_desc " mname "_desc = {");
printc("\t0, &" mname "_method_default");
printc("\t0, { &" mname "_desc, (kobjop_t)" default_function " }");
printc("};\n");
# Print out the method itself