Hi >--- a/drivers/serial/serial_cs.c >+++ b/drivers/serial/serial_cs.c >@@static int serial_probe(struct pcmcia_device *link) > info->p_dev = link; > link->priv = info; > >- link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; >- link->io.NumPorts1 = 8; >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >+ link->resource[0]->end = 8; resource[0]->end should be end of port-address? @@ -463,13 +463,13 @@ static int simple_config(struct pcmcia_device *link) /* If the card is already configured, look up the port and irq */ if (link->function_config) { unsigned int port = 0; - if ((link->io.BasePort2 != 0) && - (link->io.NumPorts2 == 8)) { - port = link->io.BasePort2; + if ((link->resource[1]->end != 0) && + (resource_size(link->resource[1]) == 8)) { + port = link->resource[1]->end; info->slave = 1; It should be link->resource[0]; (resource_size(link->resource[0]) == 8)) { port = link->resource[0]->end; >static int multi_config(struct pcmcia_device *link) > int i, base2 = 0; > > /* First, look for a generic full-sized window */ >- link->io.NumPorts1 = info->multi * 8; >+ link->resource[0]->end = info->multi * 8; > if (pcmcia_loop_config(link, multi_config_check, &base2)) { > /* If that didn't work, look for two windows */ >- link->io.NumPorts1 = link->io.NumPorts2 = 8; >+ link->resource[0]->end = link->resource[1]->end = 8; > info->multi = 2; > if (pcmcia_loop_config(link, multi_config_check_notpicky, > &base2)) { resource[0]->end , link->resource[1]->end should be end of port-address? -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html