Skip to contentSkip to conversation

mii module broken under new scheme

PATCH Petr Vandrovec 3 participants 3 messages Nov 19, 2002

lore
Share & tools
lore
#0 lore raw
Quoted 8 lines · Jeff Garzik
Quoted 5 lines · Matt Reppert

drivers/net/mii.c doesn't export module init/cleanup functions. That means it
can't be loaded under the new module scheme. This patch adds do-nothing functions for it, which allows it to load. (8139too depends on mii, so without this I don't have network.)

Quoted 4 lines

ahhh! I was wondering what was up, but since I was busy with other
things I just compiled it into the kernel and continued on my way.

That's a bug in the new module loader.

Rusty told me that it is intentional. Add

no_module_init;

at the end of module. He even sent patch which fixes dozen of such modules (15 I had on my system...) to Linus, but it get somehow lost.

Only question is whether we want to have it this way or no. And if yes, whether we do not want to move no_module_init from linux/init.h to linux/module.h: all of affected modules were already including module.h to get MODULE_LICENSE() & other, but almost none of them included init.h.
Petr Vandrovec [email protected]

#1 lore raw
Quoted 6 lines · Petr Vandrovec

Rusty told me that it is intentional. Add

no_module_init;

at the end of module. He even sent patch which fixes dozen of such modules (15 I had on my system...) to Linus, but it get somehow lost.

I know.

I'm hoping Linus intentionally dropped it, because it's silly. See the other message I just posted. It's redundant because the module loader can obviously figure out there is no init nor exit routine. It's just like EXPORT_NO_SYMBOLS: redundant and obvious.

<rant>
Why the fsck is Rusty's new module code requiring all these driver changes??? Note from your message above that there are "dozens" of modules which worked just fine, but now they need to be changed under Rusty's new system.

I thought Rusty's new stuff was going to cause minimal to no driver breakage. You know, at kernel summit there was the thought that we should just disable module -un-loading. I wish he had stuck with that simple idea, plus module_param [because MODULE_PARM obviously sucks]. </rant>

Jeff, grumbling driver author who sees his drivers diverging and
breaking...

#2 lore raw
In reply to Petr Vandrovec
Quoted 6 lines · [email protected] said:

Rusty told me that it is intentional. Add
no_module_init;
at the end of module. He even sent patch which fixes dozen of such modules (15 I had on my system...) to Linus, but it get somehow lost.

Only question is whether we want to have it this way or no.

Some questions you might want to consider before that one:

1. How do we handle "insmod -odummy0 dummy.o ; insmod -odummy1 dummy.o"

2. When does the module name differ from the filename (modulo .o) ?

3. Given your answers to #1 and #2, is the module name redundant anyway?

--
dwmw2