aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-05-20 12:09:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-20 12:09:46 -0400
commit54291263519ac2c9bdda68b23b02fef3808deed4 (patch)
treed71de8172a6ab2bbe3068aece7d8911eeeb276fd /drivers/net/wireless/libertas
parent46ee9645094ad1eb5b4888882ecaa1fb87dcd2a3 (diff)
parentacd200bf45487271d54f05938ad9e30f32a530ee (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (29 commits) pcmcia: disable PCMCIA ioctl also for ARM drivers/staging/comedi: dev_node removal (quatech_daqp_cs) drivers/staging/comedi: dev_node removal (ni_mio_cs) drivers/staging/comedi: dev_node removal (ni_labpc_cs) drivers/staging/comedi: dev_node removal (ni_daq_dio24) drivers/staging/comedi: dev_node removal (ni_daq_700) drivers/staging/comedi: dev_node removal (das08_cs) drivers/staging/comedi: dev_node removal (cb_das16_cs) pata_pcmcia: get rid of extra indirection pcmcia: remove suspend-related comment from yenta_socket.c pcmcia: call pcmcia_{read,write}_cis_mem with ops_mutex held pcmcia: remove pcmcia_add_device_lock pcmcia: update gfp/slab.h includes pcmcia: remove unused mem_op.h pcmcia: do not autoadd root PCI bus resources pcmcia: clarify alloc_io_space, move it to resource handlers pcmcia: move all pcmcia_resource_ops providers into one module pcmcia: move high level CIS access code to separate file pcmcia: dev_node removal (core) pcmcia: dev_node removal (remaining drivers) ...
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r--drivers/net/wireless/libertas/if_cs.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 6d55439a7b97..08e4e3908003 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -777,7 +777,7 @@ static void if_cs_release(struct pcmcia_device *p_dev)
777 777
778 lbs_deb_enter(LBS_DEB_CS); 778 lbs_deb_enter(LBS_DEB_CS);
779 779
780 free_irq(p_dev->irq.AssignedIRQ, card); 780 free_irq(p_dev->irq, card);
781 pcmcia_disable_device(p_dev); 781 pcmcia_disable_device(p_dev);
782 if (card->iobase) 782 if (card->iobase)
783 ioport_unmap(card->iobase); 783 ioport_unmap(card->iobase);
@@ -807,8 +807,7 @@ static int if_cs_ioprobe(struct pcmcia_device *p_dev,
807 p_dev->io.NumPorts1 = cfg->io.win[0].len; 807 p_dev->io.NumPorts1 = cfg->io.win[0].len;
808 808
809 /* Do we need to allocate an interrupt? */ 809 /* Do we need to allocate an interrupt? */
810 if (cfg->irq.IRQInfo1) 810 p_dev->conf.Attributes |= CONF_ENABLE_IRQ;
811 p_dev->conf.Attributes |= CONF_ENABLE_IRQ;
812 811
813 /* IO window settings */ 812 /* IO window settings */
814 if (cfg->io.nwin != 1) { 813 if (cfg->io.nwin != 1) {
@@ -837,9 +836,6 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
837 card->p_dev = p_dev; 836 card->p_dev = p_dev;
838 p_dev->priv = card; 837 p_dev->priv = card;
839 838
840 p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
841 p_dev->irq.Handler = NULL;
842
843 p_dev->conf.Attributes = 0; 839 p_dev->conf.Attributes = 0;
844 p_dev->conf.IntType = INT_MEMORY_AND_IO; 840 p_dev->conf.IntType = INT_MEMORY_AND_IO;
845 841
@@ -854,13 +850,8 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
854 * a handler to the interrupt, unless the 'Handler' member of 850 * a handler to the interrupt, unless the 'Handler' member of
855 * the irq structure is initialized. 851 * the irq structure is initialized.
856 */ 852 */
857 if (p_dev->conf.Attributes & CONF_ENABLE_IRQ) { 853 if (!p_dev->irq)
858 ret = pcmcia_request_irq(p_dev, &p_dev->irq); 854 goto out1;
859 if (ret) {
860 lbs_pr_err("error in pcmcia_request_irq\n");
861 goto out1;
862 }
863 }
864 855
865 /* Initialize io access */ 856 /* Initialize io access */
866 card->iobase = ioport_map(p_dev->io.BasePort1, p_dev->io.NumPorts1); 857 card->iobase = ioport_map(p_dev->io.BasePort1, p_dev->io.NumPorts1);
@@ -883,7 +874,7 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
883 874
884 /* Finally, report what we've done */ 875 /* Finally, report what we've done */
885 lbs_deb_cs("irq %d, io 0x%04x-0x%04x\n", 876 lbs_deb_cs("irq %d, io 0x%04x-0x%04x\n",
886 p_dev->irq.AssignedIRQ, p_dev->io.BasePort1, 877 p_dev->irq, p_dev->io.BasePort1,
887 p_dev->io.BasePort1 + p_dev->io.NumPorts1 - 1); 878 p_dev->io.BasePort1 + p_dev->io.NumPorts1 - 1);
888 879
889 /* 880 /*
@@ -940,7 +931,7 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
940 priv->fw_ready = 1; 931 priv->fw_ready = 1;
941 932
942 /* Now actually get the IRQ */ 933 /* Now actually get the IRQ */
943 ret = request_irq(p_dev->irq.AssignedIRQ, if_cs_interrupt, 934 ret = request_irq(p_dev->irq, if_cs_interrupt,
944 IRQF_SHARED, DRV_NAME, card); 935 IRQF_SHARED, DRV_NAME, card);
945 if (ret) { 936 if (ret) {
946 lbs_pr_err("error in request_irq\n"); 937 lbs_pr_err("error in request_irq\n");