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
