patch-2.4.0-test2 linux/drivers/pcmcia/yenta.c
Next file: linux/drivers/pnp/isapnp.c
Previous file: linux/drivers/pci/setup-res.c
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
Wed Jun 21 15:39:14 2000
- Orig file:
v2.4.0-test1/linux/drivers/pcmcia/yenta.c
- Orig date:
Tue May 23 15:31:35 2000
diff -u --recursive --new-file v2.4.0-test1/linux/drivers/pcmcia/yenta.c linux/drivers/pcmcia/yenta.c
@@ -127,6 +127,8 @@
val = (state & CB_3VCARD) ? SS_3VCARD : 0;
val |= (state & CB_XVCARD) ? SS_XVCARD : 0;
+ val |= (state & (CB_CDETECT1 | CB_CDETECT2 | CB_5VCARD | CB_3VCARD
+ | CB_XVCARD | CB_YVCARD)) ? 0 : SS_PENDING;
if (state & CB_CBCARD) {
val |= SS_CARDBUS;
@@ -556,30 +558,6 @@
}
}
-/*
- * Many chipsets (all TI chips?) seem to have
- * problems sensing the power state of the card
- * that was inserted at chip init time, so force
- * it if necessary..
- */
-static void yenta_power_sense(pci_socket_t *socket)
-{
- u32 status = cb_readl(socket, CB_SOCKET_STATE);
-
- /*
- * Nothing inserted, nothing to sense..
- * ..or sense status already available.
- */
- if (status & (CB_CDETECT1 | CB_CDETECT2 | CB_5VCARD | CB_3VCARD | CB_XVCARD | CB_YVCARD))
- return;
-
- /*
- * Ho humm. It reports a card, but it doesn't report
- * any voltages. Need to redo the VS test..
- */
- cb_writel(socket, CB_SOCKET_FORCE, CB_CVSTEST);
-}
-
/* Called at resume and initialization events */
static int yenta_init(pci_socket_t *socket)
{
@@ -620,7 +598,8 @@
exca_writeb(socket, I365_GBLCTL, 0x00);
exca_writeb(socket, I365_GENCTL, 0x00);
- yenta_power_sense(socket);
+ /* Redo card voltage interrogation */
+ cb_writel(socket, CB_SOCKET_FORCE, CB_CVSTEST);
yenta_clear_maps(socket);
return 0;
@@ -788,7 +767,7 @@
*/
if (pci_enable_device(dev))
return -1;
- if (!dev->resource[0].start) {
+ if (!pci_resource_start(dev, 0)) {
printk("No cardbus resource!\n");
return -1;
}
@@ -797,7 +776,7 @@
* Ok, start setup.. Map the cardbus registers,
* and request the IRQ.
*/
- socket->base = ioremap(dev->resource[0].start, 0x1000);
+ socket->base = ioremap(pci_resource_start(dev, 0), 0x1000);
if (!socket->base)
return -1;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)