On Tue, Oct 12, 2004 at 09:48:42PM +0200, Oleg Gusev wrote:
Why is it impossible to enable ISA through the menuconfig interface ?
Because 90+% of all ISA drivers are not 64bit clean and that's the best way to get rid of them. And there are no x86-64 machines with ISA slots.
I needed it for the NSC-IRCC IRDA module and ended up with the editing of Kconfig.
Correct fix is to not make it dependent on ISA. As in this patch (against 2.6.8) -Andi diff -urpN -X ../KDIFX linux/drivers/net/irda/Kconfig linux-2.6.8-amd64/drivers/net/irda/Kconfig --- linux/drivers/net/irda/Kconfig 2004-08-15 19:45:26.000000000 +0200 +++ linux-2.6.8-amd64/drivers/net/irda/Kconfig 2004-08-05 04:23:51.000000000 +0200 @@ -310,7 +310,7 @@ config SIGMATEL_FIR config NSC_FIR tristate "NSC PC87108/PC87338" - depends on IRDA && ISA + depends on IRDA help Say Y here if you want to build support for the NSC PC87108 and PC87338 IrDA chipsets. This driver supports SIR, @@ -321,7 +321,7 @@ config NSC_FIR config WINBOND_FIR tristate "Winbond W83977AF (IR)" - depends on IRDA && ISA + depends on IRDA help 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 @@ -347,7 +347,7 @@ config AU1000_FIR config SMC_IRCC_FIR tristate "SMSC IrCC (EXPERIMENTAL)" - depends on EXPERIMENTAL && IRDA && ISA + depends on EXPERIMENTAL && IRDA help Say Y here if you want to build support for the SMC Infrared Communications Controller. It is used in a wide variety of @@ -357,7 +357,7 @@ config SMC_IRCC_FIR config ALI_FIR tristate "ALi M5123 FIR (EXPERIMENTAL)" - depends on EXPERIMENTAL && IRDA && ISA + depends on EXPERIMENTAL && IRDA help 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, @@ -385,7 +385,7 @@ config SA1100_FIR config VIA_FIR tristate "VIA VT8231/VT1211 SIR/MIR/FIR" - depends on IRDA && ISA && PCI + depends on IRDA help Say Y here if you want to build support for the VIA VT8231 and VIA VT1211 IrDA controllers, found on the motherboards using diff -urpN -X ../KDIFX linux/include/net/irda/irda_device.h linux-2.6.8-amd64/include/net/irda/irda_device.h --- linux/include/net/irda/irda_device.h 2004-08-15 19:45:52.000000000 +0200 +++ linux-2.6.8-amd64/include/net/irda/irda_device.h 2004-07-27 15:11:57.000000000 +0200 @@ -237,9 +237,7 @@ int irda_device_register_dongle(struct dongle_t *irda_device_dongle_init(struct net_device *dev, int type); int irda_device_dongle_cleanup(dongle_t *dongle); -#ifdef CONFIG_ISA void irda_setup_dma(int channel, dma_addr_t buffer, int count, int mode); -#endif void irda_task_delete(struct irda_task *task); struct irda_task *irda_task_execute(void *instance, diff -urpN -X ../KDIFX linux/net/irda/irda_device.c linux-2.6.8-amd64/net/irda/irda_device.c --- linux/net/irda/irda_device.c 2004-08-15 19:45:58.000000000 +0200 +++ linux-2.6.8-amd64/net/irda/irda_device.c 2004-07-27 15:11:57.000000000 +0200 @@ -529,11 +529,10 @@ int irda_device_set_mode(struct net_devi return ret; } -#ifdef CONFIG_ISA /* * Function setup_dma (idev, buffer, count, mode) * - * Setup the DMA channel. Commonly used by ISA FIR drivers + * Setup the DMA channel. Commonly used by LPC FIR drivers * */ void irda_setup_dma(int channel, dma_addr_t buffer, int count, int mode) @@ -552,4 +551,3 @@ void irda_setup_dma(int channel, dma_add release_dma_lock(flags); } EXPORT_SYMBOL(irda_setup_dma); -#endif