Skip to contentSkip to conversation

linux/drivers/media/radio check_region() removal

PATCH In review Andrey Panin 2 participants 2 messages Nov 24, 2000

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 linux/drivers/media/radio check_region() removal

Hi all,

attached patch removes all check_region() calls from /linux/drivers/media/radio drivers. Most changes are obvious, except radio-cadet.c which needs some maintainer's attention.

I hope it will be usefull.

Best regards,
Andrey

Signature · 2 lines
Andrey Panin            | Embedded systems software engineer
[email protected]        | PGP key: http://www.orbita1.ru/~pazke/AndreyPanin.asc
linux/drivers/media/radio/radio-aimslab.c renamed from mnt/disk/linux/drivers/media/radio/radio-aimslab.c +6 -5
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-aimslab.c /linux/drivers/media/radio/radio-aimslab.c
@@ -29,7 +29,7 @@
 
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
-#include <linux/ioport.h>	/* check_region, request_region	*/
+#include <linux/ioport.h>	/* request_region		*/
 #include <linux/delay.h>	/* udelay			*/
 #include <asm/io.h>		/* outb, outb_p			*/
 #include <asm/uaccess.h>	/* copy to/from user		*/
@@ -42,7 +42,7 @@
 #endif
 
 static int io = CONFIG_RADIO_RTRACK_PORT; 
-static int users = 0;
+static int users;
 static struct semaphore lock;
 
 struct rt_device
@@ -338,7 +338,7 @@
 		return -EINVAL;
 	}
 
-	if (check_region(io, 2)) 
+	if (!request_region(io, 2, "rtrack"))
 	{
 		printk(KERN_ERR "rtrack: port 0x%x already in use\n", io);
 		return -EBUSY;
@@ -346,10 +346,11 @@
 
 	rtrack_radio.priv=&rtrack_unit;
 	
-	if(video_register_device(&rtrack_radio, VFL_TYPE_RADIO)==-1)
+	if (video_register_device(&rtrack_radio, VFL_TYPE_RADIO) == -1) {
+		release_region(io, 2);
 		return -EINVAL;
+	}
 		
-	request_region(io, 2, "rtrack");
 	printk(KERN_INFO "AIMSlab RadioTrack/RadioReveal card driver.\n");
 
 	/* Set up the I/O locking */
linux/drivers/media/radio/radio-aztech.c renamed from mnt/disk/linux/drivers/media/radio/radio-aztech.c +6 -5
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-aztech.c /linux/drivers/media/radio/radio-aztech.c
@@ -26,7 +26,7 @@
 
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
-#include <linux/ioport.h>	/* check_region, request_region	*/
+#include <linux/ioport.h>	/* request_region		*/
 #include <linux/delay.h>	/* udelay			*/
 #include <asm/io.h>		/* outb, outb_p			*/
 #include <asm/uaccess.h>	/* copy to/from user		*/
@@ -41,7 +41,7 @@
 
 static int io = CONFIG_RADIO_AZTECH_PORT; 
 static int radio_wait_time = 1000;
-static int users = 0;
+static int users;
 static struct semaphore lock;
 
 struct az_device
@@ -289,7 +289,7 @@
 		return -EINVAL;
 	}
 
-	if (check_region(io, 2)) 
+	if (!request_region(io, 2, "aztech")) 
 	{
 		printk(KERN_ERR "aztech: port 0x%x already in use\n", io);
 		return -EBUSY;
@@ -298,10 +298,11 @@
 	init_MUTEX(&lock);
 	aztech_radio.priv=&aztech_unit;
 	
-	if(video_register_device(&aztech_radio, VFL_TYPE_RADIO)==-1)
+	if (video_register_device(&aztech_radio, VFL_TYPE_RADIO) == -1) {
+		release_region(io, 2);
 		return -EINVAL;
+	}
 		
-	request_region(io, 2, "aztech");
 	printk(KERN_INFO "Aztech radio card driver v1.00/19990224 [email protected]\n");
 	/* mute card - prevents noisy bootups */
 	outb (0, io);
linux/drivers/media/radio/radio-cadet.c renamed from mnt/disk/linux/drivers/media/radio/radio-cadet.c +61 -41

152 lines not on this page · raw message

linux/drivers/media/radio/radio-gemtek.c renamed from mnt/disk/linux/drivers/media/radio/radio-gemtek.c +7 -6
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-gemtek.c /linux/drivers/media/radio/radio-gemtek.c
@@ -17,7 +17,7 @@
 
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
-#include <linux/ioport.h>	/* check_region, request_region	*/
+#include <linux/ioport.h>	/* request_region		*/
 #include <linux/delay.h>	/* udelay			*/
 #include <asm/io.h>		/* outb, outb_p			*/
 #include <asm/uaccess.h>	/* copy to/from user		*/
@@ -30,7 +30,7 @@
 #endif
 
 static int io = CONFIG_RADIO_GEMTEK_PORT; 
-static int users = 0;
+static int users;
 static spinlock_t lock;
 
 struct gemtek_device
@@ -265,7 +265,7 @@
 		return -EINVAL;
 	}
 
-	if (check_region(io, 4)) 
+	if (!request_region(io, 4, "gemtek"))
 	{
 		printk(KERN_ERR "gemtek: port 0x%x already in use\n", io);
 		return -EBUSY;
@@ -273,10 +273,11 @@
 
 	gemtek_radio.priv=&gemtek_unit;
 	
-	if(video_register_device(&gemtek_radio, VFL_TYPE_RADIO)==-1)
+	if (video_register_device(&gemtek_radio, VFL_TYPE_RADIO) == -1) {
+		release_region(io, 4);
 		return -EINVAL;
-		
-	request_region(io, 4, "gemtek");
+	}
+
 	printk(KERN_INFO "GemTek Radio Card driver.\n");
 
 	spin_lock_init(&lock);
linux/drivers/media/radio/radio-maestro.c renamed from mnt/disk/linux/drivers/media/radio/radio-maestro.c +3 -3
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-maestro.c /linux/drivers/media/radio/radio-maestro.c
@@ -84,9 +84,9 @@
 		stereo,	/* VIDEO_TUNER_STEREO_ON */	
 		tuned;	/* signal strength (0 or 0xffff) */
 	struct  semaphore lock;
-} radio_unit = {0, 0, 0, 0, };
+} radio_unit;
 
-static int users = 0;
+static int users;
 
 static void sleep_125ms(void)
 {
@@ -361,7 +361,7 @@
 	
 	if(radio_power_on(&radio_unit)) {
 		if(video_register_device(&maestro_radio, VFL_TYPE_RADIO)==-1) {
-			printk("radio-maestro: can't register device!");
+			printk(KERN_ERR "radio-maestro: can't register device!");
 			return 0;
 		}
 		printk(KERN_INFO "radio-maestro: version "
linux/drivers/media/radio/radio-miropcm20.c renamed from mnt/disk/linux/drivers/media/radio/radio-miropcm20.c +1 -1
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-miropcm20.c /linux/drivers/media/radio/radio-miropcm20.c
@@ -12,7 +12,7 @@
 #include <linux/videodev.h>		/* kernel radio structs		*/
 #include "../../sound/miroaci.h"	/* ACI Control by acimixer      */
 
-static int users = 0;
+static int users;
 
 struct pcm20_device
 {
linux/drivers/media/radio/radio-rtrack2.c renamed from mnt/disk/linux/drivers/media/radio/radio-rtrack2.c +3 -4
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-rtrack2.c /linux/drivers/media/radio/radio-rtrack2.c
@@ -10,7 +10,7 @@
 
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
-#include <linux/ioport.h>	/* check_region, request_region	*/
+#include <linux/ioport.h>	/* request_region		*/
 #include <linux/delay.h>	/* udelay			*/
 #include <asm/io.h>		/* outb, outb_p			*/
 #include <asm/uaccess.h>	/* copy to/from user		*/
@@ -23,7 +23,7 @@
 #endif
 
 static int io = CONFIG_RADIO_RTRACK2_PORT; 
-static int users = 0;
+static int users;
 static spinlock_t lock;
 
 struct rt_device
@@ -230,7 +230,7 @@
 		printk(KERN_ERR "You must set an I/O address with io=0x20c or io=0x30c\n");
 		return -EINVAL;
 	}
-	if (check_region(io, 4)) 
+	if (!request_region(io, 4, "rtrack2")) 
 	{
 		printk(KERN_ERR "rtrack2: port 0x%x already in use\n", io);
 		return -EBUSY;
@@ -242,7 +242,6 @@
 	if(video_register_device(&rtrack2_radio, VFL_TYPE_RADIO)==-1)
 		return -EINVAL;
 		
-	request_region(io, 4, "rtrack2");
 	printk(KERN_INFO "AIMSlab Radiotrack II card driver.\n");
 
  	/* mute card - prevents noisy bootups */
linux/drivers/media/radio/radio-sf16fmi.c renamed from mnt/disk/linux/drivers/media/radio/radio-sf16fmi.c +8 -7
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-sf16fmi.c /linux/drivers/media/radio/radio-sf16fmi.c
@@ -16,7 +16,7 @@
 
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
-#include <linux/ioport.h>	/* check_region, request_region	*/
+#include <linux/ioport.h>	/* request_region		*/
 #include <linux/delay.h>	/* udelay			*/
 #include <asm/io.h>		/* outb, outb_p			*/
 #include <asm/uaccess.h>	/* copy to/from user		*/
@@ -37,7 +37,7 @@
 #endif
 
 static int io = CONFIG_RADIO_SF16FMI_PORT; 
-static int users = 0;
+static int users;
 static struct semaphore lock;
 
 /* freq is in 1/16 kHz to internal number, hw precision is 50 kHz */
@@ -291,7 +291,7 @@
 		printk(KERN_ERR "You must set an I/O address with io=0x???\n");
 		return -EINVAL;
 	}
-	if (check_region(io, 2)) 
+	if (!request_region(io, 2, "fmi"))
 	{
 		printk(KERN_ERR "fmi: port 0x%x already in use\n", io);
 		return -EBUSY;
@@ -304,11 +304,12 @@
 	fmi_radio.priv = &fmi_unit;
 	
 	init_MUTEX(&lock);
-	
-	if(video_register_device(&fmi_radio, VFL_TYPE_RADIO)==-1)
+
+	if(video_register_device(&fmi_radio, VFL_TYPE_RADIO)==-1) {
+		release_region(io, 2);
 		return -EINVAL;
-		
-	request_region(io, 2, "fmi");
+	}
+
 	printk(KERN_INFO "SF16FMx radio card driver at 0x%x.\n", io);
 	printk(KERN_INFO "(c) 1998 Petr Vandrovec, [email protected].\n");
 	/* mute card - prevents noisy bootups */
linux/drivers/media/radio/radio-terratec.c renamed from mnt/disk/linux/drivers/media/radio/radio-terratec.c +6 -5
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-terratec.c /linux/drivers/media/radio/radio-terratec.c
@@ -25,7 +25,7 @@
 
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
-#include <linux/ioport.h>	/* check_region, request_region	*/
+#include <linux/ioport.h>	/* request_region		*/
 #include <linux/delay.h>	/* udelay			*/
 #include <asm/io.h>		/* outb, outb_p			*/
 #include <asm/uaccess.h>	/* copy to/from user		*/
@@ -50,7 +50,7 @@
 /*******************************************************************/
 
 static int io = CONFIG_RADIO_TERRATEC_PORT; 
-static int users = 0;
+static int users;
 static spinlock_t lock;
 
 struct tt_device
@@ -309,7 +309,7 @@
 		printk(KERN_ERR "You must set an I/O address with io=0x???\n");
 		return -EINVAL;
 	}
-	if (check_region(io, 2)) 
+	if (!request_region(io, 2, "terratec")) 
 	{
 		printk(KERN_ERR "TerraTec: port 0x%x already in use\n", io);
 		return -EBUSY;
@@ -319,10 +319,11 @@
 	
 	spin_lock_init(&lock);
 	
-	if(video_register_device(&terratec_radio, VFL_TYPE_RADIO)==-1)
+	if(video_register_device(&terratec_radio, VFL_TYPE_RADIO)==-1) {
+		release_region(io, 2);
 		return -EINVAL;
+	}
 		
-	request_region(io, 2, "terratec");
 	printk(KERN_INFO "TERRATEC ActivRadio Standalone card driver.\n");
 
  	/* mute card - prevents noisy bootups */
linux/drivers/media/radio/radio-trust.c renamed from mnt/disk/linux/drivers/media/radio/radio-trust.c +5 -5
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-trust.c /linux/drivers/media/radio/radio-trust.c
@@ -32,7 +32,7 @@
 
 static int io = CONFIG_RADIO_TRUST_PORT; 
 static int ioval = 0xf;
-static int users = 0;
+static int users;
 static __u16 curvol;
 static __u16 curbass;
 static __u16 curtreble;
@@ -300,15 +300,15 @@
 		printk(KERN_ERR "You must set an I/O address with io=0x???\n");
 		return -EINVAL;
 	}
-	if(check_region(io, 2)) {
+	if (!request_region(io, 2, "Trust FM Radio")) {
 		printk(KERN_ERR "trust: port 0x%x already in use\n", io);
 		return -EBUSY;
 	}
-	if(video_register_device(&trust_radio, VFL_TYPE_RADIO)==-1)
+	if(video_register_device(&trust_radio, VFL_TYPE_RADIO)==-1) {
+		release_region(io, 2);
 		return -EINVAL;
+	}
 		
-	request_region(io, 2, "Trust FM Radio");
-
 	printk(KERN_INFO "Trust FM Radio card driver v1.0.\n");
 
 	write_i2c(2, TDA7318_ADDR, 0x80);	/* speaker att. LF = 0 dB */
linux/drivers/media/radio/radio-typhoon.c renamed from mnt/disk/linux/drivers/media/radio/radio-typhoon.c +13 -12
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-typhoon.c /linux/drivers/media/radio/radio-typhoon.c
@@ -29,14 +29,14 @@
  * completely silent.
  */
 
-#include <linux/module.h>	/* Modules                        */
-#include <linux/init.h>		/* Initdata                       */
-#include <linux/ioport.h>	/* check_region, request_region   */
-#include <linux/proc_fs.h>	/* radio card status report	  */
-#include <asm/io.h>		/* outb, outb_p                   */
-#include <asm/uaccess.h>	/* copy to/from user              */
-#include <linux/videodev.h>	/* kernel radio structs           */
-#include <linux/config.h>	/* CONFIG_RADIO_TYPHOON_*         */
+#include <linux/module.h>	/* Modules			*/
+#include <linux/init.h>		/* Initdata			*/
+#include <linux/ioport.h>	/* request_region		*/
+#include <linux/proc_fs.h>	/* radio card status report	*/
+#include <asm/io.h>		/* outb, outb_p			*/
+#include <asm/uaccess.h>	/* copy to/from user		*/
+#include <linux/videodev.h>	/* kernel radio structs		*/
+#include <linux/config.h>	/* CONFIG_RADIO_TYPHOON_*	*/
 
 #define BANNER "Typhoon Radio Card driver v0.1\n"
 
@@ -328,7 +328,7 @@
 static int io = -1;
 
 #ifdef MODULE
-static unsigned long mutefreq = 0;
+static unsigned long mutefreq;
 #endif
 
 static int __init typhoon_init(void)
@@ -350,17 +350,18 @@
 
 	printk(KERN_INFO BANNER);
 	io = typhoon_unit.iobase;
-	if (check_region(io, 8)) {
+	if (!request_region(io, 8, "typhoon")) {
 		printk(KERN_ERR "radio-typhoon: port 0x%x already in use\n",
 		       typhoon_unit.iobase);
 		return -EBUSY;
 	}
 
 	typhoon_radio.priv = &typhoon_unit;
-	if (video_register_device(&typhoon_radio, VFL_TYPE_RADIO) == -1)
+	if (video_register_device(&typhoon_radio, VFL_TYPE_RADIO) == -1) {
+		release_region(io, 8);
 		return -EINVAL;
+	}
 
-	request_region(typhoon_unit.iobase, 8, "typhoon");
 	printk(KERN_INFO "radio-typhoon: port 0x%x.\n", typhoon_unit.iobase);
 	printk(KERN_INFO "radio-typhoon: mute frequency is %lu kHz.\n",
 	       typhoon_unit.mutefreq);
linux/drivers/media/radio/radio-zoltrix.c renamed from mnt/disk/linux/drivers/media/radio/radio-zoltrix.c +14 -12
diff -ur -x *.flags -x media.o /mnt/disk/linux/drivers/media/radio/radio-zoltrix.c /linux/drivers/media/radio/radio-zoltrix.c
@@ -25,21 +25,21 @@
  *	      - Reworked ioctl functions
  */
 
-#include <linux/module.h>	/* Modules                        */
-#include <linux/init.h>		/* Initdata                       */
-#include <linux/ioport.h>	/* check_region, request_region   */
-#include <linux/delay.h>	/* udelay                 */
-#include <asm/io.h>		/* outb, outb_p                   */
-#include <asm/uaccess.h>	/* copy to/from user              */
-#include <linux/videodev.h>	/* kernel radio structs           */
-#include <linux/config.h>	/* CONFIG_RADIO_ZOLTRIX_PORT      */
+#include <linux/module.h>	/* Modules			*/
+#include <linux/init.h>		/* Initdata			*/
+#include <linux/ioport.h>	/* request_region		*/
+#include <linux/delay.h>	/* udelay			*/
+#include <asm/io.h>		/* outb, outb_p			*/
+#include <asm/uaccess.h>	/* copy to/from user		*/
+#include <linux/videodev.h>	/* kernel radio structs		*/
+#include <linux/config.h>	/* CONFIG_RADIO_ZOLTRIX_PORT	*/
 
 #ifndef CONFIG_RADIO_ZOLTRIX_PORT
 #define CONFIG_RADIO_ZOLTRIX_PORT -1
 #endif
 
 static int io = CONFIG_RADIO_ZOLTRIX_PORT;
-static int users = 0;
+static int users;
 
 struct zol_device {
 	int port;
@@ -355,20 +355,22 @@
 		printk(KERN_ERR "You must set an I/O address with io=0x???\n");
 		return -EINVAL;
 	}
-	if (check_region(io, 2)) {
+	if (!request_region(io, 2, "zoltrix")) {
 		printk(KERN_ERR "zoltrix: port 0x%x already in use\n", io);
 		return -EBUSY;
 	}
 	if ((io != 0x20c) && (io != 0x30c)) {
 		printk(KERN_ERR "zoltrix: invalid port, try 0x20c or 0x30c\n");
+		release_region(io, 2);
 		return -ENXIO;
 	}
 	zoltrix_radio.priv = &zoltrix_unit;
 
-	if (video_register_device(&zoltrix_radio, VFL_TYPE_RADIO) == -1)
+	if (video_register_device(&zoltrix_radio, VFL_TYPE_RADIO) == -1) {
+		release_region(io, 2);
 		return -EINVAL;
+	}
 
-	request_region(io, 2, "zoltrix");
 	printk(KERN_INFO "Zoltrix Radio Plus card driver.\n");
 
 	init_MUTEX(&zoltrix_unit.lock);
#1 lore raw
Quoted 5 lines

attached patch removes all check_region() calls from /linux/drivers/media/r= adio
drivers. Most changes are obvious, except radio-cadet.c which needs some= =20
maintainer's attention.=20

Please check the -ac tree. I've already done them
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/