[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);