There was some discussion of getting rid of the old diag output method altogether, relying solely on the vector/comm tables for consistency. However, implementations weren't cleaned up and still have the hardwired magic to do hal_diag output without the tables - some of the implementations even being broken in this regard as it was never tested. Should confirm on the mailing list that this is what we want, and then clean out the cruft and update the porting guide as well (if necessary).
Incidently, this would also fix a doc shortcoming - switching channels only work with VECTOR_DIAG (i.e., vector/comm tables) and not if the diag output has been hardwired as it happens in the compatibility code.
This bug has moved to http://bugs.ecos.sourceware.org/show_bug.cgi?id>23307