aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-03-07 06:21:16 -0500
committerDominik Brodowski <linux@dominikbrodowski.net>2010-05-10 04:23:13 -0400
commiteb14120f743d29744d9475bffec56ff4ad43a749 (patch)
tree56857094d2b0cfc0ecbd1685f18d6edbe78e140f /drivers/bluetooth
parenta7debe789dfcaee9c4d81e5738b0be8c5d93930b (diff)
pcmcia: re-work pcmcia_request_irq()
Instead of the old pcmcia_request_irq() interface, drivers may now choose between: - calling request_irq/free_irq directly. Use the IRQ from *p_dev->irq. - use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will clean up automatically on calls to pcmcia_disable_device() or device ejection. - drivers still not capable of IRQF_SHARED (or not telling us so) may use the deprecated pcmcia_request_exclusive_irq() for the time being; they might receive a shared IRQ nonetheless. CC: linux-bluetooth@vger.kernel.org CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org CC: alsa-devel@alsa-project.org CC: linux-usb@vger.kernel.org CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/bluecard_cs.c7
-rw-r--r--drivers/bluetooth/bt3c_cs.c7
-rw-r--r--drivers/bluetooth/btuart_cs.c7
-rw-r--r--drivers/bluetooth/dtl1_cs.c7
4 files changed, 8 insertions, 20 deletions
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c
index d9bf87ca9e83..a34653db07bc 100644
--- a/drivers/bluetooth/bluecard_cs.c
+++ b/drivers/bluetooth/bluecard_cs.c
@@ -869,9 +869,6 @@ static int bluecard_probe(struct pcmcia_device *link)
869 869
870 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 870 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
871 link->io.NumPorts1 = 8; 871 link->io.NumPorts1 = 8;
872 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
873
874 link->irq.Handler = bluecard_interrupt;
875 872
876 link->conf.Attributes = CONF_ENABLE_IRQ; 873 link->conf.Attributes = CONF_ENABLE_IRQ;
877 link->conf.IntType = INT_MEMORY_AND_IO; 874 link->conf.IntType = INT_MEMORY_AND_IO;
@@ -908,9 +905,9 @@ static int bluecard_config(struct pcmcia_device *link)
908 if (i != 0) 905 if (i != 0)
909 goto failed; 906 goto failed;
910 907
911 i = pcmcia_request_irq(link, &link->irq); 908 i = pcmcia_request_irq(link, bluecard_interrupt);
912 if (i != 0) 909 if (i != 0)
913 link->irq.AssignedIRQ = 0; 910 goto failed;
914 911
915 i = pcmcia_request_configuration(link, &link->conf); 912 i = pcmcia_request_configuration(link, &link->conf);
916 if (i != 0) 913 if (i != 0)
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c
index 027cb8bf650f..1ad9694d4450 100644
--- a/drivers/bluetooth/bt3c_cs.c
+++ b/drivers/bluetooth/bt3c_cs.c
@@ -661,9 +661,6 @@ static int bt3c_probe(struct pcmcia_device *link)
661 661
662 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 662 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
663 link->io.NumPorts1 = 8; 663 link->io.NumPorts1 = 8;
664 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
665
666 link->irq.Handler = bt3c_interrupt;
667 664
668 link->conf.Attributes = CONF_ENABLE_IRQ; 665 link->conf.Attributes = CONF_ENABLE_IRQ;
669 link->conf.IntType = INT_MEMORY_AND_IO; 666 link->conf.IntType = INT_MEMORY_AND_IO;
@@ -743,9 +740,9 @@ static int bt3c_config(struct pcmcia_device *link)
743 goto failed; 740 goto failed;
744 741
745found_port: 742found_port:
746 i = pcmcia_request_irq(link, &link->irq); 743 i = pcmcia_request_irq(link, &bt3c_interrupt);
747 if (i != 0) 744 if (i != 0)
748 link->irq.AssignedIRQ = 0; 745 goto failed;
749 746
750 i = pcmcia_request_configuration(link, &link->conf); 747 i = pcmcia_request_configuration(link, &link->conf);
751 if (i != 0) 748 if (i != 0)
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c
index 60c0953d7d00..1073d660d625 100644
--- a/drivers/bluetooth/btuart_cs.c
+++ b/drivers/bluetooth/btuart_cs.c
@@ -590,9 +590,6 @@ static int btuart_probe(struct pcmcia_device *link)
590 590
591 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 591 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
592 link->io.NumPorts1 = 8; 592 link->io.NumPorts1 = 8;
593 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
594
595 link->irq.Handler = btuart_interrupt;
596 593
597 link->conf.Attributes = CONF_ENABLE_IRQ; 594 link->conf.Attributes = CONF_ENABLE_IRQ;
598 link->conf.IntType = INT_MEMORY_AND_IO; 595 link->conf.IntType = INT_MEMORY_AND_IO;
@@ -672,9 +669,9 @@ static int btuart_config(struct pcmcia_device *link)
672 goto failed; 669 goto failed;
673 670
674found_port: 671found_port:
675 i = pcmcia_request_irq(link, &link->irq); 672 i = pcmcia_request_irq(link, btuart_interrupt);
676 if (i != 0) 673 if (i != 0)
677 link->irq.AssignedIRQ = 0; 674 goto failed;
678 675
679 i = pcmcia_request_configuration(link, &link->conf); 676 i = pcmcia_request_configuration(link, &link->conf);
680 if (i != 0) 677 if (i != 0)
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c
index 17788317c51a..3d72afddabb3 100644
--- a/drivers/bluetooth/dtl1_cs.c
+++ b/drivers/bluetooth/dtl1_cs.c
@@ -575,9 +575,6 @@ static int dtl1_probe(struct pcmcia_device *link)
575 575
576 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 576 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
577 link->io.NumPorts1 = 8; 577 link->io.NumPorts1 = 8;
578 link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
579
580 link->irq.Handler = dtl1_interrupt;
581 578
582 link->conf.Attributes = CONF_ENABLE_IRQ; 579 link->conf.Attributes = CONF_ENABLE_IRQ;
583 link->conf.IntType = INT_MEMORY_AND_IO; 580 link->conf.IntType = INT_MEMORY_AND_IO;
@@ -621,9 +618,9 @@ static int dtl1_config(struct pcmcia_device *link)
621 if (pcmcia_loop_config(link, dtl1_confcheck, NULL) < 0) 618 if (pcmcia_loop_config(link, dtl1_confcheck, NULL) < 0)
622 goto failed; 619 goto failed;
623 620
624 i = pcmcia_request_irq(link, &link->irq); 621 i = pcmcia_request_irq(link, dtl1_interrupt);
625 if (i != 0) 622 if (i != 0)
626 link->irq.AssignedIRQ = 0; 623 goto failed;
627 624
628 i = pcmcia_request_configuration(link, &link->conf); 625 i = pcmcia_request_configuration(link, &link->conf);
629 if (i != 0) 626 if (i != 0)