Regarding writing a PCMCIA client driver for a multifunction device

David Hinds dhinds at sonic.net
Fri Dec 9 13:03:39 EST 2005


On Fri, Dec 09, 2005 at 06:21:42PM +0530, monali.katkar at wipro.com wrote:
> 
> product info: "CF CARD", "GENERIC", "", ""
> manfid: 0xXXXX, 0xXXXX
> function: 2 (serial)
> For a multifunction card I think it should report function: 0
> (multifunction). M I correct ?
> 
> What do you mean by pseudo multifunction card ?

Can you show the output of "dump_cis"?  "True" multifunction cards
have one set of PCMCIA configuration registers for each function.
"Pseudo" cards have one set of registers used to configure all
functions at the same time.  It makes a difference, because for "true"
multifunction cards, the drivers for each function can be unaware of
one another; but for the "pseudo" cards, one driver has to be in
charge of configuring the card, and other drivers just need to follow
the existing configuration.

> 1. In PCMCIA, does CS handle the interrupts? 
>   If not then which module services the interupts and routes the
> interrupts to the appropriate client driver?

CS does not handle card interrupts.

> 2. For a PCMCIA card which has two functions USB and the UART what
> happenes if both the function raise interrupt simultaneously, whose
> interrupt handler is invoked -  PCMCIA client driver for UART function
> or PCMCIA client driver for USB function. Are both the interrupt
> handlers invoked and in what sequence .

Both drivers are called in no defined order.  Each driver has to check
for whether its device requires attention.

-- Dave



More information about the linux-pcmcia mailing list