[Reposting due to incorrect list address, sorry Greg!]

This patch just adds an array to map the chip type to a string for use
in debug messages for the ftdi_sio driver.  I use it in the
get_ftdi_divisor function and another patch.

Signed-off-by: Ian Abbott <[EMAIL PROTECTED]>


diff -ur a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
--- a/drivers/usb/serial/ftdi_sio.c	2005-03-02 07:38:18.000000000 +0000
+++ b/drivers/usb/serial/ftdi_sio.c	2005-03-29 11:42:14.000000000 +0100
@@ -623,6 +623,13 @@
 	.id_table =	id_table_combined,
 };
 
+static char *ftdi_chip_name[] = {
+	[SIO] = "SIO",	/* the serial part of FT8U100AX */
+	[FT8U232AM] = "FT8U232AM",
+	[FT232BM] = "FT232BM",
+	[FT2232C] = "FT2232C",
+};
+
 
 /* Constants for read urb and write urb */
 #define BUFSZ 512
@@ -1001,7 +1008,6 @@
 	struct ftdi_private *priv = usb_get_serial_port_data(port);
 	__u32 div_value = 0;
 	int div_okay = 1;
-	char *chip_name = "";
 	int baud;
 
 	/*
@@ -1046,7 +1052,6 @@
 	if (!baud) baud = 9600;	
 	switch(priv->chip_type) {
 	case SIO: /* SIO chip */
-		chip_name = "SIO";
 		switch(baud) {
 		case 300: div_value = ftdi_sio_b300; break;
 		case 600: div_value = ftdi_sio_b600; break;
@@ -1066,7 +1071,6 @@
 		}
 		break;
 	case FT8U232AM: /* 8U232AM chip */
-		chip_name = "FT8U232AM";
 		if (baud <= 3000000) {
 			div_value = ftdi_232am_baud_to_divisor(baud);
 		} else {
@@ -1077,11 +1081,6 @@
 		break;
 	case FT232BM: /* FT232BM chip */
 	case FT2232C: /* FT2232C chip */
-		if (priv->chip_type == FT2232C) {
-			chip_name = "FT2232C";
-		} else {
-			chip_name = "FT232BM";
-		}
 		if (baud <= 3000000) {
 			div_value = ftdi_232bm_baud_to_divisor(baud);
 		} else {
@@ -1094,7 +1093,8 @@
 
 	if (div_okay) {
 		dbg("%s - Baud rate set to %d (divisor 0x%lX) on chip %s",
-			__FUNCTION__, baud, (unsigned long)div_value, chip_name);
+			__FUNCTION__, baud, (unsigned long)div_value,
+			ftdi_chip_name[priv->chip_type]);
 	}
 
 	return(div_value);

Reply via email to