[PATCH 1/8] pcmcia: Add an id to ide-cs.c

Dominik Brodowski linux at dominikbrodowski.net
Mon Nov 20 12:43:33 EST 2006


On Mon, Nov 20, 2006 at 09:53:49AM +0000, Russell King wrote:
> On Sun, Nov 19, 2006 at 11:38:51AM -0500, Dominik Brodowski wrote:
> > 
> > From: Matt Reimer <mattjreimer at gmail.com>
> > Date: Thu, 26 Oct 2006 15:56:00 -0700
> > Subject: [PATCH] pcmcia: Add an id to ide-cs.c
> > 
> > Add an ID entry for:
> > 
> > product info: "TRANSCEND", "TS1GCF80", "", ""
> > manfid: 0x000a, 0x0000
> > function: 4 (fixed disk)
> Erm, silly question: isn't this supposed to be matched by the following:
> static struct pcmcia_device_id ide_ids[] = {
> or are we going to be ignoring the function ID and only matching using
> the manfid and product info strings?

As the matching by func_id is fuzzy and gives false positives, this is a
multiple-step process:

a) the kernel checks all built-in and previously loaded modules for
   prod_id and manf_id matches

b) userspace (udev/hotplug + modprobe) loads appropriate modules (including
   those which are only matched by func_id

c) during the module initialization (e.g. modprobe hasn't returned yet) the
   kernel checks the modules based on prod_id and manf_id matches

d) after all these modprobe calls return, userspace writes "1" into
   /sys/$devpath/allow_func_id_match. Then, the kernel re-checks all
   built-in and previously loaded modules for func_id "fuzzy" matches.

It is self-evident that steps b)-d) only work once userspace is ready. As
PCMCIA drivers should be able to work even before that, manf_id and prod_id
table entries do make sense even if func_id matching works.


More information about the linux-pcmcia mailing list