public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@stusta.de>
To: Armin Schindler <armin@melware.de>
Cc: randy.dunlap@oracle.com, kai.germaschewski@gmx.de,
	isdn4linux@listserv.isdn4linux.de, linux-kernel@vger.kernel.org,
	kkeil@suse.de
Subject: Re: [RFC: 2.6 patch] fix ISDN_CAPI<->ISDN_DIVAS
Date: Thu, 29 Mar 2007 19:29:56 +0200	[thread overview]
Message-ID: <20070329172956.GB14134@stusta.de> (raw)
In-Reply-To: <Pine.LNX.4.61.0703291235330.12116@phoenix.one.melware.de>

On Thu, Mar 29, 2007 at 01:06:12PM +0200, Armin Schindler wrote:
> 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?


This is a solution.

It implies that CONFIG_ISDN_CAPI=n, CONFIG_ISDN_DIVAS=y/m or 
CONFIG_ISDN_CAPI=m, CONFIG_ISDN_DIVAS=y will not be possible, and the 
"experts who want to use the DIVAS own API" you were talking about have 
to enable CONFIG_ISDN_CAPI in their kernel. But considering that it 
isn't a new problem, and you as the maintainer hadn't heard about it 
before (it results in the driver not being included into the kernel 
despite CONFIG_ISDN_DIVAS=y), this might be a pure theoretical 
configuration not worth supporting.


> Armin

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  reply	other threads:[~2007-03-29 17:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-24 13:06 [RFC: 2.6 patch] fix ISDN_CAPI<->ISDN_DIVAS Adrian Bunk
2007-03-24 13:49 ` Armin Schindler
2007-03-24 15:08   ` Adrian Bunk
2007-03-29 11:06     ` Armin Schindler
2007-03-29 17:29       ` Adrian Bunk [this message]
2007-03-29 18:00         ` Armin Schindler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070329172956.GB14134@stusta.de \
    --to=bunk@stusta.de \
    --cc=armin@melware.de \
    --cc=isdn4linux@listserv.isdn4linux.de \
    --cc=kai.germaschewski@gmx.de \
    --cc=kkeil@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox