I may not get to this for a few days now that the work week has started, but I'll report back when I do.
I am curious about one thing... You suggest that I add:
#define DEVICE_ID_VIA_8235_1 0xb168
But, you don't use the DEVICE_ID_VIA_8235_1 symbol in any of the other code you suggest I add. You do use the DEVICE_ID_VIA_8235_0 symbol in the addition to the array you suggest, but not the other one. Why should that define be there? Is there a place I should be using it?