adapter: switch from struct jtag_interface to adapter_driver
To reorganize the adapters code, introduce an adapter_driver struct that contains all the adapter generic part, while keeping in two separate struct the specific API jtag_ops and swd_ops. Move the allocation of *adapter_driver from the JTAG-specific file core.c to the more adapter-specific file adapter.c While splitting the old jtag_interface for every driver, put the fields in the same order as in the struct declaration so we keep a consistent code across all the drivers. While other transport specific API could/would be added as separate ops, nothing is done here for HLA. Change-Id: I2d60f97ac514c0dd2d93a6ec9be66fd9d388dad5 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/4900 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
committed by
Tomas Vanek
parent
7268ff22c3
commit
efd1d64222
@@ -34,106 +34,106 @@
|
||||
|
||||
/** @file
|
||||
* This file includes declarations for all built-in jtag interfaces,
|
||||
* which are then listed in the jtag_interfaces array.
|
||||
* which are then listed in the adapter_drivers array.
|
||||
*
|
||||
* Dynamic loading can be implemented be searching for shared libraries
|
||||
* that contain a jtag_interface structure that can added to this list.
|
||||
* that contain an adapter_driver structure that can added to this list.
|
||||
*/
|
||||
|
||||
#if BUILD_ZY1000 == 1
|
||||
extern struct jtag_interface zy1000_interface;
|
||||
extern struct adapter_driver zy1000_adapter_driver;
|
||||
#elif defined(BUILD_MINIDRIVER_DUMMY)
|
||||
extern struct jtag_interface minidummy_interface;
|
||||
extern struct adapter_driver minidummy_adapter_driver;
|
||||
#else /* standard drivers */
|
||||
#if BUILD_PARPORT == 1
|
||||
extern struct jtag_interface parport_interface;
|
||||
extern struct adapter_driver parport_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_DUMMY == 1
|
||||
extern struct jtag_interface dummy_interface;
|
||||
extern struct adapter_driver dummy_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_FTDI == 1
|
||||
extern struct jtag_interface ftdi_interface;
|
||||
extern struct adapter_driver ftdi_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_USB_BLASTER == 1 || BUILD_USB_BLASTER_2 == 1
|
||||
extern struct jtag_interface usb_blaster_interface;
|
||||
extern struct adapter_driver usb_blaster_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_JTAG_VPI == 1
|
||||
extern struct jtag_interface jtag_vpi_interface;
|
||||
extern struct adapter_driver jtag_vpi_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_FT232R == 1
|
||||
extern struct jtag_interface ft232r_interface;
|
||||
extern struct adapter_driver ft232r_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_AMTJTAGACCEL == 1
|
||||
extern struct jtag_interface amt_jtagaccel_interface;
|
||||
extern struct adapter_driver amt_jtagaccel_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_EP93XX == 1
|
||||
extern struct jtag_interface ep93xx_interface;
|
||||
extern struct adapter_driver ep93xx_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_AT91RM9200 == 1
|
||||
extern struct jtag_interface at91rm9200_interface;
|
||||
extern struct adapter_driver at91rm9200_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_GW16012 == 1
|
||||
extern struct jtag_interface gw16012_interface;
|
||||
extern struct adapter_driver gw16012_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_PRESTO
|
||||
extern struct jtag_interface presto_interface;
|
||||
extern struct adapter_driver presto_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_USBPROG == 1
|
||||
extern struct jtag_interface usbprog_interface;
|
||||
extern struct adapter_driver usbprog_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_OPENJTAG == 1
|
||||
extern struct jtag_interface openjtag_interface;
|
||||
extern struct adapter_driver openjtag_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_JLINK == 1
|
||||
extern struct jtag_interface jlink_interface;
|
||||
extern struct adapter_driver jlink_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_VSLLINK == 1
|
||||
extern struct jtag_interface vsllink_interface;
|
||||
extern struct adapter_driver vsllink_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_RLINK == 1
|
||||
extern struct jtag_interface rlink_interface;
|
||||
extern struct adapter_driver rlink_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_ULINK == 1
|
||||
extern struct jtag_interface ulink_interface;
|
||||
extern struct adapter_driver ulink_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_ARMJTAGEW == 1
|
||||
extern struct jtag_interface armjtagew_interface;
|
||||
extern struct adapter_driver armjtagew_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_BUSPIRATE == 1
|
||||
extern struct jtag_interface buspirate_interface;
|
||||
extern struct adapter_driver buspirate_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_REMOTE_BITBANG == 1
|
||||
extern struct jtag_interface remote_bitbang_interface;
|
||||
extern struct adapter_driver remote_bitbang_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_HLADAPTER == 1
|
||||
extern struct jtag_interface hl_interface;
|
||||
extern struct adapter_driver hl_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_OSBDM == 1
|
||||
extern struct jtag_interface osbdm_interface;
|
||||
extern struct adapter_driver osbdm_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_OPENDOUS == 1
|
||||
extern struct jtag_interface opendous_interface;
|
||||
extern struct adapter_driver opendous_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_SYSFSGPIO == 1
|
||||
extern struct jtag_interface sysfsgpio_interface;
|
||||
extern struct adapter_driver sysfsgpio_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_AICE == 1
|
||||
extern struct jtag_interface aice_interface;
|
||||
extern struct adapter_driver aice_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_BCM2835GPIO == 1
|
||||
extern struct jtag_interface bcm2835gpio_interface;
|
||||
extern struct adapter_driver bcm2835gpio_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_CMSIS_DAP == 1
|
||||
extern struct jtag_interface cmsis_dap_interface;
|
||||
extern struct adapter_driver cmsis_dap_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_KITPROG == 1
|
||||
extern struct jtag_interface kitprog_interface;
|
||||
extern struct adapter_driver kitprog_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_IMX_GPIO == 1
|
||||
extern struct jtag_interface imx_gpio_interface;
|
||||
extern struct adapter_driver imx_gpio_adapter_driver;
|
||||
#endif
|
||||
#if BUILD_XDS110 == 1
|
||||
extern struct jtag_interface xds110_interface;
|
||||
extern struct adapter_driver xds110_adapter_driver;
|
||||
#endif
|
||||
#endif /* standard drivers */
|
||||
|
||||
@@ -144,107 +144,107 @@ extern struct jtag_interface xds110_interface;
|
||||
* The list should be defined to contain either one minidriver interface
|
||||
* or some number of standard driver interfaces, never both.
|
||||
*/
|
||||
struct jtag_interface *jtag_interfaces[] = {
|
||||
struct adapter_driver *adapter_drivers[] = {
|
||||
#if BUILD_ZY1000 == 1
|
||||
&zy1000_interface,
|
||||
&zy1000_adapter_driver,
|
||||
#elif defined(BUILD_MINIDRIVER_DUMMY)
|
||||
&minidummy_interface,
|
||||
&minidummy_adapter_driver,
|
||||
#else /* standard drivers */
|
||||
#if BUILD_PARPORT == 1
|
||||
&parport_interface,
|
||||
&parport_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_DUMMY == 1
|
||||
&dummy_interface,
|
||||
&dummy_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_FTDI == 1
|
||||
&ftdi_interface,
|
||||
&ftdi_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_USB_BLASTER || BUILD_USB_BLASTER_2 == 1
|
||||
&usb_blaster_interface,
|
||||
&usb_blaster_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_JTAG_VPI == 1
|
||||
&jtag_vpi_interface,
|
||||
&jtag_vpi_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_FT232R == 1
|
||||
&ft232r_interface,
|
||||
&ft232r_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_AMTJTAGACCEL == 1
|
||||
&amt_jtagaccel_interface,
|
||||
&amt_jtagaccel_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_EP93XX == 1
|
||||
&ep93xx_interface,
|
||||
&ep93xx_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_AT91RM9200 == 1
|
||||
&at91rm9200_interface,
|
||||
&at91rm9200_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_GW16012 == 1
|
||||
&gw16012_interface,
|
||||
&gw16012_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_PRESTO
|
||||
&presto_interface,
|
||||
&presto_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_USBPROG == 1
|
||||
&usbprog_interface,
|
||||
&usbprog_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_OPENJTAG == 1
|
||||
&openjtag_interface,
|
||||
&openjtag_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_JLINK == 1
|
||||
&jlink_interface,
|
||||
&jlink_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_VSLLINK == 1
|
||||
&vsllink_interface,
|
||||
&vsllink_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_RLINK == 1
|
||||
&rlink_interface,
|
||||
&rlink_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_ULINK == 1
|
||||
&ulink_interface,
|
||||
&ulink_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_ARMJTAGEW == 1
|
||||
&armjtagew_interface,
|
||||
&armjtagew_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_BUSPIRATE == 1
|
||||
&buspirate_interface,
|
||||
&buspirate_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_REMOTE_BITBANG == 1
|
||||
&remote_bitbang_interface,
|
||||
&remote_bitbang_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_HLADAPTER == 1
|
||||
&hl_interface,
|
||||
&hl_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_OSBDM == 1
|
||||
&osbdm_interface,
|
||||
&osbdm_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_OPENDOUS == 1
|
||||
&opendous_interface,
|
||||
&opendous_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_SYSFSGPIO == 1
|
||||
&sysfsgpio_interface,
|
||||
&sysfsgpio_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_AICE == 1
|
||||
&aice_interface,
|
||||
&aice_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_BCM2835GPIO == 1
|
||||
&bcm2835gpio_interface,
|
||||
&bcm2835gpio_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_CMSIS_DAP == 1
|
||||
&cmsis_dap_interface,
|
||||
&cmsis_dap_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_KITPROG == 1
|
||||
&kitprog_interface,
|
||||
&kitprog_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_IMX_GPIO == 1
|
||||
&imx_gpio_interface,
|
||||
&imx_gpio_adapter_driver,
|
||||
#endif
|
||||
#if BUILD_XDS110 == 1
|
||||
&xds110_interface,
|
||||
&xds110_adapter_driver,
|
||||
#endif
|
||||
#endif /* standard drivers */
|
||||
NULL,
|
||||
};
|
||||
|
||||
void jtag_interface_modules_load(const char *path)
|
||||
void adapter_driver_modules_load(const char *path)
|
||||
{
|
||||
/* @todo: implement dynamic module loading for JTAG interface drivers */
|
||||
/* @todo: implement dynamic module loading for adapter drivers */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user