浏览代码

[ARM] pxa: fix the bad assumption that PCMCIA sockets always start with 0

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Marek Vasut 16 年之前
父节点
当前提交
d66ea8d4c2
共有 2 个文件被更改,包括 4 次插入4 次删除
  1. 2 2
      drivers/pcmcia/pxa2xx_base.c
  2. 2 2
      drivers/pcmcia/pxa2xx_palmld.c

+ 2 - 2
drivers/pcmcia/pxa2xx_base.c

@@ -214,7 +214,7 @@ static void pxa2xx_configure_sockets(struct device *dev)
 	MECR |= MECR_CIT;
 
 	/* Set MECR:NOS (Number Of Sockets) */
-	if (ops->nr > 1 || machine_is_viper())
+	if ((ops->first + ops->nr) > 1 || machine_is_viper())
 		MECR |= MECR_NOS;
 	else
 		MECR &= ~MECR_NOS;
@@ -250,7 +250,7 @@ int __pxa2xx_drv_pcmcia_probe(struct device *dev)
 	for (i = 0; i < ops->nr; i++) {
 		skt = &sinfo->skt[i];
 
-		skt->nr		= i;
+		skt->nr		= ops->first + i;
 		skt->irq	= NO_IRQ;
 
 		skt->res_skt.start	= _PCMCIA(skt->nr);

+ 2 - 2
drivers/pcmcia/pxa2xx_palmld.c

@@ -98,8 +98,8 @@ static void palmld_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
 static struct pcmcia_low_level palmld_pcmcia_ops = {
 	.owner			= THIS_MODULE,
 
-	.first			= 0,
-	.nr			= 2,
+	.first			= 1,
+	.nr			= 1,
 
 	.hw_init		= palmld_pcmcia_hw_init,
 	.hw_shutdown		= palmld_pcmcia_hw_shutdown,