summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2017-04-04 11:54:30 -0400
committerDavid Howells <dhowells@redhat.com>2017-04-20 07:02:32 -0400
commite992ef5705c1e154acb248869b39e0be4c003a8b (patch)
treea86325050facb5f3ea530e8c8a690dfc3a45d9c9
parentb11ce420c5dfc966061bc20f576c85504bb69712 (diff)
Annotate hardware config module parameters in sound/isa/
When the kernel is running in secure boot mode, we lock down the kernel to prevent userspace from modifying the running kernel image. Whilst this includes prohibiting access to things like /dev/mem, it must also prevent access by means of configuring driver modules in such a way as to cause a device to access or modify the kernel image. To this end, annotate module_param* statements that refer to hardware configuration and indicate for future reference what type of parameter they specify. The parameter parser in the core sees this information and can skip such parameters with an error message if the kernel is locked down. The module initialisation then runs as normal, but just sees whatever the default values for those parameters is. Note that we do still need to do the module initialisation because some drivers have viable defaults set in case parameters aren't specified and some drivers support automatic configuration (e.g. PNP or PCI) in addition to manually coded parameters. This patch annotates drivers in sound/isa/. Suggested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk> Signed-off-by: David Howells <dhowells@redhat.com> cc: Jaroslav Kysela <perex@perex.cz> cc: Takashi Iwai <tiwai@suse.com> cc: alsa-devel@alsa-project.org
-rw-r--r--sound/isa/ad1848/ad1848.c6
-rw-r--r--sound/isa/adlib.c2
-rw-r--r--sound/isa/cmi8328.c12
-rw-r--r--sound/isa/cmi8330.c20
-rw-r--r--sound/isa/cs423x/cs4231.c12
-rw-r--r--sound/isa/cs423x/cs4236.c18
-rw-r--r--sound/isa/es1688/es1688.c12
-rw-r--r--sound/isa/es18xx.c12
-rw-r--r--sound/isa/galaxy/galaxy.c16
-rw-r--r--sound/isa/gus/gusclassic.c8
-rw-r--r--sound/isa/gus/gusextreme.c16
-rw-r--r--sound/isa/gus/gusmax.c8
-rw-r--r--sound/isa/gus/interwave.c10
-rw-r--r--sound/isa/msnd/msnd_pinnacle.c20
-rw-r--r--sound/isa/opl3sa2.c16
-rw-r--r--sound/isa/opti9xx/miro.c14
-rw-r--r--sound/isa/opti9xx/opti92x-ad1848.c14
-rw-r--r--sound/isa/sb/jazz16.c12
-rw-r--r--sound/isa/sb/sb16.c14
-rw-r--r--sound/isa/sb/sb8.c6
-rw-r--r--sound/isa/sc6000.c12
-rw-r--r--sound/isa/sscape.c12
-rw-r--r--sound/isa/wavefront/wavefront.c18
23 files changed, 145 insertions, 145 deletions
diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c
index a302d1f8d14f..e739b1c85c25 100644
--- a/sound/isa/ad1848/ad1848.c
+++ b/sound/isa/ad1848/ad1848.c
@@ -55,11 +55,11 @@ module_param_array(id, charp, NULL, 0444);
55MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard."); 55MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard.");
56module_param_array(enable, bool, NULL, 0444); 56module_param_array(enable, bool, NULL, 0444);
57MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard."); 57MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard.");
58module_param_array(port, long, NULL, 0444); 58module_param_hw_array(port, long, ioport, NULL, 0444);
59MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 59MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
60module_param_array(irq, int, NULL, 0444); 60module_param_hw_array(irq, int, irq, NULL, 0444);
61MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver."); 61MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver.");
62module_param_array(dma1, int, NULL, 0444); 62module_param_hw_array(dma1, int, dma, NULL, 0444);
63MODULE_PARM_DESC(dma1, "DMA1 # for " CRD_NAME " driver."); 63MODULE_PARM_DESC(dma1, "DMA1 # for " CRD_NAME " driver.");
64module_param_array(thinkpad, bool, NULL, 0444); 64module_param_array(thinkpad, bool, NULL, 0444);
65MODULE_PARM_DESC(thinkpad, "Enable only for the onboard CS4248 of IBM Thinkpad 360/750/755 series."); 65MODULE_PARM_DESC(thinkpad, "Enable only for the onboard CS4248 of IBM Thinkpad 360/750/755 series.");
diff --git a/sound/isa/adlib.c b/sound/isa/adlib.c
index 8d3060fd7ad7..5fb619eca5c8 100644
--- a/sound/isa/adlib.c
+++ b/sound/isa/adlib.c
@@ -27,7 +27,7 @@ module_param_array(id, charp, NULL, 0444);
27MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard."); 27MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard.");
28module_param_array(enable, bool, NULL, 0444); 28module_param_array(enable, bool, NULL, 0444);
29MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard."); 29MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard.");
30module_param_array(port, long, NULL, 0444); 30module_param_hw_array(port, long, ioport, NULL, 0444);
31MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 31MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
32 32
33static int snd_adlib_match(struct device *dev, unsigned int n) 33static int snd_adlib_match(struct device *dev, unsigned int n)
diff --git a/sound/isa/cmi8328.c b/sound/isa/cmi8328.c
index 787475084f46..8e1756c3b9bb 100644
--- a/sound/isa/cmi8328.c
+++ b/sound/isa/cmi8328.c
@@ -51,18 +51,18 @@ MODULE_PARM_DESC(index, "Index value for CMI8328 soundcard.");
51module_param_array(id, charp, NULL, 0444); 51module_param_array(id, charp, NULL, 0444);
52MODULE_PARM_DESC(id, "ID string for CMI8328 soundcard."); 52MODULE_PARM_DESC(id, "ID string for CMI8328 soundcard.");
53 53
54module_param_array(port, long, NULL, 0444); 54module_param_hw_array(port, long, ioport, NULL, 0444);
55MODULE_PARM_DESC(port, "Port # for CMI8328 driver."); 55MODULE_PARM_DESC(port, "Port # for CMI8328 driver.");
56module_param_array(irq, int, NULL, 0444); 56module_param_hw_array(irq, int, irq, NULL, 0444);
57MODULE_PARM_DESC(irq, "IRQ # for CMI8328 driver."); 57MODULE_PARM_DESC(irq, "IRQ # for CMI8328 driver.");
58module_param_array(dma1, int, NULL, 0444); 58module_param_hw_array(dma1, int, dma, NULL, 0444);
59MODULE_PARM_DESC(dma1, "DMA1 for CMI8328 driver."); 59MODULE_PARM_DESC(dma1, "DMA1 for CMI8328 driver.");
60module_param_array(dma2, int, NULL, 0444); 60module_param_hw_array(dma2, int, dma, NULL, 0444);
61MODULE_PARM_DESC(dma2, "DMA2 for CMI8328 driver."); 61MODULE_PARM_DESC(dma2, "DMA2 for CMI8328 driver.");
62 62
63module_param_array(mpuport, long, NULL, 0444); 63module_param_hw_array(mpuport, long, ioport, NULL, 0444);
64MODULE_PARM_DESC(mpuport, "MPU-401 port # for CMI8328 driver."); 64MODULE_PARM_DESC(mpuport, "MPU-401 port # for CMI8328 driver.");
65module_param_array(mpuirq, int, NULL, 0444); 65module_param_hw_array(mpuirq, int, irq, NULL, 0444);
66MODULE_PARM_DESC(mpuirq, "IRQ # for CMI8328 MPU-401 port."); 66MODULE_PARM_DESC(mpuirq, "IRQ # for CMI8328 MPU-401 port.");
67#ifdef SUPPORT_JOYSTICK 67#ifdef SUPPORT_JOYSTICK
68module_param_array(gameport, bool, NULL, 0444); 68module_param_array(gameport, bool, NULL, 0444);
diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c
index dfedfd85f205..f64b29ab5cc7 100644
--- a/sound/isa/cmi8330.c
+++ b/sound/isa/cmi8330.c
@@ -95,27 +95,27 @@ module_param_array(isapnp, bool, NULL, 0444);
95MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); 95MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
96#endif 96#endif
97 97
98module_param_array(sbport, long, NULL, 0444); 98module_param_hw_array(sbport, long, ioport, NULL, 0444);
99MODULE_PARM_DESC(sbport, "Port # for CMI8330/CMI8329 SB driver."); 99MODULE_PARM_DESC(sbport, "Port # for CMI8330/CMI8329 SB driver.");
100module_param_array(sbirq, int, NULL, 0444); 100module_param_hw_array(sbirq, int, irq, NULL, 0444);
101MODULE_PARM_DESC(sbirq, "IRQ # for CMI8330/CMI8329 SB driver."); 101MODULE_PARM_DESC(sbirq, "IRQ # for CMI8330/CMI8329 SB driver.");
102module_param_array(sbdma8, int, NULL, 0444); 102module_param_hw_array(sbdma8, int, dma, NULL, 0444);
103MODULE_PARM_DESC(sbdma8, "DMA8 for CMI8330/CMI8329 SB driver."); 103MODULE_PARM_DESC(sbdma8, "DMA8 for CMI8330/CMI8329 SB driver.");
104module_param_array(sbdma16, int, NULL, 0444); 104module_param_hw_array(sbdma16, int, dma, NULL, 0444);
105MODULE_PARM_DESC(sbdma16, "DMA16 for CMI8330/CMI8329 SB driver."); 105MODULE_PARM_DESC(sbdma16, "DMA16 for CMI8330/CMI8329 SB driver.");
106 106
107module_param_array(wssport, long, NULL, 0444); 107module_param_hw_array(wssport, long, ioport, NULL, 0444);
108MODULE_PARM_DESC(wssport, "Port # for CMI8330/CMI8329 WSS driver."); 108MODULE_PARM_DESC(wssport, "Port # for CMI8330/CMI8329 WSS driver.");
109module_param_array(wssirq, int, NULL, 0444); 109module_param_hw_array(wssirq, int, irq, NULL, 0444);
110MODULE_PARM_DESC(wssirq, "IRQ # for CMI8330/CMI8329 WSS driver."); 110MODULE_PARM_DESC(wssirq, "IRQ # for CMI8330/CMI8329 WSS driver.");
111module_param_array(wssdma, int, NULL, 0444); 111module_param_hw_array(wssdma, int, dma, NULL, 0444);
112MODULE_PARM_DESC(wssdma, "DMA for CMI8330/CMI8329 WSS driver."); 112MODULE_PARM_DESC(wssdma, "DMA for CMI8330/CMI8329 WSS driver.");
113 113
114module_param_array(fmport, long, NULL, 0444); 114module_param_hw_array(fmport, long, ioport, NULL, 0444);
115MODULE_PARM_DESC(fmport, "FM port # for CMI8330/CMI8329 driver."); 115MODULE_PARM_DESC(fmport, "FM port # for CMI8330/CMI8329 driver.");
116module_param_array(mpuport, long, NULL, 0444); 116module_param_hw_array(mpuport, long, ioport, NULL, 0444);
117MODULE_PARM_DESC(mpuport, "MPU-401 port # for CMI8330/CMI8329 driver."); 117MODULE_PARM_DESC(mpuport, "MPU-401 port # for CMI8330/CMI8329 driver.");
118module_param_array(mpuirq, int, NULL, 0444); 118module_param_hw_array(mpuirq, int, irq, NULL, 0444);
119MODULE_PARM_DESC(mpuirq, "IRQ # for CMI8330/CMI8329 MPU-401 port."); 119MODULE_PARM_DESC(mpuirq, "IRQ # for CMI8330/CMI8329 MPU-401 port.");
120#ifdef CONFIG_PNP 120#ifdef CONFIG_PNP
121static int isa_registered; 121static int isa_registered;
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c
index ef7448e9f813..e8edd9017a2f 100644
--- a/sound/isa/cs423x/cs4231.c
+++ b/sound/isa/cs423x/cs4231.c
@@ -55,17 +55,17 @@ module_param_array(id, charp, NULL, 0444);
55MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard."); 55MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard.");
56module_param_array(enable, bool, NULL, 0444); 56module_param_array(enable, bool, NULL, 0444);
57MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard."); 57MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard.");
58module_param_array(port, long, NULL, 0444); 58module_param_hw_array(port, long, ioport, NULL, 0444);
59MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 59MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
60module_param_array(mpu_port, long, NULL, 0444); 60module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
61MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver."); 61MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver.");
62module_param_array(irq, int, NULL, 0444); 62module_param_hw_array(irq, int, irq, NULL, 0444);
63MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver."); 63MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver.");
64module_param_array(mpu_irq, int, NULL, 0444); 64module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
65MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver."); 65MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver.");
66module_param_array(dma1, int, NULL, 0444); 66module_param_hw_array(dma1, int, dma, NULL, 0444);
67MODULE_PARM_DESC(dma1, "DMA1 # for " CRD_NAME " driver."); 67MODULE_PARM_DESC(dma1, "DMA1 # for " CRD_NAME " driver.");
68module_param_array(dma2, int, NULL, 0444); 68module_param_hw_array(dma2, int, dma, NULL, 0444);
69MODULE_PARM_DESC(dma2, "DMA2 # for " CRD_NAME " driver."); 69MODULE_PARM_DESC(dma2, "DMA2 # for " CRD_NAME " driver.");
70 70
71static int snd_cs4231_match(struct device *dev, unsigned int n) 71static int snd_cs4231_match(struct device *dev, unsigned int n)
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c
index 9d7582c90a95..1f9a3b2be7a1 100644
--- a/sound/isa/cs423x/cs4236.c
+++ b/sound/isa/cs423x/cs4236.c
@@ -98,23 +98,23 @@ MODULE_PARM_DESC(enable, "Enable " IDENT " soundcard.");
98module_param_array(isapnp, bool, NULL, 0444); 98module_param_array(isapnp, bool, NULL, 0444);
99MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard."); 99MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard.");
100#endif 100#endif
101module_param_array(port, long, NULL, 0444); 101module_param_hw_array(port, long, ioport, NULL, 0444);
102MODULE_PARM_DESC(port, "Port # for " IDENT " driver."); 102MODULE_PARM_DESC(port, "Port # for " IDENT " driver.");
103module_param_array(cport, long, NULL, 0444); 103module_param_hw_array(cport, long, ioport, NULL, 0444);
104MODULE_PARM_DESC(cport, "Control port # for " IDENT " driver."); 104MODULE_PARM_DESC(cport, "Control port # for " IDENT " driver.");
105module_param_array(mpu_port, long, NULL, 0444); 105module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
106MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " IDENT " driver."); 106MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " IDENT " driver.");
107module_param_array(fm_port, long, NULL, 0444); 107module_param_hw_array(fm_port, long, ioport, NULL, 0444);
108MODULE_PARM_DESC(fm_port, "FM port # for " IDENT " driver."); 108MODULE_PARM_DESC(fm_port, "FM port # for " IDENT " driver.");
109module_param_array(sb_port, long, NULL, 0444); 109module_param_hw_array(sb_port, long, ioport, NULL, 0444);
110MODULE_PARM_DESC(sb_port, "SB port # for " IDENT " driver (optional)."); 110MODULE_PARM_DESC(sb_port, "SB port # for " IDENT " driver (optional).");
111module_param_array(irq, int, NULL, 0444); 111module_param_hw_array(irq, int, irq, NULL, 0444);
112MODULE_PARM_DESC(irq, "IRQ # for " IDENT " driver."); 112MODULE_PARM_DESC(irq, "IRQ # for " IDENT " driver.");
113module_param_array(mpu_irq, int, NULL, 0444); 113module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
114MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " IDENT " driver."); 114MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " IDENT " driver.");
115module_param_array(dma1, int, NULL, 0444); 115module_param_hw_array(dma1, int, dma, NULL, 0444);
116MODULE_PARM_DESC(dma1, "DMA1 # for " IDENT " driver."); 116MODULE_PARM_DESC(dma1, "DMA1 # for " IDENT " driver.");
117module_param_array(dma2, int, NULL, 0444); 117module_param_hw_array(dma2, int, dma, NULL, 0444);
118MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); 118MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver.");
119 119
120#ifdef CONFIG_PNP 120#ifdef CONFIG_PNP
diff --git a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c
index 1901c2bb6c3b..36320e7f2789 100644
--- a/sound/isa/es1688/es1688.c
+++ b/sound/isa/es1688/es1688.c
@@ -71,17 +71,17 @@ module_param_array(isapnp, bool, NULL, 0444);
71MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); 71MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
72#endif 72#endif
73MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard."); 73MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard.");
74module_param_array(port, long, NULL, 0444); 74module_param_hw_array(port, long, ioport, NULL, 0444);
75MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 75MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
76module_param_array(mpu_port, long, NULL, 0444); 76module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
77MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver."); 77MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver.");
78module_param_array(irq, int, NULL, 0444); 78module_param_hw_array(irq, int, irq, NULL, 0444);
79module_param_array(fm_port, long, NULL, 0444); 79module_param_hw_array(fm_port, long, ioport, NULL, 0444);
80MODULE_PARM_DESC(fm_port, "FM port # for ES1688 driver."); 80MODULE_PARM_DESC(fm_port, "FM port # for ES1688 driver.");
81MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver."); 81MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver.");
82module_param_array(mpu_irq, int, NULL, 0444); 82module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
83MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver."); 83MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver.");
84module_param_array(dma8, int, NULL, 0444); 84module_param_hw_array(dma8, int, dma, NULL, 0444);
85MODULE_PARM_DESC(dma8, "8-bit DMA # for " CRD_NAME " driver."); 85MODULE_PARM_DESC(dma8, "8-bit DMA # for " CRD_NAME " driver.");
86 86
87#ifdef CONFIG_PNP 87#ifdef CONFIG_PNP
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index 5094b62d8f77..0cabe2b8974f 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -1999,17 +1999,17 @@ MODULE_PARM_DESC(enable, "Enable ES18xx soundcard.");
1999module_param_array(isapnp, bool, NULL, 0444); 1999module_param_array(isapnp, bool, NULL, 0444);
2000MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); 2000MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
2001#endif 2001#endif
2002module_param_array(port, long, NULL, 0444); 2002module_param_hw_array(port, long, ioport, NULL, 0444);
2003MODULE_PARM_DESC(port, "Port # for ES18xx driver."); 2003MODULE_PARM_DESC(port, "Port # for ES18xx driver.");
2004module_param_array(mpu_port, long, NULL, 0444); 2004module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
2005MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ES18xx driver."); 2005MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ES18xx driver.");
2006module_param_array(fm_port, long, NULL, 0444); 2006module_param_hw_array(fm_port, long, ioport, NULL, 0444);
2007MODULE_PARM_DESC(fm_port, "FM port # for ES18xx driver."); 2007MODULE_PARM_DESC(fm_port, "FM port # for ES18xx driver.");
2008module_param_array(irq, int, NULL, 0444); 2008module_param_hw_array(irq, int, irq, NULL, 0444);
2009MODULE_PARM_DESC(irq, "IRQ # for ES18xx driver."); 2009MODULE_PARM_DESC(irq, "IRQ # for ES18xx driver.");
2010module_param_array(dma1, int, NULL, 0444); 2010module_param_hw_array(dma1, int, dma, NULL, 0444);
2011MODULE_PARM_DESC(dma1, "DMA 1 # for ES18xx driver."); 2011MODULE_PARM_DESC(dma1, "DMA 1 # for ES18xx driver.");
2012module_param_array(dma2, int, NULL, 0444); 2012module_param_hw_array(dma2, int, dma, NULL, 0444);
2013MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); 2013MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver.");
2014 2014
2015#ifdef CONFIG_PNP 2015#ifdef CONFIG_PNP
diff --git a/sound/isa/galaxy/galaxy.c b/sound/isa/galaxy/galaxy.c
index 379abe2cbeb2..b9994cc9f5fb 100644
--- a/sound/isa/galaxy/galaxy.c
+++ b/sound/isa/galaxy/galaxy.c
@@ -53,21 +53,21 @@ static int mpu_irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ;
53static int dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; 53static int dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA;
54static int dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; 54static int dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA;
55 55
56module_param_array(port, long, NULL, 0444); 56module_param_hw_array(port, long, ioport, NULL, 0444);
57MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 57MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
58module_param_array(wss_port, long, NULL, 0444); 58module_param_hw_array(wss_port, long, ioport, NULL, 0444);
59MODULE_PARM_DESC(wss_port, "WSS port # for " CRD_NAME " driver."); 59MODULE_PARM_DESC(wss_port, "WSS port # for " CRD_NAME " driver.");
60module_param_array(mpu_port, long, NULL, 0444); 60module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
61MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver."); 61MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver.");
62module_param_array(fm_port, long, NULL, 0444); 62module_param_hw_array(fm_port, long, ioport, NULL, 0444);
63MODULE_PARM_DESC(fm_port, "FM port # for " CRD_NAME " driver."); 63MODULE_PARM_DESC(fm_port, "FM port # for " CRD_NAME " driver.");
64module_param_array(irq, int, NULL, 0444); 64module_param_hw_array(irq, int, irq, NULL, 0444);
65MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver."); 65MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver.");
66module_param_array(mpu_irq, int, NULL, 0444); 66module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
67MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver."); 67MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver.");
68module_param_array(dma1, int, NULL, 0444); 68module_param_hw_array(dma1, int, dma, NULL, 0444);
69MODULE_PARM_DESC(dma1, "Playback DMA # for " CRD_NAME " driver."); 69MODULE_PARM_DESC(dma1, "Playback DMA # for " CRD_NAME " driver.");
70module_param_array(dma2, int, NULL, 0444); 70module_param_hw_array(dma2, int, dma, NULL, 0444);
71MODULE_PARM_DESC(dma2, "Capture DMA # for " CRD_NAME " driver."); 71MODULE_PARM_DESC(dma2, "Capture DMA # for " CRD_NAME " driver.");
72 72
73/* 73/*
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c
index c169be49ed71..92a997ab1229 100644
--- a/sound/isa/gus/gusclassic.c
+++ b/sound/isa/gus/gusclassic.c
@@ -58,13 +58,13 @@ module_param_array(id, charp, NULL, 0444);
58MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard."); 58MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard.");
59module_param_array(enable, bool, NULL, 0444); 59module_param_array(enable, bool, NULL, 0444);
60MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard."); 60MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard.");
61module_param_array(port, long, NULL, 0444); 61module_param_hw_array(port, long, ioport, NULL, 0444);
62MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 62MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
63module_param_array(irq, int, NULL, 0444); 63module_param_hw_array(irq, int, irq, NULL, 0444);
64MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver."); 64MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver.");
65module_param_array(dma1, int, NULL, 0444); 65module_param_hw_array(dma1, int, dma, NULL, 0444);
66MODULE_PARM_DESC(dma1, "DMA1 # for " CRD_NAME " driver."); 66MODULE_PARM_DESC(dma1, "DMA1 # for " CRD_NAME " driver.");
67module_param_array(dma2, int, NULL, 0444); 67module_param_hw_array(dma2, int, dma, NULL, 0444);
68MODULE_PARM_DESC(dma2, "DMA2 # for " CRD_NAME " driver."); 68MODULE_PARM_DESC(dma2, "DMA2 # for " CRD_NAME " driver.");
69module_param_array(joystick_dac, int, NULL, 0444); 69module_param_array(joystick_dac, int, NULL, 0444);
70MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for " CRD_NAME " driver."); 70MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for " CRD_NAME " driver.");
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c
index 77ac2fd723b4..beb52c0f70ea 100644
--- a/sound/isa/gus/gusextreme.c
+++ b/sound/isa/gus/gusextreme.c
@@ -66,21 +66,21 @@ module_param_array(id, charp, NULL, 0444);
66MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard."); 66MODULE_PARM_DESC(id, "ID string for " CRD_NAME " soundcard.");
67module_param_array(enable, bool, NULL, 0444); 67module_param_array(enable, bool, NULL, 0444);
68MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard."); 68MODULE_PARM_DESC(enable, "Enable " CRD_NAME " soundcard.");
69module_param_array(port, long, NULL, 0444); 69module_param_hw_array(port, long, ioport, NULL, 0444);
70MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver."); 70MODULE_PARM_DESC(port, "Port # for " CRD_NAME " driver.");
71module_param_array(gf1_port, long, NULL, 0444); 71module_param_hw_array(gf1_port, long, ioport, NULL, 0444);
72MODULE_PARM_DESC(gf1_port, "GF1 port # for " CRD_NAME " driver (optional)."); 72MODULE_PARM_DESC(gf1_port, "GF1 port # for " CRD_NAME " driver (optional).");
73module_param_array(mpu_port, long, NULL, 0444); 73module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
74MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver."); 74MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " CRD_NAME " driver.");
75module_param_array(irq, int, NULL, 0444); 75module_param_hw_array(irq, int, irq, NULL, 0444);
76MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver."); 76MODULE_PARM_DESC(irq, "IRQ # for " CRD_NAME " driver.");
77module_param_array(mpu_irq, int, NULL, 0444); 77module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
78MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver."); 78MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " CRD_NAME " driver.");
79module_param_array(gf1_irq, int, NULL, 0444); 79module_param_hw_array(gf1_irq, int, irq, NULL, 0444);
80MODULE_PARM_DESC(gf1_irq, "GF1 IRQ # for " CRD_NAME " driver."); 80MODULE_PARM_DESC(gf1_irq, "GF1 IRQ # for " CRD_NAME " driver.");
81module_param_array(dma8, int, NULL, 0444); 81module_param_hw_array(dma8, int, dma, NULL, 0444);
82MODULE_PARM_DESC(dma8, "8-bit DMA # for " CRD_NAME " driver."); 82MODULE_PARM_DESC(dma8, "8-bit DMA # for " CRD_NAME " driver.");
83module_param_array(dma1, int, NULL, 0444); 83module_param_hw_array(dma1, int, dma, NULL, 0444);
84MODULE_PARM_DESC(dma1, "GF1 DMA # for " CRD_NAME " driver."); 84MODULE_PARM_DESC(dma1, "GF1 DMA # for " CRD_NAME " driver.");
85module_param_array(joystick_dac, int, NULL, 0444); 85module_param_array(joystick_dac, int, NULL, 0444);
86MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for " CRD_NAME " driver."); 86MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for " CRD_NAME " driver.");
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index dd88c9d33492..63309a453140 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -56,13 +56,13 @@ module_param_array(id, charp, NULL, 0444);
56MODULE_PARM_DESC(id, "ID string for GUS MAX soundcard."); 56MODULE_PARM_DESC(id, "ID string for GUS MAX soundcard.");
57module_param_array(enable, bool, NULL, 0444); 57module_param_array(enable, bool, NULL, 0444);
58MODULE_PARM_DESC(enable, "Enable GUS MAX soundcard."); 58MODULE_PARM_DESC(enable, "Enable GUS MAX soundcard.");
59module_param_array(port, long, NULL, 0444); 59module_param_hw_array(port, long, ioport, NULL, 0444);
60MODULE_PARM_DESC(port, "Port # for GUS MAX driver."); 60MODULE_PARM_DESC(port, "Port # for GUS MAX driver.");
61module_param_array(irq, int, NULL, 0444); 61module_param_hw_array(irq, int, irq, NULL, 0444);
62MODULE_PARM_DESC(irq, "IRQ # for GUS MAX driver."); 62MODULE_PARM_DESC(irq, "IRQ # for GUS MAX driver.");
63module_param_array(dma1, int, NULL, 0444); 63module_param_hw_array(dma1, int, dma, NULL, 0444);
64MODULE_PARM_DESC(dma1, "DMA1 # for GUS MAX driver."); 64MODULE_PARM_DESC(dma1, "DMA1 # for GUS MAX driver.");
65module_param_array(dma2, int, NULL, 0444); 65module_param_hw_array(dma2, int, dma, NULL, 0444);
66MODULE_PARM_DESC(dma2, "DMA2 # for GUS MAX driver."); 66MODULE_PARM_DESC(dma2, "DMA2 # for GUS MAX driver.");
67module_param_array(joystick_dac, int, NULL, 0444); 67module_param_array(joystick_dac, int, NULL, 0444);
68MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS MAX driver."); 68MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS MAX driver.");
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index 70d0040484c8..0687b7ef3e53 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -92,17 +92,17 @@ MODULE_PARM_DESC(enable, "Enable InterWave soundcard.");
92module_param_array(isapnp, bool, NULL, 0444); 92module_param_array(isapnp, bool, NULL, 0444);
93MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard."); 93MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard.");
94#endif 94#endif
95module_param_array(port, long, NULL, 0444); 95module_param_hw_array(port, long, ioport, NULL, 0444);
96MODULE_PARM_DESC(port, "Port # for InterWave driver."); 96MODULE_PARM_DESC(port, "Port # for InterWave driver.");
97#ifdef SNDRV_STB 97#ifdef SNDRV_STB
98module_param_array(port_tc, long, NULL, 0444); 98module_param_hw_array(port_tc, long, ioport, NULL, 0444);
99MODULE_PARM_DESC(port_tc, "Tone control (TEA6330T - i2c bus) port # for InterWave driver."); 99MODULE_PARM_DESC(port_tc, "Tone control (TEA6330T - i2c bus) port # for InterWave driver.");
100#endif 100#endif
101module_param_array(irq, int, NULL, 0444); 101module_param_hw_array(irq, int, irq, NULL, 0444);
102MODULE_PARM_DESC(irq, "IRQ # for InterWave driver."); 102MODULE_PARM_DESC(irq, "IRQ # for InterWave driver.");
103module_param_array(dma1, int, NULL, 0444); 103module_param_hw_array(dma1, int, dma, NULL, 0444);
104MODULE_PARM_DESC(dma1, "DMA1 # for InterWave driver."); 104MODULE_PARM_DESC(dma1, "DMA1 # for InterWave driver.");
105module_param_array(dma2, int, NULL, 0444); 105module_param_hw_array(dma2, int, dma, NULL, 0444);
106MODULE_PARM_DESC(dma2, "DMA2 # for InterWave driver."); 106MODULE_PARM_DESC(dma2, "DMA2 # for InterWave driver.");
107module_param_array(joystick_dac, int, NULL, 0444); 107module_param_array(joystick_dac, int, NULL, 0444);
108MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for InterWave driver."); 108MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for InterWave driver.");
diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c
index 4c072666115d..ad4897337df5 100644
--- a/sound/isa/msnd/msnd_pinnacle.c
+++ b/sound/isa/msnd/msnd_pinnacle.c
@@ -800,22 +800,22 @@ MODULE_LICENSE("GPL");
800MODULE_FIRMWARE(INITCODEFILE); 800MODULE_FIRMWARE(INITCODEFILE);
801MODULE_FIRMWARE(PERMCODEFILE); 801MODULE_FIRMWARE(PERMCODEFILE);
802 802
803module_param_array(io, long, NULL, S_IRUGO); 803module_param_hw_array(io, long, ioport, NULL, S_IRUGO);
804MODULE_PARM_DESC(io, "IO port #"); 804MODULE_PARM_DESC(io, "IO port #");
805module_param_array(irq, int, NULL, S_IRUGO); 805module_param_hw_array(irq, int, irq, NULL, S_IRUGO);
806module_param_array(mem, long, NULL, S_IRUGO); 806module_param_hw_array(mem, long, iomem, NULL, S_IRUGO);
807module_param_array(write_ndelay, int, NULL, S_IRUGO); 807module_param_array(write_ndelay, int, NULL, S_IRUGO);
808module_param(calibrate_signal, int, S_IRUGO); 808module_param(calibrate_signal, int, S_IRUGO);
809#ifndef MSND_CLASSIC 809#ifndef MSND_CLASSIC
810module_param_array(digital, int, NULL, S_IRUGO); 810module_param_array(digital, int, NULL, S_IRUGO);
811module_param_array(cfg, long, NULL, S_IRUGO); 811module_param_hw_array(cfg, long, ioport, NULL, S_IRUGO);
812module_param_array(reset, int, 0, S_IRUGO); 812module_param_array(reset, int, 0, S_IRUGO);
813module_param_array(mpu_io, long, NULL, S_IRUGO); 813module_param_hw_array(mpu_io, long, ioport, NULL, S_IRUGO);
814module_param_array(mpu_irq, int, NULL, S_IRUGO); 814module_param_hw_array(mpu_irq, int, irq, NULL, S_IRUGO);
815module_param_array(ide_io0, long, NULL, S_IRUGO); 815module_param_hw_array(ide_io0, long, ioport, NULL, S_IRUGO);
816module_param_array(ide_io1, long, NULL, S_IRUGO); 816module_param_hw_array(ide_io1, long, ioport, NULL, S_IRUGO);
817module_param_array(ide_irq, int, NULL, S_IRUGO); 817module_param_hw_array(ide_irq, int, irq, NULL, S_IRUGO);
818module_param_array(joystick_io, long, NULL, S_IRUGO); 818module_param_hw_array(joystick_io, long, ioport, NULL, S_IRUGO);
819#endif 819#endif
820 820
821 821
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index ae133633a420..4098e3e0353d 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -69,21 +69,21 @@ MODULE_PARM_DESC(enable, "Enable OPL3-SA soundcard.");
69module_param_array(isapnp, bool, NULL, 0444); 69module_param_array(isapnp, bool, NULL, 0444);
70MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); 70MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
71#endif 71#endif
72module_param_array(port, long, NULL, 0444); 72module_param_hw_array(port, long, ioport, NULL, 0444);
73MODULE_PARM_DESC(port, "Port # for OPL3-SA driver."); 73MODULE_PARM_DESC(port, "Port # for OPL3-SA driver.");
74module_param_array(sb_port, long, NULL, 0444); 74module_param_hw_array(sb_port, long, ioport, NULL, 0444);
75MODULE_PARM_DESC(sb_port, "SB port # for OPL3-SA driver."); 75MODULE_PARM_DESC(sb_port, "SB port # for OPL3-SA driver.");
76module_param_array(wss_port, long, NULL, 0444); 76module_param_hw_array(wss_port, long, ioport, NULL, 0444);
77MODULE_PARM_DESC(wss_port, "WSS port # for OPL3-SA driver."); 77MODULE_PARM_DESC(wss_port, "WSS port # for OPL3-SA driver.");
78module_param_array(fm_port, long, NULL, 0444); 78module_param_hw_array(fm_port, long, ioport, NULL, 0444);
79MODULE_PARM_DESC(fm_port, "FM port # for OPL3-SA driver."); 79MODULE_PARM_DESC(fm_port, "FM port # for OPL3-SA driver.");
80module_param_array(midi_port, long, NULL, 0444); 80module_param_hw_array(midi_port, long, ioport, NULL, 0444);
81MODULE_PARM_DESC(midi_port, "MIDI port # for OPL3-SA driver."); 81MODULE_PARM_DESC(midi_port, "MIDI port # for OPL3-SA driver.");
82module_param_array(irq, int, NULL, 0444); 82module_param_hw_array(irq, int, irq, NULL, 0444);
83MODULE_PARM_DESC(irq, "IRQ # for OPL3-SA driver."); 83MODULE_PARM_DESC(irq, "IRQ # for OPL3-SA driver.");
84module_param_array(dma1, int, NULL, 0444); 84module_param_hw_array(dma1, int, dma, NULL, 0444);
85MODULE_PARM_DESC(dma1, "DMA1 # for OPL3-SA driver."); 85MODULE_PARM_DESC(dma1, "DMA1 # for OPL3-SA driver.");
86module_param_array(dma2, int, NULL, 0444); 86module_param_hw_array(dma2, int, dma, NULL, 0444);
87MODULE_PARM_DESC(dma2, "DMA2 # for OPL3-SA driver."); 87MODULE_PARM_DESC(dma2, "DMA2 # for OPL3-SA driver.");
88module_param_array(opl3sa3_ymode, int, NULL, 0444); 88module_param_array(opl3sa3_ymode, int, NULL, 0444);
89MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); 89MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi.");
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c
index 3a9067db1a84..bcbff56f060d 100644
--- a/sound/isa/opti9xx/miro.c
+++ b/sound/isa/opti9xx/miro.c
@@ -69,19 +69,19 @@ module_param(index, int, 0444);
69MODULE_PARM_DESC(index, "Index value for miro soundcard."); 69MODULE_PARM_DESC(index, "Index value for miro soundcard.");
70module_param(id, charp, 0444); 70module_param(id, charp, 0444);
71MODULE_PARM_DESC(id, "ID string for miro soundcard."); 71MODULE_PARM_DESC(id, "ID string for miro soundcard.");
72module_param(port, long, 0444); 72module_param_hw(port, long, ioport, 0444);
73MODULE_PARM_DESC(port, "WSS port # for miro driver."); 73MODULE_PARM_DESC(port, "WSS port # for miro driver.");
74module_param(mpu_port, long, 0444); 74module_param_hw(mpu_port, long, ioport, 0444);
75MODULE_PARM_DESC(mpu_port, "MPU-401 port # for miro driver."); 75MODULE_PARM_DESC(mpu_port, "MPU-401 port # for miro driver.");
76module_param(fm_port, long, 0444); 76module_param_hw(fm_port, long, ioport, 0444);
77MODULE_PARM_DESC(fm_port, "FM Port # for miro driver."); 77MODULE_PARM_DESC(fm_port, "FM Port # for miro driver.");
78module_param(irq, int, 0444); 78module_param_hw(irq, int, irq, 0444);
79MODULE_PARM_DESC(irq, "WSS irq # for miro driver."); 79MODULE_PARM_DESC(irq, "WSS irq # for miro driver.");
80module_param(mpu_irq, int, 0444); 80module_param_hw(mpu_irq, int, irq, 0444);
81MODULE_PARM_DESC(mpu_irq, "MPU-401 irq # for miro driver."); 81MODULE_PARM_DESC(mpu_irq, "MPU-401 irq # for miro driver.");
82module_param(dma1, int, 0444); 82module_param_hw(dma1, int, dma, 0444);
83MODULE_PARM_DESC(dma1, "1st dma # for miro driver."); 83MODULE_PARM_DESC(dma1, "1st dma # for miro driver.");
84module_param(dma2, int, 0444); 84module_param_hw(dma2, int, dma, 0444);
85MODULE_PARM_DESC(dma2, "2nd dma # for miro driver."); 85MODULE_PARM_DESC(dma2, "2nd dma # for miro driver.");
86module_param(wss, int, 0444); 86module_param(wss, int, 0444);
87MODULE_PARM_DESC(wss, "wss mode"); 87MODULE_PARM_DESC(wss, "wss mode");
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 0a5266003786..ceddb392b1e3 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -88,20 +88,20 @@ MODULE_PARM_DESC(id, "ID string for opti9xx based soundcard.");
88module_param(isapnp, bool, 0444); 88module_param(isapnp, bool, 0444);
89MODULE_PARM_DESC(isapnp, "Enable ISA PnP detection for specified soundcard."); 89MODULE_PARM_DESC(isapnp, "Enable ISA PnP detection for specified soundcard.");
90#endif 90#endif
91module_param(port, long, 0444); 91module_param_hw(port, long, ioport, 0444);
92MODULE_PARM_DESC(port, "WSS port # for opti9xx driver."); 92MODULE_PARM_DESC(port, "WSS port # for opti9xx driver.");
93module_param(mpu_port, long, 0444); 93module_param_hw(mpu_port, long, ioport, 0444);
94MODULE_PARM_DESC(mpu_port, "MPU-401 port # for opti9xx driver."); 94MODULE_PARM_DESC(mpu_port, "MPU-401 port # for opti9xx driver.");
95module_param(fm_port, long, 0444); 95module_param_hw(fm_port, long, ioport, 0444);
96MODULE_PARM_DESC(fm_port, "FM port # for opti9xx driver."); 96MODULE_PARM_DESC(fm_port, "FM port # for opti9xx driver.");
97module_param(irq, int, 0444); 97module_param_hw(irq, int, irq, 0444);
98MODULE_PARM_DESC(irq, "WSS irq # for opti9xx driver."); 98MODULE_PARM_DESC(irq, "WSS irq # for opti9xx driver.");
99module_param(mpu_irq, int, 0444); 99module_param_hw(mpu_irq, int, irq, 0444);
100MODULE_PARM_DESC(mpu_irq, "MPU-401 irq # for opti9xx driver."); 100MODULE_PARM_DESC(mpu_irq, "MPU-401 irq # for opti9xx driver.");
101module_param(dma1, int, 0444); 101module_param_hw(dma1, int, dma, 0444);
102MODULE_PARM_DESC(dma1, "1st dma # for opti9xx driver."); 102MODULE_PARM_DESC(dma1, "1st dma # for opti9xx driver.");
103#if defined(CS4231) || defined(OPTi93X) 103#if defined(CS4231) || defined(OPTi93X)
104module_param(dma2, int, 0444); 104module_param_hw(dma2, int, dma, 0444);
105MODULE_PARM_DESC(dma2, "2nd dma # for opti9xx driver."); 105MODULE_PARM_DESC(dma2, "2nd dma # for opti9xx driver.");
106#endif /* CS4231 || OPTi93X */ 106#endif /* CS4231 || OPTi93X */
107 107
diff --git a/sound/isa/sb/jazz16.c b/sound/isa/sb/jazz16.c
index 4d909971eedb..bfa0055e1fd6 100644
--- a/sound/isa/sb/jazz16.c
+++ b/sound/isa/sb/jazz16.c
@@ -50,17 +50,17 @@ module_param_array(id, charp, NULL, 0444);
50MODULE_PARM_DESC(id, "ID string for Media Vision Jazz16 based soundcard."); 50MODULE_PARM_DESC(id, "ID string for Media Vision Jazz16 based soundcard.");
51module_param_array(enable, bool, NULL, 0444); 51module_param_array(enable, bool, NULL, 0444);
52MODULE_PARM_DESC(enable, "Enable Media Vision Jazz16 based soundcard."); 52MODULE_PARM_DESC(enable, "Enable Media Vision Jazz16 based soundcard.");
53module_param_array(port, long, NULL, 0444); 53module_param_hw_array(port, long, ioport, NULL, 0444);
54MODULE_PARM_DESC(port, "Port # for jazz16 driver."); 54MODULE_PARM_DESC(port, "Port # for jazz16 driver.");
55module_param_array(mpu_port, long, NULL, 0444); 55module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
56MODULE_PARM_DESC(mpu_port, "MPU-401 port # for jazz16 driver."); 56MODULE_PARM_DESC(mpu_port, "MPU-401 port # for jazz16 driver.");
57module_param_array(irq, int, NULL, 0444); 57module_param_hw_array(irq, int, irq, NULL, 0444);
58MODULE_PARM_DESC(irq, "IRQ # for jazz16 driver."); 58MODULE_PARM_DESC(irq, "IRQ # for jazz16 driver.");
59module_param_array(mpu_irq, int, NULL, 0444); 59module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
60MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for jazz16 driver."); 60MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for jazz16 driver.");
61module_param_array(dma8, int, NULL, 0444); 61module_param_hw_array(dma8, int, dma, NULL, 0444);
62MODULE_PARM_DESC(dma8, "DMA8 # for jazz16 driver."); 62MODULE_PARM_DESC(dma8, "DMA8 # for jazz16 driver.");
63module_param_array(dma16, int, NULL, 0444); 63module_param_hw_array(dma16, int, dma, NULL, 0444);
64MODULE_PARM_DESC(dma16, "DMA16 # for jazz16 driver."); 64MODULE_PARM_DESC(dma16, "DMA16 # for jazz16 driver.");
65 65
66#define SB_JAZZ16_WAKEUP 0xaf 66#define SB_JAZZ16_WAKEUP 0xaf
diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c
index 4a7d7c89808f..3b2e4f405ff2 100644
--- a/sound/isa/sb/sb16.c
+++ b/sound/isa/sb/sb16.c
@@ -99,21 +99,21 @@ MODULE_PARM_DESC(enable, "Enable SoundBlaster 16 soundcard.");
99module_param_array(isapnp, bool, NULL, 0444); 99module_param_array(isapnp, bool, NULL, 0444);
100MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); 100MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard.");
101#endif 101#endif
102module_param_array(port, long, NULL, 0444); 102module_param_hw_array(port, long, ioport, NULL, 0444);
103MODULE_PARM_DESC(port, "Port # for SB16 driver."); 103MODULE_PARM_DESC(port, "Port # for SB16 driver.");
104module_param_array(mpu_port, long, NULL, 0444); 104module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
105MODULE_PARM_DESC(mpu_port, "MPU-401 port # for SB16 driver."); 105MODULE_PARM_DESC(mpu_port, "MPU-401 port # for SB16 driver.");
106module_param_array(fm_port, long, NULL, 0444); 106module_param_hw_array(fm_port, long, ioport, NULL, 0444);
107MODULE_PARM_DESC(fm_port, "FM port # for SB16 PnP driver."); 107MODULE_PARM_DESC(fm_port, "FM port # for SB16 PnP driver.");
108#ifdef SNDRV_SBAWE_EMU8000 108#ifdef SNDRV_SBAWE_EMU8000
109module_param_array(awe_port, long, NULL, 0444); 109module_param_hw_array(awe_port, long, ioport, NULL, 0444);
110MODULE_PARM_DESC(awe_port, "AWE port # for SB16 PnP driver."); 110MODULE_PARM_DESC(awe_port, "AWE port # for SB16 PnP driver.");
111#endif 111#endif
112module_param_array(irq, int, NULL, 0444); 112module_param_hw_array(irq, int, irq, NULL, 0444);
113MODULE_PARM_DESC(irq, "IRQ # for SB16 driver."); 113MODULE_PARM_DESC(irq, "IRQ # for SB16 driver.");
114module_param_array(dma8, int, NULL, 0444); 114module_param_hw_array(dma8, int, dma, NULL, 0444);
115MODULE_PARM_DESC(dma8, "8-bit DMA # for SB16 driver."); 115MODULE_PARM_DESC(dma8, "8-bit DMA # for SB16 driver.");
116module_param_array(dma16, int, NULL, 0444); 116module_param_hw_array(dma16, int, dma, NULL, 0444);
117MODULE_PARM_DESC(dma16, "16-bit DMA # for SB16 driver."); 117MODULE_PARM_DESC(dma16, "16-bit DMA # for SB16 driver.");
118module_param_array(mic_agc, int, NULL, 0444); 118module_param_array(mic_agc, int, NULL, 0444);
119MODULE_PARM_DESC(mic_agc, "Mic Auto-Gain-Control switch."); 119MODULE_PARM_DESC(mic_agc, "Mic Auto-Gain-Control switch.");
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
index ad42d2364199..d77dcba276b5 100644
--- a/sound/isa/sb/sb8.c
+++ b/sound/isa/sb/sb8.c
@@ -47,11 +47,11 @@ module_param_array(id, charp, NULL, 0444);
47MODULE_PARM_DESC(id, "ID string for Sound Blaster soundcard."); 47MODULE_PARM_DESC(id, "ID string for Sound Blaster soundcard.");
48module_param_array(enable, bool, NULL, 0444); 48module_param_array(enable, bool, NULL, 0444);
49MODULE_PARM_DESC(enable, "Enable Sound Blaster soundcard."); 49MODULE_PARM_DESC(enable, "Enable Sound Blaster soundcard.");
50module_param_array(port, long, NULL, 0444); 50module_param_hw_array(port, long, ioport, NULL, 0444);
51MODULE_PARM_DESC(port, "Port # for SB8 driver."); 51MODULE_PARM_DESC(port, "Port # for SB8 driver.");
52module_param_array(irq, int, NULL, 0444); 52module_param_hw_array(irq, int, irq, NULL, 0444);
53MODULE_PARM_DESC(irq, "IRQ # for SB8 driver."); 53MODULE_PARM_DESC(irq, "IRQ # for SB8 driver.");
54module_param_array(dma8, int, NULL, 0444); 54module_param_hw_array(dma8, int, dma, NULL, 0444);
55MODULE_PARM_DESC(dma8, "8-bit DMA # for SB8 driver."); 55MODULE_PARM_DESC(dma8, "8-bit DMA # for SB8 driver.");
56 56
57struct snd_sb8 { 57struct snd_sb8 {
diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c
index b61a6633d8f2..c09d9b914efe 100644
--- a/sound/isa/sc6000.c
+++ b/sound/isa/sc6000.c
@@ -64,17 +64,17 @@ module_param_array(id, charp, NULL, 0444);
64MODULE_PARM_DESC(id, "ID string for sc-6000 based soundcard."); 64MODULE_PARM_DESC(id, "ID string for sc-6000 based soundcard.");
65module_param_array(enable, bool, NULL, 0444); 65module_param_array(enable, bool, NULL, 0444);
66MODULE_PARM_DESC(enable, "Enable sc-6000 based soundcard."); 66MODULE_PARM_DESC(enable, "Enable sc-6000 based soundcard.");
67module_param_array(port, long, NULL, 0444); 67module_param_hw_array(port, long, ioport, NULL, 0444);
68MODULE_PARM_DESC(port, "Port # for sc-6000 driver."); 68MODULE_PARM_DESC(port, "Port # for sc-6000 driver.");
69module_param_array(mss_port, long, NULL, 0444); 69module_param_hw_array(mss_port, long, ioport, NULL, 0444);
70MODULE_PARM_DESC(mss_port, "MSS Port # for sc-6000 driver."); 70MODULE_PARM_DESC(mss_port, "MSS Port # for sc-6000 driver.");
71module_param_array(mpu_port, long, NULL, 0444); 71module_param_hw_array(mpu_port, long, ioport, NULL, 0444);
72MODULE_PARM_DESC(mpu_port, "MPU-401 port # for sc-6000 driver."); 72MODULE_PARM_DESC(mpu_port, "MPU-401 port # for sc-6000 driver.");
73module_param_array(irq, int, NULL, 0444); 73module_param_hw_array(irq, int, irq, NULL, 0444);
74MODULE_PARM_DESC(irq, "IRQ # for sc-6000 driver."); 74MODULE_PARM_DESC(irq, "IRQ # for sc-6000 driver.");
75module_param_array(mpu_irq, int, NULL, 0444); 75module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
76MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for sc-6000 driver."); 76MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for sc-6000 driver.");
77module_param_array(dma, int, NULL, 0444); 77module_param_hw_array(dma, int, dma, NULL, 0444);
78MODULE_PARM_DESC(dma, "DMA # for sc-6000 driver."); 78MODULE_PARM_DESC(dma, "DMA # for sc-6000 driver.");
79module_param_array(joystick, bool, NULL, 0444); 79module_param_array(joystick, bool, NULL, 0444);
80MODULE_PARM_DESC(joystick, "Enable gameport."); 80MODULE_PARM_DESC(joystick, "Enable gameport.");
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c
index fdcfa29e2205..54f5758a1bb3 100644
--- a/sound/isa/sscape.c
+++ b/sound/isa/sscape.c
@@ -63,22 +63,22 @@ MODULE_PARM_DESC(index, "Index number for SoundScape soundcard");
63module_param_array(id, charp, NULL, 0444); 63module_param_array(id, charp, NULL, 0444);
64MODULE_PARM_DESC(id, "Description for SoundScape card"); 64MODULE_PARM_DESC(id, "Description for SoundScape card");
65 65
66module_param_array(port, long, NULL, 0444); 66module_param_hw_array(port, long, ioport, NULL, 0444);
67MODULE_PARM_DESC(port, "Port # for SoundScape driver."); 67MODULE_PARM_DESC(port, "Port # for SoundScape driver.");
68 68
69module_param_array(wss_port, long, NULL, 0444); 69module_param_hw_array(wss_port, long, ioport, NULL, 0444);
70MODULE_PARM_DESC(wss_port, "WSS Port # for SoundScape driver."); 70MODULE_PARM_DESC(wss_port, "WSS Port # for SoundScape driver.");
71 71
72module_param_array(irq, int, NULL, 0444); 72module_param_hw_array(irq, int, irq, NULL, 0444);
73MODULE_PARM_DESC(irq, "IRQ # for SoundScape driver."); 73MODULE_PARM_DESC(irq, "IRQ # for SoundScape driver.");
74 74
75module_param_array(mpu_irq, int, NULL, 0444); 75module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
76MODULE_PARM_DESC(mpu_irq, "MPU401 IRQ # for SoundScape driver."); 76MODULE_PARM_DESC(mpu_irq, "MPU401 IRQ # for SoundScape driver.");
77 77
78module_param_array(dma, int, NULL, 0444); 78module_param_hw_array(dma, int, dma, NULL, 0444);
79MODULE_PARM_DESC(dma, "DMA # for SoundScape driver."); 79MODULE_PARM_DESC(dma, "DMA # for SoundScape driver.");
80 80
81module_param_array(dma2, int, NULL, 0444); 81module_param_hw_array(dma2, int, dma, NULL, 0444);
82MODULE_PARM_DESC(dma2, "DMA2 # for SoundScape driver."); 82MODULE_PARM_DESC(dma2, "DMA2 # for SoundScape driver.");
83 83
84module_param_array(joystick, bool, NULL, 0444); 84module_param_array(joystick, bool, NULL, 0444);
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index a0987a57c8a9..da4e9a85f0af 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -63,23 +63,23 @@ MODULE_PARM_DESC(enable, "Enable WaveFront soundcard.");
63module_param_array(isapnp, bool, NULL, 0444); 63module_param_array(isapnp, bool, NULL, 0444);
64MODULE_PARM_DESC(isapnp, "ISA PnP detection for WaveFront soundcards."); 64MODULE_PARM_DESC(isapnp, "ISA PnP detection for WaveFront soundcards.");
65#endif 65#endif
66module_param_array(cs4232_pcm_port, long, NULL, 0444); 66module_param_hw_array(cs4232_pcm_port, long, ioport, NULL, 0444);
67MODULE_PARM_DESC(cs4232_pcm_port, "Port # for CS4232 PCM interface."); 67MODULE_PARM_DESC(cs4232_pcm_port, "Port # for CS4232 PCM interface.");
68module_param_array(cs4232_pcm_irq, int, NULL, 0444); 68module_param_hw_array(cs4232_pcm_irq, int, irq, NULL, 0444);
69MODULE_PARM_DESC(cs4232_pcm_irq, "IRQ # for CS4232 PCM interface."); 69MODULE_PARM_DESC(cs4232_pcm_irq, "IRQ # for CS4232 PCM interface.");
70module_param_array(dma1, int, NULL, 0444); 70module_param_hw_array(dma1, int, dma, NULL, 0444);
71MODULE_PARM_DESC(dma1, "DMA1 # for CS4232 PCM interface."); 71MODULE_PARM_DESC(dma1, "DMA1 # for CS4232 PCM interface.");
72module_param_array(dma2, int, NULL, 0444); 72module_param_hw_array(dma2, int, dma, NULL, 0444);
73MODULE_PARM_DESC(dma2, "DMA2 # for CS4232 PCM interface."); 73MODULE_PARM_DESC(dma2, "DMA2 # for CS4232 PCM interface.");
74module_param_array(cs4232_mpu_port, long, NULL, 0444); 74module_param_hw_array(cs4232_mpu_port, long, ioport, NULL, 0444);
75MODULE_PARM_DESC(cs4232_mpu_port, "port # for CS4232 MPU-401 interface."); 75MODULE_PARM_DESC(cs4232_mpu_port, "port # for CS4232 MPU-401 interface.");
76module_param_array(cs4232_mpu_irq, int, NULL, 0444); 76module_param_hw_array(cs4232_mpu_irq, int, irq, NULL, 0444);
77MODULE_PARM_DESC(cs4232_mpu_irq, "IRQ # for CS4232 MPU-401 interface."); 77MODULE_PARM_DESC(cs4232_mpu_irq, "IRQ # for CS4232 MPU-401 interface.");
78module_param_array(ics2115_irq, int, NULL, 0444); 78module_param_hw_array(ics2115_irq, int, irq, NULL, 0444);
79MODULE_PARM_DESC(ics2115_irq, "IRQ # for ICS2115."); 79MODULE_PARM_DESC(ics2115_irq, "IRQ # for ICS2115.");
80module_param_array(ics2115_port, long, NULL, 0444); 80module_param_hw_array(ics2115_port, long, ioport, NULL, 0444);
81MODULE_PARM_DESC(ics2115_port, "Port # for ICS2115."); 81MODULE_PARM_DESC(ics2115_port, "Port # for ICS2115.");
82module_param_array(fm_port, long, NULL, 0444); 82module_param_hw_array(fm_port, long, ioport, NULL, 0444);
83MODULE_PARM_DESC(fm_port, "FM port #."); 83MODULE_PARM_DESC(fm_port, "FM port #.");
84module_param_array(use_cs4232_midi, bool, NULL, 0444); 84module_param_array(use_cs4232_midi, bool, NULL, 0444);
85MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); 85MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)");