/* this doesn't handle multifunction devices on one pcmcia function * yet. */ 
static int pcmcia_card_add(struct pcmcia_socket *s){	cisinfo_t cisinfo;	cistpl_longlink_mfc_t mfc;	unsigned int no_funcs, i;	int ret = 0;	if (!(s->resource_setup_done))		return -EAGAIN; /* try again, but later... */	pcmcia_validate_mem(s);	ret = pccard_validate_cis(s, BIND_FN_ALL, &cisinfo);	if (ret || !cisinfo.Chains) {		ds_dbg(0, "invalid CIS or invalid resources\n");		return -ENODEV;	}	if (!pccard_read_tuple(s, BIND_FN_ALL, CISTPL_LONGLINK_MFC, &mfc))		no_funcs = mfc.nfn;	else		no_funcs = 1;	/* this doesn't handle multifunction devices on one pcmcia function	 * yet. */	for (i=0; i < no_funcs; i++)		pcmcia_device_add(s, i);	return (ret);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2bc5a9bdc56fac6f7cbf95b89443e3809141c247/ds.c/buggy/drivers/pcmcia/ds.c