/* The dev_link structure is initialized, but we don't actually configure the card at this point  */
static int spectrum_cs_probe(struct pcmcia_device *link)
/* The dev_link structure is initialized, but we don't actually configure the card at this point  */
static int spectrum_cs_probe(struct pcmcia_device *link)
{
	struct orinoco_private *priv;
	struct orinoco_pccard *card;
	priv = alloc_orinocodev(sizeof(*card), &link->dev,
				spectrum_cs_hard_reset,
				spectrum_cs_stop_firmware);
	if (!priv)
		return -ENOMEM;
	card = priv->card;
	card->p_dev = link;
	link->priv = priv;
	link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
	link->irq.Handler = orinoco_interrupt;
	link->conf.Attributes = 0;
	link->conf.IntType = INT_MEMORY_AND_IO;
	return spectrum_cs_config(link);
}