Hi, i'm using the fcpci module supplied by fritzcapi ebuild. it compiles fine (with some warning about implicit declaration of pci_module_init) but then it fails to load. dmesg says: fcpci: Unknown symbol pci_module_init besides fcpci, other modules supplied by fritzcapi ebuild may be affected.
pci_module_init disappeared with kernel 2.6.22 and should be replaced by pci_register_driver. Can you please try if just exchanging them works?
in pci.h of kernel 2.6.21, i found this line: #define pci_module_init pci_register_driver So i think, we can be pretty sure, that it would work. I haven't tested yet, though. I will try to write a patch. (But don't wait for me ...)
Created attachment 124514 [details] fritzcapi-2.6.22.patch patch for kernel 2.6.22 and above
The attached patch can be used to make fritzcapi work with 2.6.22. Actually i'm running the patched fcpci module right now.
Patch looks good.
thank you, added to portage.
Maybe, to ensure backwards compatibility, the patch should only be applied if the kernel version is >= 2.6.22 ? (the kernel eclass offers some assistance in comparing versions, doesn't it?)
The patch is fine to apply unconditionally. pci_register_driver has been available for a very long time.
(In reply to comment #8) The patch or ebuild doesn't seem to work for amd64 systems. The fritzcapi package compiles but doesn't work because the patch 2.6.22 patch isn't applied for amd64 systems.
*** Bug 190152 has been marked as a duplicate of this bug. ***
Reopen; why is this applied on x86 only?
The patch that I added in bug 190152 also works for amd64 and checks for the kernel number being greater equal 2.6.22.
I still get: fcpci: Unknown symbol pci_module_init on an AMD64 System and kernel 2.6.22-gentoo-r2. Did my last sync today (29.08.07)
ok, I added the fcpci only amd64 patch from 190152 for now. Feel free to contribute the same for the other drivers :)