Browse Source

[PATCH] ISA DMA Kconfig fixes - part 4 (irda)

 * net/irda/irda_device.c::irda_setup_dma() made conditional on
   ISA_DMA_API (it uses helpers in question and irda is usable on
   platforms that don't have them at all - think of USB IRDA, for
   example).
 * irda drivers that depend on ISA DMA marked as dependent on
   ISA_DMA_API

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro 20 years ago
parent
commit
56c3b7d788
2 changed files with 7 additions and 5 deletions
  1. 5 5
      drivers/net/irda/Kconfig
  2. 2 0
      net/irda/irda_device.c

+ 5 - 5
drivers/net/irda/Kconfig

@@ -310,7 +310,7 @@ config SIGMATEL_FIR
 
 
 config NSC_FIR
 config NSC_FIR
 	tristate "NSC PC87108/PC87338"
 	tristate "NSC PC87108/PC87338"
-	depends on IRDA
+	depends on IRDA && ISA_DMA_API
 	help
 	help
 	  Say Y here if you want to build support for the NSC PC87108 and
 	  Say Y here if you want to build support for the NSC PC87108 and
 	  PC87338 IrDA chipsets.  This driver supports SIR,
 	  PC87338 IrDA chipsets.  This driver supports SIR,
@@ -321,7 +321,7 @@ config NSC_FIR
 
 
 config WINBOND_FIR
 config WINBOND_FIR
 	tristate "Winbond W83977AF (IR)"
 	tristate "Winbond W83977AF (IR)"
-	depends on IRDA
+	depends on IRDA && ISA_DMA_API
 	help
 	help
 	  Say Y here if you want to build IrDA support for the Winbond
 	  Say Y here if you want to build IrDA support for the Winbond
 	  W83977AF super-io chipset.  This driver should be used for the IrDA
 	  W83977AF super-io chipset.  This driver should be used for the IrDA
@@ -347,7 +347,7 @@ config AU1000_FIR
 
 
 config SMC_IRCC_FIR
 config SMC_IRCC_FIR
 	tristate "SMSC IrCC (EXPERIMENTAL)"
 	tristate "SMSC IrCC (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && IRDA
+	depends on EXPERIMENTAL && IRDA && ISA_DMA_API
 	help
 	help
 	  Say Y here if you want to build support for the SMC Infrared
 	  Say Y here if you want to build support for the SMC Infrared
 	  Communications Controller.  It is used in a wide variety of
 	  Communications Controller.  It is used in a wide variety of
@@ -357,7 +357,7 @@ config SMC_IRCC_FIR
 
 
 config ALI_FIR
 config ALI_FIR
 	tristate "ALi M5123 FIR (EXPERIMENTAL)"
 	tristate "ALi M5123 FIR (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && IRDA
+	depends on EXPERIMENTAL && IRDA && ISA_DMA_API
 	help
 	help
 	  Say Y here if you want to build support for the ALi M5123 FIR
 	  Say Y here if you want to build support for the ALi M5123 FIR
 	  Controller.  The ALi M5123 FIR Controller is embedded in ALi M1543C,
 	  Controller.  The ALi M5123 FIR Controller is embedded in ALi M1543C,
@@ -385,7 +385,7 @@ config SA1100_FIR
 
 
 config VIA_FIR
 config VIA_FIR
 	tristate "VIA VT8231/VT1211 SIR/MIR/FIR"
 	tristate "VIA VT8231/VT1211 SIR/MIR/FIR"
-	depends on IRDA
+	depends on IRDA && ISA_DMA_API
 	help
 	help
 	  Say Y here if you want to build support for the VIA VT8231
 	  Say Y here if you want to build support for the VIA VT8231
 	  and VIA VT1211 IrDA controllers, found on the motherboards using
 	  and VIA VT1211 IrDA controllers, found on the motherboards using

+ 2 - 0
net/irda/irda_device.c

@@ -470,6 +470,7 @@ void irda_device_unregister_dongle(struct dongle_reg *dongle)
 }
 }
 EXPORT_SYMBOL(irda_device_unregister_dongle);
 EXPORT_SYMBOL(irda_device_unregister_dongle);
 
 
+#ifdef CONFIG_ISA_DMA_API
 /*
 /*
  * Function setup_dma (idev, buffer, count, mode)
  * Function setup_dma (idev, buffer, count, mode)
  *
  *
@@ -492,3 +493,4 @@ void irda_setup_dma(int channel, dma_addr_t buffer, int count, int mode)
 	release_dma_lock(flags);
 	release_dma_lock(flags);
 }
 }
 EXPORT_SYMBOL(irda_setup_dma);
 EXPORT_SYMBOL(irda_setup_dma);
+#endif