On Wed, 2009-12-02 at 16:54 -0800, Zach Welch wrote:
[snip]
> I will be pushing these shortly, though I am going to add another patch
> to move the JTAG drivers into src/jtag/drivers/.  This helps clean up
> the src/jtag directory and puts the drivers/ directory on even level
> with the minidriver implementations, as the standard interface driver
> implementation is one itself.  The thread regarding minidriver.h
> explains hows this will be a good thing for the system as a whole.

I have pushed two patches to my mirror that realize the above changes.
The second patch removes #if HAVE_JTAG_INTERFACE_H from the minidriver.h
header file, using Makefile logic to include the right minidriver_imp.h.

I suppose that this clears the way for <jtag/minidriver.h> to be exposed
as part of the public API, but that still bothers me.  At this point,
more work needs to be done in sorting out where and how all of the APIs
are used, then mapping them out for moving into proper locations.  

Right now, it's clear that some routines defined by this header are used
at higher levels, but this seems to show that we expose far too many
routines from this layer.  Anything that cannot be used by applications
should be removed from the public headers; by this rule, we need to find
the parts of these headers that need be moved into jtag_imp.h, which is
used only by the JTAG layer.

As this suggests, it looks like there are missing layers or design
elements that need to be added to remedy this at an architectural level.
There are so many other problems with the code that it is still not
clear to me what the full long-term solution will be, but we are slowly
making headway in the right direction.

Cheers,

Zach

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to