Re: [PATCH] Overzealous permenant mark removed

Rusty Russell (
Tue, 31 Dec 2002 17:55:03 +1100

In message <> you write:
> On Fri, Dec 27, 2002 at 07:44:41PM +1100, Rusty Russell wrote:
> > Name: Modules without init functions don't need exit functions
> > D: If modules don't use module_exit(), they cannot be unloaded. This
> > D: safety mechanism should not apply for modules which don't use
> > D: module_init() (implying they have nothing to clean up anyway).
> Just a heads up, as this bit me with agpgart which had a module_init()
> but no module_exit() and then found itself un-unloadable[1].
> I don't know if agpgart found itself in the unique position of doing
> this (It only really used its _init function to clear some vars,
> and printk a banner), but its something to keep an eye out for.

The banner, well, you know Linus' position on printing banners 8)

The rest seems superfluous:

int __init agp_init(void)
static int already_initialised=0;

if (already_initialised!=0)
return 0;

already_initialised = 1;

memset(&agp_bridge, 0, sizeof(struct agp_bridge_data));
agp_bridge.type = NOT_SUPPORTED;

printk(KERN_INFO "Linux agpgart interface v%d.%d (c) Dave Jones\n",
return 0;

Hope that helps,

  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at