2003-07-10 05:11:27

by Jeff Chua

[permalink] [raw]
Subject: [PATCH] 2.4.22-pre4 ide module fix init_cmd640_vlb


Marcelo,

The following patch fixes problem when CONFIG_BLK_DEV_CMD640=y

depmod: *** Unresolved symbols in /lib/modules/2.4.22-pre4/kernel/drivers/ide/ide-core.o
depmod: init_cmd640_vlb

init_cmd640_vlb() doesn't exist. This patch removes the function call so
that ide can be loaded as a module.

Thanks,
Jeff.

--- drivers/ide/ide.c Thu Jul 10 13:03:49 2003
+++ drivers/ide/ide.c.new Thu Jul 10 13:03:55 2003
@@ -2112,8 +2112,6 @@
#ifdef CONFIG_BLK_DEV_CMD640
case -14: /* "cmd640_vlb" */
{
- extern void init_cmd640_vlb (void);
- init_cmd640_vlb();
goto done;
}
#endif /* CONFIG_BLK_DEV_CMD640 */



2003-07-10 11:03:29

by Alan

[permalink] [raw]
Subject: Re: [PATCH] 2.4.22-pre4 ide module fix init_cmd640_vlb

On Iau, 2003-07-10 at 06:23, Jeff Chua wrote:
> Marcelo,
>
> The following patch fixes problem when CONFIG_BLK_DEV_CMD640=y
>
> depmod: *** Unresolved symbols in /lib/modules/2.4.22-pre4/kernel/drivers/ide/ide-core.o
> depmod: init_cmd640_vlb
>
> init_cmd640_vlb() doesn't exist. This patch removes the function call so
> that ide can be loaded as a module.

And stops it working for everyone else. The function does exist too. See
drivers/ide/pci/cmd640.c




2003-07-10 13:36:35

by James Bourne

[permalink] [raw]
Subject: Re: [PATCH] 2.4.22-pre4 ide module fix init_cmd640_vlb

On 10 Jul 2003, Alan Cox wrote:

> And stops it working for everyone else. The function does exist too. See
> drivers/ide/pci/cmd640.c

Isn't this just an issue of doing an export_symbol?

Here's a patch that does that exact thing, I haven't tested it though.

Regards
James

--
James Bourne | Email: [email protected]
Unix Systems Administrator | WWW: http://www.hardrock.org
Custom Unix Programming | Linux: The choice of a GNU generation
----------------------------------------------------------------------
"All you need's an occasional kick in the philosophy." Frank Herbert


Attachments:
2.4.22-pre4-cmd640.patch (327.00 B)

2003-07-10 18:14:20

by Jeff Chua

[permalink] [raw]
Subject: Re: [PATCH] 2.4.22-pre4 ide module fix init_cmd640_vlb

On Thu, 10 Jul 2003, James Bourne wrote:

> On 10 Jul 2003, Alan Cox wrote:
>
> > And stops it working for everyone else. The function does exist too. See
> > drivers/ide/pci/cmd640.c

Sorry. Missed this one.


> Here's a patch that does that exact thing, I haven't tested it though.
>

"make" doesn't seem to pick up ide/pci/cmd640.c when IDE is compiled as a
module.

touch drivers/ide/pci/cmd640.c; make; make modules;
*** it doesn't compile cmd640.c


Jeff





2003-07-11 05:35:46

by Jeff Chua

[permalink] [raw]
Subject: Re: [PATCH] 2.4.22-pre4 ide module fix init_cmd640_vlb


One more thing ... when compiled as a module, DMA can't be enabled!
If compiled as non-modules (CONFIG_IDE=y, CONFIG_BLK_DEV_IDE=y), DMA works
fine.


# hdparm -d 1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)



My .config ...

CONFIG_IDE=m
CONFIG_BLK_DEV_IDE=m
CONFIG_BLK_DEV_IDEDISK=m
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y



Thanks,
Jeff
[ [email protected] ]

On Fri, 11 Jul 2003, Jeff Chua wrote:

> On Thu, 10 Jul 2003, James Bourne wrote:
>
> > On 10 Jul 2003, Alan Cox wrote:
> >
> > > And stops it working for everyone else. The function does exist too. See
> > > drivers/ide/pci/cmd640.c
>
> Sorry. Missed this one.
>
>
> > Here's a patch that does that exact thing, I haven't tested it though.
> >
>
> "make" doesn't seem to pick up ide/pci/cmd640.c when IDE is compiled as a
> module.
>
> touch drivers/ide/pci/cmd640.c; make; make modules;
> *** it doesn't compile cmd640.c
>
>
> Jeff
>
>
>
>