Re: Trying to run 2.6.0-test3

Russell King
2003-08-18T11:21:10Z

On Mon, Aug 18, 2003 at 07:41:34PM +0900, Norman Diamond wrote:
> "Russell King" <rmk@arm.linux.org.uk> replied to me:
> > Not quite. This is an old problem dating back several years to early 2.4
> > times. Back in the dark old days, ide-cs used to use the name "ide_cs" to
> > bind the driver to the device. It now uses "ide-cs" for binding.
>
> Yes the problem is reminiscent of early 2.4 days, but how is it that 2.4.19
> doesn't have the problem and 2.6.0-test3 does have the problem on the same
> machine?

In 2.6.0-test3:

linux/drivers/ide/legacy/ide-cs.c:

static dev_info_t dev_info = "ide-cs";

In 2.4.21:

linux/drivers/ide/legacy/ide-cs.c

static dev_info_t dev_info = "ide-cs";

The pcmcia-cs package may have ide-cs called ide_cs though.

> > Make sure that "ide_cs" isn't mentioned in /etc/pcmcia/config - if it
> > is, change it to "ide-cs".
>
> I will hope to have time to check this next weekend, but I'm sure the 2.4
> name ide-cs is used. I was startled to see 2.6.0-test3 load a module named
> ide_cs instead of ide-cs, but there it was. It was listed that way by
> lsmod, but failing in the bind as shown above. Notice that modprobe used
> the same name as lsmod showed.

The output of lsmod can be confusing. '-' is replaced by '_' in the
module name. This doesn't affect module binding, loading or unloading.
You can still rmmod ide-cs even if it's called ide_cs.

In either case, this is what should be in /etc/pcmcia/config:

device "ide-cs"
class "ide" module "ide-cs"

pcmcia-cs 3.1.24 ships with:

device "ide_cs"
class "ide" module "ide_cs"

which is wrong for the kernels ide-cs implementation.

The first line contains the device name, and is also the name used to
bind the driver to the device. (this is referenced by the "bind"
statements in the "card" sections.) The second line contains the
module name(s) to load.

--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux