Re: [PATCH] 2.5.1[345]-dj Add cpqarray_init() back into genhd.c

Adam Kropelin (akropel1@rochester.rr.com)
Tue, 14 May 2002 07:38:33 -0400


On Tue, May 14, 2002 at 01:31:38PM +1000, Keith Owens wrote:
> On Mon, 13 May 2002 22:49:08 -0400,
> Adam Kropelin <akropel1@rochester.rr.com> wrote:
> >On Tue, May 14, 2002 at 12:24:23PM +1000, Keith Owens wrote:
> >> The real problem appears to be cpqarray.c, it wraps the init/exit code
> >> in #ifdef MODULE, so the init code is only available to modules. I
> >> think that cpqarray.c should remove the #ifdef MODULE and use the same
> >> init mechanism as other drivers, including module_init/exit. I don't
> >> have a card and the code is a mess so I am not going to attempt a patch.
> >
> >I'm not seeing it. I see init_module() and cleanup_module() wrapped as you say
> >but cpqarray_init() is outside the #ifdef. Also, two versions of cpqarray_setup
> >are provided based on #ifdef MODULE but this doesn't look problematic to me.
> >I'm a newbie, for sure. Am I overlooking something obvious?
>
> The call to cpqarray_init() is from init_module() which does not exist
> when the code is built in. See drivers/block/loop.c for an example of
> the correct use of init and exit routines, using module_init and
> module_exit.

Ah, I think I see your point now. The call to cpqarray_init() from genhd.c was
a hack, needed only because cpqarray doesn't use the module_init/module_exit
mechanism. Sorry I took so long to catch on and thanks for your patience.

Since I do have a card and the motivation to see this driver work when
compiled-in, I'll attempt a more correct fix tonight.

--Adam

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/