diff options
Diffstat (limited to 'drivers/pcmcia/yenta_socket.c')
-rw-r--r-- | drivers/pcmcia/yenta_socket.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c index 1d593e1dc3d9..0e7aa8176692 100644 --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c | |||
@@ -868,14 +868,11 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket) | |||
868 | */ | 868 | */ |
869 | static void yenta_get_socket_capabilities(struct yenta_socket *socket, u32 isa_irq_mask) | 869 | static void yenta_get_socket_capabilities(struct yenta_socket *socket, u32 isa_irq_mask) |
870 | { | 870 | { |
871 | socket->socket.features |= SS_CAP_PAGE_REGS | SS_CAP_PCCARD | SS_CAP_CARDBUS; | ||
872 | socket->socket.map_size = 0x1000; | ||
873 | socket->socket.pci_irq = socket->cb_irq; | 871 | socket->socket.pci_irq = socket->cb_irq; |
874 | if (isa_probe) | 872 | if (isa_probe) |
875 | socket->socket.irq_mask = yenta_probe_irq(socket, isa_irq_mask); | 873 | socket->socket.irq_mask = yenta_probe_irq(socket, isa_irq_mask); |
876 | else | 874 | else |
877 | socket->socket.irq_mask = 0; | 875 | socket->socket.irq_mask = 0; |
878 | socket->socket.cb_dev = socket->dev; | ||
879 | 876 | ||
880 | printk(KERN_INFO "Yenta: ISA IRQ mask 0x%04x, PCI irq %d\n", | 877 | printk(KERN_INFO "Yenta: ISA IRQ mask 0x%04x, PCI irq %d\n", |
881 | socket->socket.irq_mask, socket->cb_irq); | 878 | socket->socket.irq_mask, socket->cb_irq); |
@@ -941,6 +938,9 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i | |||
941 | socket->socket.dev.dev = &dev->dev; | 938 | socket->socket.dev.dev = &dev->dev; |
942 | socket->socket.driver_data = socket; | 939 | socket->socket.driver_data = socket; |
943 | socket->socket.owner = THIS_MODULE; | 940 | socket->socket.owner = THIS_MODULE; |
941 | socket->socket.features = SS_CAP_PAGE_REGS | SS_CAP_PCCARD; | ||
942 | socket->socket.map_size = 0x1000; | ||
943 | socket->socket.cb_dev = dev; | ||
944 | 944 | ||
945 | /* prepare struct yenta_socket */ | 945 | /* prepare struct yenta_socket */ |
946 | socket->dev = dev; | 946 | socket->dev = dev; |
@@ -1011,6 +1011,10 @@ static int __devinit yenta_probe (struct pci_dev *dev, const struct pci_device_i | |||
1011 | socket->poll_timer.data = (unsigned long)socket; | 1011 | socket->poll_timer.data = (unsigned long)socket; |
1012 | socket->poll_timer.expires = jiffies + HZ; | 1012 | socket->poll_timer.expires = jiffies + HZ; |
1013 | add_timer(&socket->poll_timer); | 1013 | add_timer(&socket->poll_timer); |
1014 | printk(KERN_INFO "Yenta: no PCI IRQ, CardBus support disabled for this socket.\n" | ||
1015 | KERN_INFO "Yenta: check your BIOS CardBus, BIOS IRQ or ACPI settings.\n"); | ||
1016 | } else { | ||
1017 | socket->socket.features |= SS_CAP_CARDBUS; | ||
1014 | } | 1018 | } |
1015 | 1019 | ||
1016 | /* Figure out what the dang thing can do for the PCMCIA layer... */ | 1020 | /* Figure out what the dang thing can do for the PCMCIA layer... */ |