I'm not sure about the origin of the comment. But I can think of one
reason for starting PCMCIA after at least other device drivers have
started: since the kernel generally relies on individual drivers to
announce their resource allocations, there is no way to reliably do
resource allocation for hot plug devices before non-hot-plug devices
have enumerated what resources they're already using.
> Now, every time I try to understand the relationship between socket
> services, card services, socket drivers and driver services my brain
> bursts. Could some kind soul please what these things do, and how
> they fit together? Thanks.
Card services manages a few things for PCMCIA client drivers: hot plug
event handling, resource allocation, PCMCIA bus configuration, Card
Information Structure parsing, and some abstractions for talking to
memory cards. The Linux version, in the pcmcia_core module, is based
heavily on the PCMCIA standard documents. Socket services is the
PCMCIA standard API for talking to socket drivers; Linux does not
really implement this API and there's a simpler interface between
pcmcia_core and socket drivers. The Linux driver services layer, in
the "ds" module, supplies a few things for managing device drivers:
stuff for keeping track of which drivers manage which cards, and which
logical devices are associated with which cards and drivers. It also
provides a user mode pseudo-device for some Card Services functions.
This stuff is also explained in the intro of the Linux PCMCIA
Programmer's Guide.
-- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/