linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BK PATCH] Rocketport changes for 2.5.70-bk
@ 2003-06-13 19:52 Greg KH
  2003-06-13 19:52 ` [PATCH] " Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2003-06-13 19:52 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, Kurt.Robideau

Here is a changeset for the rocketport driver against the latest 2.5.70 bk tree.
It does the following:
	-  Removed non-GPL license text from headers
	-  Removed check_region()/request_region() raciness
	-  Made the driver a >2.5 driver only
  
Please pull from:
        bk://kernel.bkbits.net/gregkh/linux/tty-2.5


thanks,

greg k-h

-----

ChangeSet@1.1308, 2003-06-13 12:36:16-07:00, Kurt.Robideau@comtrol.com
  [PATCH] Rocket patch against 2.5.70-bk18
  
  Here is rocket driver patch against 2.5.70-bk18.  Changes are:
  
  -  Removed non-GPL license text from headers
  -  Removed check_region()/request_region() raciness
  -  Made the driver a >2.5 driver only (as you had suggested)

 drivers/char/rocket.c     |  287 +++++-----------------------------------------
 drivers/char/rocket.h     |   24 ---
 drivers/char/rocket_int.h |   46 -------
 drivers/pci/pci.ids       |    2 
 include/linux/pci_ids.h   |    2 
 5 files changed, 44 insertions(+), 317 deletions(-)
------


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] Rocketport changes for 2.5.70-bk
  2003-06-13 19:52 [BK PATCH] Rocketport changes for 2.5.70-bk Greg KH
@ 2003-06-13 19:52 ` Greg KH
  2003-06-13 20:01   ` Christoph Hellwig
  2003-06-16  2:26   ` Horst von Brand
  0 siblings, 2 replies; 5+ messages in thread
From: Greg KH @ 2003-06-13 19:52 UTC (permalink / raw)
  To: linux-kernel

ChangeSet 1.1308, 2003/06/13 12:36:16-07:00, Kurt.Robideau@comtrol.com

[PATCH] Rocket patch against 2.5.70-bk18

Here is rocket driver patch against 2.5.70-bk18.  Changes are:

-  Removed non-GPL license text from headers
-  Removed check_region()/request_region() raciness
-  Made the driver a >2.5 driver only (as you had suggested)


 drivers/char/rocket.c     |  287 +++++-----------------------------------------
 drivers/char/rocket.h     |   24 ---
 drivers/char/rocket_int.h |   46 -------
 drivers/pci/pci.ids       |    2 
 include/linux/pci_ids.h   |    2 
 5 files changed, 44 insertions(+), 317 deletions(-)


diff -Nru a/drivers/char/rocket.c b/drivers/char/rocket.c
--- a/drivers/char/rocket.c	Fri Jun 13 12:49:06 2003
+++ b/drivers/char/rocket.c	Fri Jun 13 12:49:06 2003
@@ -40,23 +40,12 @@
  */
 
 /****** Defines ******/
-#include <linux/config.h>
-#include <linux/version.h>
-
 #ifdef PCI_NUM_RESOURCES
 #define PCI_BASE_ADDRESS(dev, r) ((dev)->resource[r].start)
 #else
 #define PCI_BASE_ADDRESS(dev, r) ((dev)->base_address[r])
 #endif
 
-#ifndef VERSION_CODE
-#  define VERSION_CODE(vers,rel,seq) ( ((vers)<<16) | ((rel)<<8) | (seq) )
-#endif
-
-#if LINUX_VERSION_CODE < VERSION_CODE(2,2,9)	/*  No version < 2.2 */
-#  error "This kernel is too old: not supported by this file"
-#endif
-
 #define ROCKET_PARANOIA_CHECK
 #define ROCKET_DISABLE_SIMUSAGE
 
@@ -72,45 +61,12 @@
 #undef REV_PCI_ORDER
 #undef ROCKET_DEBUG_IO
 
-/*   CAUTION!!!!!  The TIME_STAT Function relies on the Pentium 64 bit
- *    register.  For various reasons related to 1.2.13, the test for this
- *    register is omitted from this driver.  If you are going to enable
- *    this option, make sure you are running a Pentium CPU and that a
- *    cat of /proc/cpuinfo shows ability TS Counters as Yes.  Warning part
- *    done, don't cry to me if you enable this options and things won't
- *    work.  If it gives you any problems, then disable the option.  The code
- *    in this function is pretty straight forward, if it breaks on your
- *    CPU, there is probably something funny about your CPU.
- */
-
-#undef TIME_STAT		/* For performing timing statistics on driver. */
-			/* Produces printks, one every TIME_COUNTER loops, eats */
-			/* some of your CPU time.  Good for testing or */
-			/* other checking, otherwise, leave it undefed */
-			/* Doug Ledford */
-#define TIME_STAT_CPU 100	/* This needs to be set to your processor speed */
-			       /* For example, 100Mhz CPU, set this to 100 */
-#define TIME_COUNTER 180000	/* This is how many iterations to run before */
-			      /* performing the printk statements.   */
-			      /* 6000 = 1 minute, 360000 = 1 hour, etc. */
-			      /* Since time_stat is long long, this */
-			      /* Can be really high if you want :)  */
-#undef TIME_STAT_VERBOSE	/* Undef this if you want a terse log message. */
-
-#if LINUX_VERSION_CODE < VERSION_CODE(2,4,0)
-#define TTY_DRIVER_NO_DEVFS 0
-#endif
-
 #define POLL_PERIOD HZ/100	/*  Polling period .01 seconds (10ms) */
 
 /****** Kernel includes ******/
 
 #ifdef MODVERSIONS
-#if LINUX_VERSION_CODE < VERSION_CODE(2,5,00)
-#include <linux/modversions.h>
-#else
 #include <config/modversions.h>
-#endif
 #endif				
 
 #include <linux/module.h>
@@ -118,13 +74,7 @@
 #include <linux/major.h>
 #include <linux/kernel.h>
 #include <linux/signal.h>
-
-#if LINUX_VERSION_CODE < VERSION_CODE(2,4,0)
-#include <linux/malloc.h>
-#else
 #include <linux/slab.h>
-#endif
-
 #include <linux/mm.h>
 #include <linux/sched.h>
 #include <linux/timer.h>
@@ -153,20 +103,8 @@
 #include "rocket_int.h"
 #include "rocket.h"
 
-#ifdef LOCAL_ROCKET_H
-#include "version.h"
-#else
-#define ROCKET_VERSION "2.08"
-#define ROCKET_DATE "02-June-2003"
-#endif				/* LOCAL_ROCKET_H */
-
-/*
- * All of the compatibilty code so we can compile serial.c against
- * older kernels is hidden in rocket_compat.h
- */
-#if defined(LOCAL_ROCKET_H) || (LINUX_VERSION_CODE < VERSION_CODE(2,3,23))
-#include "rocket_compat.h"
-#endif
+#define ROCKET_VERSION "2.09"
+#define ROCKET_DATE "12-June-2003"
 
 /****** RocketPort Local Variables ******/
 
@@ -205,13 +143,6 @@
 static rocketModel_t rocketModel[NUM_BOARDS];
 static int max_board;
 
-#ifdef TIME_STAT
-static unsigned long long time_stat;
-static unsigned long time_stat_short;
-static unsigned long time_stat_long;
-static unsigned long time_counter;
-#endif
-
 /*
  * The following arrays define the interrupt bits corresponding to each AIOP.
  * These bits are different between the ISA and regular PCI boards and the
@@ -241,7 +172,7 @@
 static unsigned long nextLineNumber;
 
 /*****  RocketPort Static Prototypes   *********/
-static int __init init_ISA(int i, int *reserved_controller);
+static int __init init_ISA(int i);
 static void rp_wait_until_sent(struct tty_struct *tty, int timeout);
 static void rp_flush_buffer(struct tty_struct *tty);
 static void rmSpeakerReset(CONTROLLER_T * CtlP, unsigned long model);
@@ -564,16 +495,6 @@
 	unsigned char AiopMask;
 	Word_t bit;
 
-#ifdef TIME_STAT
-	unsigned long low = 0, high = 0, loop_time;
-	unsigned long long time_stat_tmp = 0, time_stat_tmp2 = 0;
-
-      __asm__(".byte 0x0f,0x31":"=a"(low), "=d"(high));
-	time_stat_tmp = high;
-	time_stat_tmp <<= 32;
-	time_stat_tmp += low;
-#endif				/* TIME_STAT */
-
 	/*  Walk through all the boards (ctrl's) */
 	for (ctrl = 0; ctrl < max_board; ctrl++) {
 		if (rcktpt_io_addr[ctrl] <= 0)
@@ -635,48 +556,6 @@
 	 */
 	if (atomic_read(&rp_num_ports_open))
 		mod_timer(&rocket_timer, jiffies + POLL_PERIOD);
-
-#ifdef TIME_STAT
-      __asm__(".byte 0x0f,0x31":"=a"(low), "=d"(high));
-	time_stat_tmp2 = high;
-	time_stat_tmp2 <<= 32;
-	time_stat_tmp2 += low;
-	time_stat_tmp2 -= time_stat_tmp;
-	time_stat += time_stat_tmp2;
-	if (time_counter == 0)
-		time_stat_short = time_stat_long = time_stat_tmp2;
-	else {
-		if (time_stat_tmp2 < time_stat_short)
-			time_stat_short = time_stat_tmp2;
-		else if (time_stat_tmp2 > time_stat_long)
-			time_stat_long = time_stat_tmp2;
-	}
-	if (++time_counter == TIME_COUNTER) {
-		loop_time =
-		    (unsigned
-		     long) (((unsigned long) (time_stat >> 32) *
-			     ((unsigned long) (0xffffffff) /
-			      (TIME_STAT_CPU * TIME_COUNTER))) +
-			    ((unsigned long) time_stat /
-			     (TIME_STAT_CPU * TIME_COUNTER)));
-#ifdef TIME_STAT_VERBOSE
-		printk(KERN_INFO "rp_do_poll: Interrupt Timings\n");
-		printk(KERN_INFO "     %5ld iterations; %ld us min,\n",
-		       (long) TIME_COUNTER,
-		       (time_stat_short / TIME_STAT_CPU));
-		printk(KERN_INFO "     %5ld us max, %ld us average per iteration.\n",
-		       (time_stat_long / TIME_STAT_CPU), loop_time);
-		printk(KERN_INFO "We want to use < 5,000 us for an iteration.\n");
-#else				/* TIME_STAT_VERBOSE */
-		printk(KERN_INFO "rp: %ld loops: %ld min, %ld max, %ld us/loop.\n",
-		       (long) TIME_COUNTER,
-		       (time_stat_short / TIME_STAT_CPU),
-		       (time_stat_long / TIME_STAT_CPU), loop_time);
-#endif				/* TIME_STAT_VERBOSE */
-		time_counter = time_stat = 0;
-		time_stat_short = time_stat_long = 0;
-	}
-#endif				/* TIME_STAT */
 }
 
 /*
@@ -762,10 +641,8 @@
 	spin_lock_init(&info->slock);
 	sema_init(&info->write_sem, 1);
 	rp_table[line] = info;
-#if LINUX_VERSION_CODE > VERSION_CODE(2,5,0)
 	if (pci_dev)
 		tty_register_device(rocket_driver, line, &pci_dev->dev);
-#endif
 }
 
 /*
@@ -1039,12 +916,7 @@
 	CHANNEL_t *cp;
 	unsigned long page;
 
-#if LINUX_VERSION_CODE > VERSION_CODE(2,5,0)
 	line = TTY_GET_LINE(tty);
-#else
-	line = MINOR(tty->device) - TTY_DRIVER_MINOR_START(tty);
-#endif
-
 	if ((line < 0) || (line >= MAX_RP_PORTS) || ((info = rp_table[line]) == NULL))
 		return -ENXIO;
 
@@ -1070,9 +942,6 @@
 	info->tty = tty;
 
 	if (info->count++ == 0) {
-#if ((LINUX_VERSION_CODE < VERSION_CODE(2,5,0)) && defined(MODULE))
-		MOD_INC_USE_COUNT;
-#endif
 		atomic_inc(&rp_num_ports_open);
 
 #ifdef ROCKET_DEBUG_OPEN
@@ -1254,10 +1123,6 @@
 	info->flags &= ~(ROCKET_INITIALIZED | ROCKET_CLOSING | ROCKET_NORMAL_ACTIVE);
 	tty->closing = 0;
 	wake_up_interruptible(&info->close_wait);
-
-#if ((LINUX_VERSION_CODE < VERSION_CODE(2,5,0)) && defined(MODULE))
-	MOD_DEC_USE_COUNT;
-#endif
 	atomic_dec(&rp_num_ports_open);
 
 #ifdef ROCKET_DEBUG_OPEN
@@ -1406,8 +1271,6 @@
 	return 0;
 }
 
-#if LINUX_VERSION_CODE > VERSION_CODE(2,5,0)
-
 /*
  *  Returns the state of the serial modem control lines.  These next 2 functions 
  *  are the way kernel versions > 2.5 handle modem control lines rather than IOCTLs.
@@ -1450,8 +1313,6 @@
 	return 0;
 }
 
-#endif /*  Linux > 2.5 */
-
 static int get_config(struct r_port *info, struct rocket_config *retinfo)
 {
 	struct rocket_config tmp;
@@ -1781,12 +1642,8 @@
 	rp_flush_buffer(tty);
 	if (info->flags & ROCKET_CLOSING)
 		return;
-	if (info->count) {
-#if ((LINUX_VERSION_CODE < VERSION_CODE(2,5,0)) && defined(MODULE))
-		MOD_DEC_USE_COUNT;
-#endif
+	if (info->count) 
 		atomic_dec(&rp_num_ports_open);
-	}
 	clear_bit((info->aiop * 8) + info->chan, (void *) &xmit_flags[info->board]);
 
 	info->count = 0;
@@ -2344,17 +2201,9 @@
 	for (aiop = 0; aiop < max_num_aiops; aiop++)
 		ctlp->AiopNumChan[aiop] = ports_per_aiop;
 
-#if LINUX_VERSION_CODE < VERSION_CODE(2,3,99)
-	printk(KERN_INFO "Comtrol PCI controller #%d ID 0x%x found at 0x%lx, "
-	       "%d AIOP(s) (%s)\n", i, dev->device, rcktpt_io_addr[i],
-	       num_aiops, rocketModel[i].modelString);
-#else
-	printk
-	    ("Comtrol PCI controller #%d ID 0x%x found in bus:slot:fn %s at address %04lx, "
+	printk("Comtrol PCI controller #%d ID 0x%x found in bus:slot:fn %s at address %04lx, "
 	     "%d AIOP(s) (%s)\n", i, dev->device, dev->slot_name,
 	     rcktpt_io_addr[i], num_aiops, rocketModel[i].modelString);
-#endif
-
 	printk(KERN_INFO "Installing %s, creating /dev/ttyR%d - %ld\n",
 	       rocketModel[i].modelString,
 	       rocketModel[i].startingPortNumber,
@@ -2391,9 +2240,6 @@
 	return (1);
 }
 
-#if LINUX_VERSION_CODE > VERSION_CODE(2,3,99)	/*  Linux version 2.4 and greater */
-
-
 /*
  *  Probes for PCI cards, inits them if found
  *  Input:   board_found = number of ISA boards already found, or the
@@ -2413,51 +2259,6 @@
 	return (count);
 }
 
-#else				/*  Linux version 2.2 */
-
-/*
- *  Linux 2.2 pci_find_device() does not allow a search of all devices for a certain vendor,
- *  you have to try each device ID.  Comtrol device ID's are 0x0000 -0x000F for the original
- *  boards.  Newer board are 0x08xx (see upci_ids[]).
- */
-static int __init init_PCI(int boards_found)
-{
-	int j, count = 0;
-	struct pci_dev *dev = NULL;
-
-	static int upci_ids[] = {
-		PCI_DEVICE_ID_URP32INTF,
-		PCI_DEVICE_ID_URP8INTF,
-		PCI_DEVICE_ID_URP16INTF,
-		PCI_DEVICE_ID_CRP16INTF,
-		PCI_DEVICE_ID_URP8OCTA,
-		PCI_DEVICE_ID_UPCI_RM3_8PORT,
-		PCI_DEVICE_ID_UPCI_RM3_4PORT
-	};
-
-#define NUM_UPCI_IDS	(sizeof(upci_ids) / sizeof(upci_ids[0]))
-
-	/*  Try finding devices with PCI ID's 0x0000 - 0x000F */
-	for (j = 0; j < 16; j++) {
-		while ((dev = pci_find_device(PCI_VENDOR_ID_RP, j, dev))) {
-			register_PCI(count + boards_found, dev);
-			count++;
-		}
-	}
-
-	/*  Now try finding the UPCI devices,  which have PCI ID's 0x0800 - 0x080F */
-	for (j = 0; j < NUM_UPCI_IDS; j++) {
-		while ((dev =
-			pci_find_device(PCI_VENDOR_ID_RP, upci_ids[j], dev))) {
-			register_PCI(count + boards_found, dev);
-			count++;
-		}
-	}
-	return (count);
-}
-
-#endif				/*  Linux version 2.2/2.4 */
-
 #endif				/* CONFIG_PCI */
 
 /*
@@ -2465,7 +2266,7 @@
  *  Input:   i = the board number to look for
  *  Returns: 1 if board found, 0 else
  */
-static int __init init_ISA(int i, int *reserved_controller)
+static int __init init_ISA(int i)
 {
 	int num_aiops, num_chan = 0, total_num_chan = 0;
 	int aiop, chan;
@@ -2473,20 +2274,16 @@
 	CONTROLLER_t *ctlp;
 	char *type_string;
 
-	if (rcktpt_io_addr[i] == 0 || controller == 0)
+	/*  If io_addr is zero, no board configured */
+	if (rcktpt_io_addr[i] == 0)
 		return (0);
 
-	if (check_region(rcktpt_io_addr[i], 64)) {
-		printk(KERN_INFO "RocketPort board address 0x%lx in use...\n", rcktpt_io_addr[i]);
+	/*  Reserve the IO region */
+	if (!request_region(rcktpt_io_addr[i], 64, "Comtrol RocketPort")) {
+		printk(KERN_INFO "Unable to reserve IO region for configured ISA RocketPort at address 0x%lx, board not installed...\n", rcktpt_io_addr[i]);
 		rcktpt_io_addr[i] = 0;
 		return (0);
 	}
-	if (rcktpt_io_addr[i] + 0x40 == controller) {
-		*reserved_controller = 1;
-		request_region(rcktpt_io_addr[i], 68, "Comtrol RocketPort");
-	} else {
-		request_region(rcktpt_io_addr[i], 64, "Comtrol RocketPort");
-	}
 
 	ctlp = sCtlNumToCtlPtr(i);
 
@@ -2522,24 +2319,22 @@
 	for (aiop = 0; aiop < MAX_AIOPS_PER_BOARD; aiop++)
 		aiopio[aiop] = rcktpt_io_addr[i] + (aiop * 0x400);
 
-	num_aiops =
-	    sInitController(ctlp, i, controller + (i * 0x400), aiopio,  MAX_AIOPS_PER_BOARD, 0, FREQ_DIS, 0);
+	num_aiops = sInitController(ctlp, i, controller + (i * 0x400), aiopio,  MAX_AIOPS_PER_BOARD, 0, FREQ_DIS, 0);
 
 	if (ctlp->boardType == ROCKET_TYPE_PC104) {
 		sEnAiop(ctlp, 2);	/* only one AIOPIC, but these */
 		sEnAiop(ctlp, 3);	/* CSels used for other stuff */
 	}
 
+	/*  If something went wrong initing the AIOP's release the ISA IO memory */
 	if (num_aiops <= 0) {
-		if (rcktpt_io_addr[i] + 0x40 == controller) {
-			*reserved_controller = 0;
-			release_region(rcktpt_io_addr[i], 68);
-		} else {
-			release_region(rcktpt_io_addr[i], 64);
-		}
+		release_region(rcktpt_io_addr[i], 64);
 		rcktpt_io_addr[i] = 0;
 		return (0);
 	}
+  
+	rocketModel[i].startingPortNumber = nextLineNumber;
+
 	for (aiop = 0; aiop < num_aiops; aiop++) {
 		sResetAiopByNum(ctlp, aiop);
 		sEnAiop(ctlp, aiop);
@@ -2565,9 +2360,9 @@
 	rocketModel[i].numPorts = total_num_chan;
 	rocketModel[i].model = MODEL_ISA;
 
-	printk(KERN_INFO "Comtrol ISA controller #%d found at 0x%lx, "
-	       "%d AIOPs %s\n", i, rcktpt_io_addr[i], num_aiops,
-	       type_string);
+	printk(KERN_INFO "RocketPort ISA card #%d found at 0x%lx - %d AIOPs %s\n", 
+	       i, rcktpt_io_addr[i], num_aiops, type_string);
+
 	printk(KERN_INFO "Installing %s, creating /dev/ttyR%d - %ld\n",
 	       rocketModel[i].modelString,
 	       rocketModel[i].startingPortNumber,
@@ -2595,10 +2390,8 @@
 	.break_ctl = rp_break,
 	.send_xchar = rp_send_xchar,
 	.wait_until_sent = rp_wait_until_sent,
-#if (LINUX_VERSION_CODE > VERSION_CODE(2,5,0))
 	.tiocmget = rp_tiocmget,
 	.tiocmset = rp_tiocmset,
-#endif /* Kernel > 2.5 */
 };
 
 /*
@@ -2607,7 +2400,6 @@
 int __init rp_init(void)
 {
 	int retval, pci_boards_found, isa_boards_found, i;
-	int reserved_controller = 0;
 
 	printk(KERN_INFO "RocketPort device driver module, version %s, %s\n",
 	       ROCKET_VERSION, ROCKET_DATE);
@@ -2634,12 +2426,20 @@
 	nextLineNumber = 0;
 	memset(rocketModel, 0, sizeof (rocketModel));
 
-	if (board1 && controller == 0)
-		controller = board1 + 0x40;
+	/*
+	 *  If board 1 is non-zero, there is at least one ISA configured.  If controller is 
+	 *  zero, use the default controller IO address of board1 + 0x40.
+	 */
+	if (board1) {
+		if (controller == 0)
+			controller = board1 + 0x40;
+	} else {
+		controller = 0;  /*  Used as a flag, meaning no ISA boards */
+	}
 
-	if (controller && check_region(controller, 4)) {
-		printk(KERN_INFO "Controller IO addresses in use, unloading driver.\n");
-		put_tty_driver(rocket_driver);
+	/*  If an ISA card is configured, reserve the 4 byte IO space for the Mudbac controller */
+	if (controller && (!request_region(controller, 4, "Comtrol RocketPort"))) {
+		printk(KERN_INFO "Unable to reserve IO region for first configured ISA RocketPort controller 0x%lx.  Driver exiting \n", controller);
 		return -EBUSY;
 	}
 
@@ -2663,9 +2463,7 @@
 	 * driver with the tty layer.
 	 */
 
-#if (LINUX_VERSION_CODE > VERSION_CODE(2,5,0))
 	rocket_driver->owner = THIS_MODULE;
-#endif /* Kernel > 2.5 */
 	rocket_driver->flags = TTY_DRIVER_NO_DEVFS;
 	rocket_driver->devfs_name = "tts/R";
 	rocket_driver->name = "ttyR";
@@ -2701,7 +2499,7 @@
 	pci_boards_found = 0;
 
 	for (i = 0; i < NUM_BOARDS; i++) {
-		if (init_ISA(i, &reserved_controller))
+		if (init_ISA(i))
 			isa_boards_found++;
 	}
 
@@ -2720,13 +2518,6 @@
 		return -ENXIO;
 	}
 
-	if (isa_boards_found) {
-		if (reserved_controller == 0)
-			request_region(controller, 4, "Comtrol RocketPort");
-	} else {
-		controller = 0;
-	}
-
 	return 0;
 }
 
@@ -2736,7 +2527,6 @@
 {
 	int retval;
 	int i;
-	int released_controller = 0;
 
 	del_timer_sync(&rocket_timer);
 
@@ -2754,14 +2544,9 @@
 	for (i = 0; i < NUM_BOARDS; i++) {
 		if (rcktpt_io_addr[i] <= 0 || is_PCI[i])
 			continue;
-		if (rcktpt_io_addr[i] + 0x40 == controller) {
-			released_controller++;
-			release_region(rcktpt_io_addr[i], 68);
-		} else {
-			release_region(rcktpt_io_addr[i], 64);
-		}
+		release_region(rcktpt_io_addr[i], 64);
 	}
-	if (controller && released_controller == 0)
+	if (controller)
 		release_region(controller, 4);
 }
 #endif
diff -Nru a/drivers/char/rocket.h b/drivers/char/rocket.h
--- a/drivers/char/rocket.h	Fri Jun 13 12:49:06 2003
+++ b/drivers/char/rocket.h	Fri Jun 13 12:49:06 2003
@@ -1,29 +1,9 @@
 /*
- * rocket.h --- the exported interface of the rocket driver to
- * its configuration program.
+ * rocket.h --- the exported interface of the rocket driver to its configuration program.
  *
  * Written by Theodore Ts'o, Copyright 1997.
+ * Copyright 1997 Comtrol Corporation. 
  *
- * Copyright 1994, 1997, 2003 Comtrol Corporation.    All Rights Reserved.
- * 
- * The following source code is subject to Comtrol Corporation's
- * Developer's License Agreement.
- * 
- * This source code is protected by United States copyright law and 
- * international copyright treaties.
- * 
- * This source code may only be used to develop software products that
- * will operate with Comtrol brand hardware.
- * 
- * You may not reproduce nor distribute this source code in its original
- * form but must produce a derivative work which includes portions of
- * this source code only.
- * 
- * The portions of this source code which you use in your derivative
- * work must bear Comtrol's copyright notice:
- * 
- * 		Copyright 1994 Comtrol Corporation.
- * 
  */
 
 /*  Model Information Struct */
diff -Nru a/drivers/char/rocket_int.h b/drivers/char/rocket_int.h
--- a/drivers/char/rocket_int.h	Fri Jun 13 12:49:06 2003
+++ b/drivers/char/rocket_int.h	Fri Jun 13 12:49:06 2003
@@ -2,26 +2,7 @@
  * rocket_int.h --- internal header file for rocket.c
  *
  * Written by Theodore Ts'o, Copyright 1997.
- *
- * Copyright 1994, 1997, 2003 Comtrol Corporation.    All Rights Reserved.
- * 
- * The following source code is subject to Comtrol Corporation's
- * Developer's License Agreement.
- * 
- * This source code is protected by United States copyright law and 
- * international copyright treaties.
- * 
- * This source code may only be used to develop software products that
- * will operate with Comtrol brand hardware.
- * 
- * You may not reproduce nor distribute this source code in its original
- * form but must produce a derivative work which includes portions of
- * this source code only.
- * 
- * The portions of this source code which you use in your derivative
- * work must bear Comtrol's copyright notice:
- * 
- * 		Copyright 1994 Comtrol Corporation.
+ * Copyright 1997 Comtrol Corporation.  
  * 
  */
 
@@ -98,17 +79,9 @@
 #define sInW(a) (inw_p(a))
 #endif				/* ROCKET_DEBUG_IO */
 
-/* This is used to move arrays of bytes so byte swapping isn't
- * appropriate.  On Linux 2.3 and above outsw is the same as
- * outsw_ns, but we use the old form for compatibility with
- * old kernels. */
-#if  defined(__BIG_ENDIAN) && (LINUX_VERSION_CODE < VERSION_CODE(2,3,0))
-#define sOutStrW(port, addr, count) if (count) outsw_ns(port, addr, count)
-#define sInStrW(port, addr, count) if (count) insw_ns(port, addr, count)
-#else
+/* This is used to move arrays of bytes so byte swapping isn't appropriate. */
 #define sOutStrW(port, addr, count) if (count) outsw(port, addr, count)
 #define sInStrW(port, addr, count) if (count) insw(port, addr, count)
-#endif
 
 #define CTL_SIZE 8
 #define AIOP_CTL_SIZE 4
@@ -1318,11 +1291,7 @@
 /* Compact PCI device */ 
 #define PCI_DEVICE_ID_CRP16INTF		0x0903	/* Rocketport Compact PCI 16 port w/external I/F */
 
-/*  Taking care of some kernel incompatibilities... */
-#if LINUX_VERSION_CODE > VERSION_CODE(2,5,68)
-
 #define TTY_GET_LINE(t) t->index
-
 #define TTY_DRIVER_MINOR_START(t) t->driver->minor_start
 #define TTY_DRIVER_SUBTYPE(t) t->driver->subtype
 #define TTY_DRIVER_NAME(t) t->driver->name
@@ -1330,15 +1299,4 @@
 #define TTY_DRIVER_FLUSH_BUFFER_EXISTS(t) t->driver->flush_buffer
 #define TTY_DRIVER_FLUSH_BUFFER(t) t->driver->flush_buffer(t)
 
-#else
 
-#define TTY_GET_LINE(t) minor(t->device) - TTY_DRIVER_MINOR_START(t)
-
-#define TTY_DRIVER_MINOR_START(t) t->driver.minor_start
-#define TTY_DRIVER_SUBTYPE(t) t->driver.subtype
-#define TTY_DRIVER_NAME(t) t->driver.name
-#define TTY_DRIVER_NAME_BASE(t) t->driver.name_base
-#define TTY_DRIVER_FLUSH_BUFFER_EXISTS(t) t->driver.flush_buffer
-#define TTY_DRIVER_FLUSH_BUFFER(t) t->driver.flush_buffer(t)
-
-#endif
diff -Nru a/drivers/pci/pci.ids b/drivers/pci/pci.ids
--- a/drivers/pci/pci.ids	Fri Jun 13 12:49:06 2003
+++ b/drivers/pci/pci.ids	Fri Jun 13 12:49:06 2003
@@ -3752,6 +3752,8 @@
 	0005  Rocketport 8 port w/octa cable
 	0006  Rocketport 8 port w/RJ11 connectors
 	0007  Rocketport 4 port w/RJ11 connectors
+	0008  Rocketport 8 port w/ DB78 SNI (Siemens) connector
+	0009  Rocketport 16 port w/ DB78 SNI (Siemens) connector
 	000a  Rocketport Plus 4 port
 	000b  Rocketport Plus 8 port
 	000c  RocketModem 6 port
diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h	Fri Jun 13 12:49:06 2003
+++ b/include/linux/pci_ids.h	Fri Jun 13 12:49:06 2003
@@ -1399,6 +1399,8 @@
 #define PCI_DEVICE_ID_RP8OCTA		0x0005
 #define PCI_DEVICE_ID_RP8J		0x0006
 #define PCI_DEVICE_ID_RP4J		0x0007
+#define PCI_DEVICE_ID_RP8SNI		0x0008	
+#define PCI_DEVICE_ID_RP16SNI		0x0009	
 #define PCI_DEVICE_ID_RPP4		0x000A
 #define PCI_DEVICE_ID_RPP8		0x000B
 #define PCI_DEVICE_ID_RP8M		0x000C

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Rocketport changes for 2.5.70-bk
  2003-06-13 19:52 ` [PATCH] " Greg KH
@ 2003-06-13 20:01   ` Christoph Hellwig
  2003-06-16  2:26   ` Horst von Brand
  1 sibling, 0 replies; 5+ messages in thread
From: Christoph Hellwig @ 2003-06-13 20:01 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel

On Fri, Jun 13, 2003 at 12:52:39PM -0700, Greg KH wrote:
> ChangeSet 1.1308, 2003/06/13 12:36:16-07:00, Kurt.Robideau@comtrol.com
> 
> [PATCH] Rocket patch against 2.5.70-bk18
> 
> Here is rocket driver patch against 2.5.70-bk18.  Changes are:
> 
> -  Removed non-GPL license text from headers
> -  Removed check_region()/request_region() raciness
> -  Made the driver a >2.5 driver only (as you had suggested)

Please also remove all those silly indirection macros added
to rocket_int.h in the last update.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Rocketport changes for 2.5.70-bk
  2003-06-13 19:52 ` [PATCH] " Greg KH
  2003-06-13 20:01   ` Christoph Hellwig
@ 2003-06-16  2:26   ` Horst von Brand
  2003-06-16  5:31     ` Greg KH
  1 sibling, 1 reply; 5+ messages in thread
From: Horst von Brand @ 2003-06-16  2:26 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel

Greg KH <greg@kroah.com> said:
> Here is rocket driver patch against 2.5.70-bk18.  Changes are:
> 
> -  Removed non-GPL license text from headers

Cleared that with the writer(s)? Including it in the kernel might have been
a mistake from their part...
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Rocketport changes for 2.5.70-bk
  2003-06-16  2:26   ` Horst von Brand
@ 2003-06-16  5:31     ` Greg KH
  0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2003-06-16  5:31 UTC (permalink / raw)
  To: Horst von Brand; +Cc: linux-kernel

On Sun, Jun 15, 2003 at 10:26:03PM -0400, Horst von Brand wrote:
> Greg KH <greg@kroah.com> said:
> > Here is rocket driver patch against 2.5.70-bk18.  Changes are:
> > 
> > -  Removed non-GPL license text from headers
> 
> Cleared that with the writer(s)? Including it in the kernel might have been
> a mistake from their part...

Did you see who wrote that patch?  :)

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-06-16  5:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-13 19:52 [BK PATCH] Rocketport changes for 2.5.70-bk Greg KH
2003-06-13 19:52 ` [PATCH] " Greg KH
2003-06-13 20:01   ` Christoph Hellwig
2003-06-16  2:26   ` Horst von Brand
2003-06-16  5:31     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).