From: Jeff Garzik <jeff@garzik.org>
To: Frans Pop <elendil@planet.nl>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
isdn4linux@listserv.isdn4linux.de,
Andi Kleen <andi@firstfloor.org>
Subject: Re: [git patches] ISDN cleanups (modularization prep)
Date: Thu, 24 Apr 2008 22:46:56 -0400 [thread overview]
Message-ID: <48114620.2060508@garzik.org> (raw)
In-Reply-To: <200804212221.24586.elendil@planet.nl>
Frans Pop wrote:
> (Let's change the subject back to what it was :-)
>
> Jeff Garzik wrote:
>> Frans Pop wrote:
>>> But when I tried to modprobe hisax, I got:
>>> # modprobe hisax
>>> FATAL: Module hisax not found.
>>>
>>> Cause seems to be:
>>> # depmod -a
>>> WARNING: Module
>>> /lib/modules/2.6.25-isdn/kernel/drivers/isdn/hisax/hisaxdiva.ko ignored,
>>> due to loop WARNING: Module
>>> /lib/modules/2.6.25-isdn/kernel/drivers/isdn/hisax/libhisax.ko ignored,
>>> due to loop WARNING: Loop
>>> detected: /lib/modules/2.6.25-isdn/kernel/drivers/isdn/hisax/hisax.ko
>>> needs libhisax.ko which needs hisax.ko again!
>>> WARNING: Module
>>> /lib/modules/2.6.25-isdn/kernel/drivers/isdn/hisax/hisax.ko ignored, due
>>> to loop
>> Yeah, that's what my patchset does -- splits the "hisax" driver into
>> multiple smaller drivers. Thus, "modprobe hisax" produces the results
>> that you are seeing.
>
> Hmmm. Isn't that going to break things for existing users?
At present, yes. Ultimately I want to find a solution that doesn't
break existing users, but I am still at the early "trying to see if it
works at all" stage.
> For example, I currently have this in /etc/modprobe.d/hisax to get the two
> cards to work correctly:
> options hisax type=9,11 protocol=2,2 irq=10 io=0x398
>
> This effectively translates to:
> - ITK card: type=9 protocol=2 irq=10 io=0x398
> - Diva card: type=11 protocol=2
>
> To what would I have to change this?
Two changes:
1) 'type' is now automatically deduced based on your choice of driver,
so it is not needed anymore.
2) The module options are passed to the specific module, rather than the
hisax module.
'protocol', 'irq' and 'io' module options should remain completely
compatible with existing setups.
>> You'll need to determine which newly-created kernel module applies to
>> your hardware. Let me know if you need help with that. The new drivers
>> should be in /lib/modules/2.6.25-isdn/kernel/drivers/isdn/hisax/
>> provided that you enabled them in the kernel configuration.
>
> I think that I have the correct config (unset options omitted):
> CONFIG_ISDN=m
> CONFIG_ISDN_I4L=m
> # ISDN feature submodules
> # ISDN4Linux hardware drivers
> # Passive cards
> CONFIG_ISDN_DRV_HISAX=m
> # D-channel protocol features
> CONFIG_HISAX_EURO=y
> CONFIG_HISAX_MAX_CARDS=8
> # HiSax supported cards
> CONFIG_HISAX_16_3=y
> CONFIG_HISAX_IX1MICROR2=y
> CONFIG_HISAX_DIEHLDIVA=m
>
> Note that HISAX_16_3 and HISAX_IX1MICROR2 are y/n config options; making
> those modular is not allowed.
>
> This results in the following modules under drivers/isdn:
> /lib/modules/2.6.25-isdn/kernel/drivers/isdn/hisax:
> hisaxdiva.ko hisax.ko libhisax.ko
> /lib/modules/2.6.25-isdn/kernel/drivers/isdn/i4l:
> isdn.ko
>
> So AFAICT, I should still be loading hisax for the ITK card.
>
> Also, I doubt that depmod is supposed to fail like the way I saw. Seems to
> me that the "loop" errors during depmod are the cause of the modules not
> being loadable.
> Note that 'modprobe hisaxdiva' fails with the exact same message as for
> hisax and that depmod even explicitly says that the modules are "ignored"!
Yeah, it looks like the ITK card is still served by the main hisax
module (not all were converted, just the ones related to PCI).
Maybe try manually modprobing libhisax and then hisaxdiva.
Also try disabling the ITK support in Kconfig and see if that at least
permits you to load the hisaxdiva driver.
My apologies for all the caveats, this is quite raw code. I appreciate
your taking a look at this!
Jeff
next prev parent reply other threads:[~2008-04-25 2:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-20 22:39 [git patches] ISDN cleanups (modularization prep) Jeff Garzik
2008-04-21 0:05 ` ISDN testing (was: [git patches] ISDN cleanups (modularization prep)) Frans Pop
2008-04-21 1:43 ` ISDN testing Jeff Garzik
2008-04-21 13:36 ` Frans Pop
2008-04-21 19:22 ` Jeff Garzik
2008-04-21 19:48 ` Andi Kleen
2008-04-25 2:39 ` Jeff Garzik
2008-04-21 20:21 ` [git patches] ISDN cleanups (modularization prep) (was: ISDN testing) Frans Pop
2008-04-25 2:46 ` Jeff Garzik [this message]
2008-04-26 19:42 ` [git patches] ISDN cleanups (modularization prep) Frans Pop
2008-04-25 16:47 ` ISDN testing (was: [git patches] ISDN cleanups (modularization prep)) Jan Engelhardt
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=48114620.2060508@garzik.org \
--to=jeff@garzik.org \
--cc=andi@firstfloor.org \
--cc=elendil@planet.nl \
--cc=isdn4linux@listserv.isdn4linux.de \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).