[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.61.0703291235330.12116@phoenix.one.melware.de>
Date: Thu, 29 Mar 2007 13:06:12 +0200 (CEST)
From: Armin Schindler <armin@...ware.de>
To: Adrian Bunk <bunk@...sta.de>
Cc: randy.dunlap@...cle.com, kai.germaschewski@....de,
isdn4linux@...tserv.isdn4linux.de, linux-kernel@...r.kernel.org,
kkeil@...e.de
Subject: Re: [RFC: 2.6 patch] fix ISDN_CAPI<->ISDN_DIVAS
On Sat, 24 Mar 2007, Adrian Bunk wrote:
> On Sat, Mar 24, 2007 at 02:49:42PM +0100, Armin Schindler wrote:
> > On Sat, 24 Mar 2007, Adrian Bunk wrote:
> > > Randy Dunlap reported in kernel Bugzilla #8241 the following compile
> > > error with CONFIG_ISDN_CAPI=m, CONFIG_ISDN_DIVAS=y:
> > >
> > > <-- snip -->
> > >
> > > ...
> > > WARNING: "DIVA_DIDD_Read" [drivers/isdn/hardware/eicon/divacapi.ko] undefined!
> > > WARNING: "DIVA_DIDD_Read" [drivers/isdn/hardware/eicon/diva_mnt.ko] undefined!
> > > WARNING: "DIVA_DIDD_Read" [drivers/isdn/hardware/eicon/diva_idi.ko] undefined!
> > > WARNING: "proc_net_eicon" [drivers/isdn/hardware/eicon/diva_idi.ko] undefined!
> > > make[1]: *** [__modpost] Error 1
> > >
> > > <-- snip -->
> > >
> > >
> > > Kconfig contains the following strange thing:
> > >
> > > menu "Active Eicon DIVA Server cards"
> > > depends on NET && ISDN && ISDN_CAPI!=n
> > >
> > >
> > > It seems that except for ISDN_DIVAS_DIVACAPI (that already has a proper
> > > dependency), nothing here actually requires ISDN_CAPI?
> >
> > Not quite true. Yes, the base modules for the divas driver do not require
> > ISDN_CAPI, but without ISDN_CAPI it doesn't make any sense.
>
> Let me try to understand this:
>
> Does it make sense to have CONFIG_ISDN_DIVAS=y, CONFIG_ISDN_CAPI=m?
Yes, this is possible. DIVAS itself does not depend on CAPI.
> And do CONFIG_ISDN_DIVAS=y/m, CONFIG_ISDN_DIVAS_DIVACAPI=n
> configurations make sense?
Yes, but for only for experts who want to use the DIVAS own API
without CAPI.
> If not, what about:
> - let ISDN_DIVAS depend on ISDN_CAPI and
> - enable ISDN_DIVAS_DIVACAPI unconditionally (and perhaps even build
> it into the divas module)?
That would not be correct.
> > The patch below (go into /hardware even for non ISDN_CAPI) is wrong. The
> > subdir /hardware was created for new drivers using CAPI. So it is correct to
> > go there when ISDN_CAPI != n only.
> >
> > I don't understand the warnings above. The symbols are exported by divas
> > modules, so why is it causing warnings? There have been no change in the
> > divas modules for this. Any change in the kernel module creation structure
> > which may causing this?
>
> These aren't warnings, these are errors.
>
> Due to
> obj-$(CONFIG_ISDN_CAPI) += hardware/
>
> hardware/ isn't visited with CONFIG_ISDN_CAPI=m when building vmlinux.
>
> This means the modules were built, but the static code they were using
> wasn't linkd into the kernel.
>
> This might not have occured before since CONFIG_ISDN_CAPI=m,
> CONFIG_ISDN_DIVAS=y is an unusual configuration.
I see. So for DIVAS the line
obj-$(CONFIG_ISDN_CAPI) += hardware/
causes the trouble, because all hardware/ driver are meant to be CAPI
drivers...
In that case we should change hardware/eicon/ as you proposed:
> - let ISDN_DIVAS depend on ISDN_CAPI and
So the solution might be just to change
menu "Active Eicon DIVA Server cards"
depends on NET && ISDN && ISDN_CAPI!=n
to
menu "Active Eicon DIVA Server cards"
depends on NET && ISDN && ISDN_CAPI
in drivers/isdn/hardware/eicon/Kconfig
right?
Armin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists