diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2019-01-22 16:31:18 +0100 |
---|---|---|
committer | Tomas Vanek <vanekt@fbl.cz> | 2020-01-14 11:39:37 +0000 |
commit | efd1d642220a4f6d3b9a9607c186452b265400d2 (patch) | |
tree | 13272d92e149e66524d420111fe740868a7e30ce /src/jtag/drivers/imx_gpio.c | |
parent | 7268ff22c399832ee09ca3216753f17473ae9fab (diff) | |
download | riscv-openocd-efd1d642220a4f6d3b9a9607c186452b265400d2.zip riscv-openocd-efd1d642220a4f6d3b9a9607c186452b265400d2.tar.gz riscv-openocd-efd1d642220a4f6d3b9a9607c186452b265400d2.tar.bz2 |
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>
Diffstat (limited to 'src/jtag/drivers/imx_gpio.c')
-rw-r--r-- | src/jtag/drivers/imx_gpio.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/jtag/drivers/imx_gpio.c b/src/jtag/drivers/imx_gpio.c index d677e8a..7dcfb67 100644 --- a/src/jtag/drivers/imx_gpio.c +++ b/src/jtag/drivers/imx_gpio.c @@ -427,19 +427,25 @@ static const struct command_registration imx_gpio_command_handlers[] = { static const char * const imx_gpio_transports[] = { "jtag", "swd", NULL }; -struct jtag_interface imx_gpio_interface = { - .name = "imx_gpio", +static struct jtag_interface imx_gpio_interface = { .supported = DEBUG_CAP_TMS_SEQ, .execute_queue = bitbang_execute_queue, +}; + +struct adapter_driver imx_gpio_adapter_driver = { + .name = "imx_gpio", .transports = imx_gpio_transports, - .swd = &bitbang_swd, - .speed = imx_gpio_speed, - .khz = imx_gpio_khz, - .speed_div = imx_gpio_speed_div, .commands = imx_gpio_command_handlers, + .init = imx_gpio_init, .quit = imx_gpio_quit, .reset = imx_gpio_reset, + .speed = imx_gpio_speed, + .khz = imx_gpio_khz, + .speed_div = imx_gpio_speed_div, + + .jtag_ops = &imx_gpio_interface, + .swd_ops = &bitbang_swd, }; static bool imx_gpio_jtag_mode_possible(void) |