--- omnibook-2.20090714/ac.c 2007-01-31 16:05:36.000000000 -0500 +++ omnibook-2.20090714/ac.c 2011-01-11 15:43:09.645053510 -0500 @@ -42,7 +42,7 @@ static struct omnibook_tbl ac_table[] __ {0,} }; -struct omnibook_feature __declared_feature ac_driver = { +static struct omnibook_feature __declared_feature ac_driver = { .name = "ac", #ifdef CONFIG_OMNIBOOK_LEGACY .enabled = 1, --- omnibook-2.20090714/cooling.c 2009-03-09 13:17:06.000000000 -0400 +++ omnibook-2.20090714/cooling.c 2011-01-11 15:43:47.088688071 -0500 @@ -80,7 +80,7 @@ static struct omnibook_tbl cooling_table {0,} }; -struct omnibook_feature __declared_feature cooling_driver = { +static struct omnibook_feature __declared_feature cooling_driver = { .name = "cooling", .enabled = 1, .read = omnibook_cooling_read, --- omnibook-2.20090714/init.c 2009-07-14 12:14:50.000000000 -0400 +++ omnibook-2.20090714/init.c 2011-01-12 18:25:32.751797277 -0500 @@ -216,6 +216,8 @@ static struct omnibook_operation *omnibo for (i = 0; tbl[i].ectypes; i++) { if (omnibook_ectype & tbl[i].ectypes) { + dprintk("Attempting backend %s init.\n", + tbl[i].io_op.backend->name); if (tbl[i].io_op.backend->init && tbl[i].io_op.backend->init(&tbl[i].io_op)) { dprintk("Backend %s init failed, skipping entry.\n", tbl[i].io_op.backend->name); @@ -253,6 +255,7 @@ static int __init omnibook_init(struct o dprintk("Match failed: disabling %s.\n", feature->name); return -ENODEV; } + dprintk("Match succeeded: continuing with %s.\n", feature->name); feature->io_op = kmalloc(sizeof(struct omnibook_operation), GFP_KERNEL); if (!feature->io_op) return -ENOMEM; @@ -323,10 +326,14 @@ static int __init omnibook_probe(struct return -ENOMEM; INIT_LIST_HEAD(&omnibook_available_feature->list); + dprintk("Feature range %p - %p\n", _start_features_driver, _end_features_driver); + for (i = 0; i < _end_features_driver - _start_features_driver; i++) { feature = &_start_features_driver[i]; - + dprintk("Testing feature %s at address %p\n", feature->name, feature); + if (!feature->name) + continue; if (!feature->enabled) continue; --- omnibook-2.20090714/omnibook.h 2009-03-09 13:17:06.000000000 -0400 +++ omnibook-2.20090714/omnibook.h 2011-01-12 18:37:23.105608868 -0500 @@ -66,6 +66,7 @@ struct omnibook_feature { struct omnibook_tbl *tbl; struct omnibook_operation *io_op; struct list_head list; + long pad[3]; }; /* --- omnibook-2.20090714/throttling.c 2009-03-09 13:17:06.000000000 -0400 +++ omnibook-2.20090714/throttling.c 2011-01-11 15:44:19.825117114 -0500 @@ -68,7 +68,7 @@ static struct omnibook_tbl throttle_tabl {0,} }; -struct omnibook_feature __declared_feature throttle_driver = { +static struct omnibook_feature __declared_feature throttle_driver = { .name = "throttling", .enabled = 1, .read = omnibook_throttle_read,