[PATCH 1/9] serial_cs: use pcmcia_loop_config() and pre-determined values

Komuro komurojun-mbn at nifty.com
Mon Oct 19 08:06:57 EDT 2009


Hi,

Please don't remove the code below.
This code loades the "2nd" ConfigBase of the multi-function card.



> static int serial_config(struct pcmcia_device * link)
> {
> 	struct serial_info *info = link->priv;
>-	struct serial_cfg_mem *cfg_mem;
>-	tuple_t *tuple;
>-	u_char *buf;
>-	cisparse_t *parse;
>-	cistpl_cftable_entry_t *cf;
>-	int i, last_ret, last_fn;
>+	int i;
> 
> 	DEBUG(0, "serial_config(0x%p)\n", link);
> 
>-	cfg_mem = kmalloc(sizeof(struct serial_cfg_mem), GFP_KERNEL);
>-	if (!cfg_mem)
>-		goto failed;
>-
>-	tuple = &cfg_mem->tuple;
>-	parse = &cfg_mem->parse;
>-	cf = &parse->cftable_entry;
>-	buf = cfg_mem->buf;
>-
>-	tuple->TupleData = (cisdata_t *) buf;
>-	tuple->TupleOffset = 0;
>-	tuple->TupleDataMax = 255;
>-	tuple->Attributes = 0;
>-
>-	/* Get configuration register information */
>-	tuple->DesiredTuple = CISTPL_CONFIG;
>-	last_ret = first_tuple(link, tuple, parse);
>-	if (last_ret != 0) {
>-		last_fn = ParseTuple;
>-		goto cs_failed;
>-	}
>-	link->conf.ConfigBase = parse->config.base;
>-	link->conf.Present = parse->config.rmask[0];
>-




More information about the linux-pcmcia mailing list