jtag: constify driver arrays
[fw/openocd] / src / jtag / drivers / ft2232.c
index 9a40ed9a5f25e54a081777dd5a4c2b81d5b9ed1e..6f8a0fcf1f6051f436fe5d6e02655ea29c365f9c 100644 (file)
@@ -24,7 +24,7 @@
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
-*   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+*   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
 ***************************************************************************/
 
 /**
@@ -164,7 +164,7 @@ static uint16_t ft2232_vid[MAX_USB_IDS + 1] = { 0x0403, 0 };
 static uint16_t ft2232_pid[MAX_USB_IDS + 1] = { 0x6010, 0 };
 
 struct ft2232_layout {
-       char *name;
+       const char *name;
        int (*init)(void);
        void (*reset)(int trst, int srst);
        void (*blink)(void);
@@ -1061,7 +1061,8 @@ static void ft2232_add_scan(bool ir_scan, enum scan_type type, uint8_t *buffer,
                        /* LOG_DEBUG("added TDI bits (i %i)", bits_left - 1); */
                }
                buffer_write(0x0);
-               buffer_write(last_bit);
+               if (type != SCAN_IN)
+                       buffer_write(last_bit);
        } else {
                int tms_bits;
                int tms_count;
@@ -1107,6 +1108,11 @@ static int ft2232_large_scan(struct scan_command *cmd,
        int retval;
        int thisrun_read = 0;
 
+       if (!receive_buffer) {
+               LOG_ERROR("failed to allocate memory");
+               exit(-1);
+       }
+
        if (cmd->ir_scan) {
                LOG_ERROR("BUG: large IR scans are not supported");
                exit(-1);
@@ -1272,6 +1278,8 @@ static int ft2232_large_scan(struct scan_command *cmd,
                        (int)bytes_read);
        }
 
+       free(receive_buffer);
+
        return ERROR_OK;
 }
 
@@ -1503,7 +1511,8 @@ static void minimodule_reset(int trst, int srst)
 
 static void turtle_reset(int trst, int srst)
 {
-       trst = trst;
+       if (trst == 1)
+               LOG_ERROR("Can't assert TRST: the adapter lacks this signal");
 
        if (srst == 1)
                low_output |= nSRST;
@@ -2332,6 +2341,11 @@ static int ft2232_init(void)
        int retval;
        uint32_t bytes_written;
 
+       LOG_WARNING("Using DEPRECATED interface driver 'ft2232'");
+#if BUILD_FTDI
+       LOG_INFO("Consider using the 'ftdi' interface driver, with configuration files in interface/ftdi/...");
+#endif
+
        if (tap_get_tms_path_len(TAP_IRPAUSE, TAP_IRPAUSE) == 7)
                LOG_DEBUG("ft2232 interface using 7 step jtag state transitions");
        else
@@ -3133,9 +3147,8 @@ static void flossjtag_blink(void)
 static int ft2232_quit(void)
 {
 #if BUILD_FT2232_FTD2XX == 1
-       FT_STATUS status;
 
-       status = FT_Close(ftdih);
+       FT_Close(ftdih);
 #elif BUILD_FT2232_LIBFTDI == 1
        ftdi_usb_close(&ftdic);