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:
Antonio Borneo
2019-01-22 16:31:18 +01:00
committed by Tomas Vanek
parent 7268ff22c3
commit efd1d64222
39 changed files with 441 additions and 268 deletions

View File

@@ -36,9 +36,9 @@
#include <jtag/interface.h>
/** Dynamically load all JTAG interface modules from specified directory. */
void jtag_interface_modules_load(const char *path);
/** Dynamically load all adapter driver modules from specified directory. */
void adapter_driver_modules_load(const char *path);
extern struct jtag_interface *jtag_interfaces[];
extern struct adapter_driver *adapter_drivers[];
#endif /* OPENOCD_JTAG_INTERFACES_H */