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