On Sun, Oct 07, 2018 at 09:06:20PM -0700, H. Peter Anvin wrote:
From: "H. Peter Anvin (Intel)" hpa@zytor.com
Now when all architectures define BOTHER and IBSHIFT, we can unconditionally rely on these constants. Furthermore, the code can be significantly simplified in a number of places.
Rather than having two tables and needing to be able to keep them in sync at all times, have one auto-generated table. This also lets us avoid the fact that architectures that have CBAUDEX == 0 have BOTHER in a different location that those that don't.
The code for masking CBAUDEX as a fallback is never exercised on any architecture, because for all architectures, either the baud rate table is completely defined for all CBAUD values, or CBAUDEX == 0, so we can just remove it.
Finally, this patch avoids overrunning the baud_table[] for architectures with CBAUDEX == 0.
So we need a minimal fix for this only as this patch in particular should not be backported to stable.
I'm not sure when I'll have time to review this one thoroughly, so perhaps others can chime in meanwhile.
Johan