asy_put_reg
static void asy_put_reg(const struct asycom *, asy_reg_t, uint8_t);
void (*asy_put_reg)(const struct asycom *, asy_reg_t, uint8_t);
[ASY_THR] = { ASY_8250A, 0, NULL, asy_put_reg },
[ASY_IER] = { ASY_8250A, 1, asy_get_reg, asy_put_reg },
[ASY_FCR] = { ASY_16550, 2, NULL, asy_put_reg },
[ASY_LCR] = { ASY_8250A, 3, asy_get_reg, asy_put_reg },
[ASY_MCR] = { ASY_8250A, 4, asy_get_reg, asy_put_reg },
[ASY_SPR] = { ASY_8250A, 7, asy_get_reg, asy_put_reg },
[ASY_DLL] = { ASY_8250A, 0, asy_get_reg, asy_put_reg },
[ASY_DLH] = { ASY_8250A, 1, asy_get_reg, asy_put_reg },
[ASY_ICR] = { ASY_16950, 5, asy_get_reg, asy_put_reg },
asy_put_reg(asy, ASY_THR, c);
asy_put_reg(asy, reg, val);
asy_put_reg(asy, reg, val);
ASSERT(asy_reg_table[reg].asy_put_reg != NULL);
asy_reg_table[reg].asy_put_reg(asy, reg, val);