diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-07-17 16:40:26 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-07-21 14:18:01 -0700 |
commit | bda2f7b4801964351253706d1a87e4d2110829a5 (patch) | |
tree | c9da15652f91efb4ba0932d407200aa4d718d6aa | |
parent | 44f2650b134b423128063ded29a11454b924390e (diff) | |
download | op-kernel-dev-bda2f7b4801964351253706d1a87e4d2110829a5.zip op-kernel-dev-bda2f7b4801964351253706d1a87e4d2110829a5.tar.gz |
[SERIAL] sunsab: Get line numbers and table sizing correct.
Table sizing code should look for "se" not "su" nodes.
The chip at the lower address should get the first index.
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/serial/sunsab.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index cb55d81..dc673e1 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c @@ -1047,12 +1047,13 @@ static int __devinit sab_probe(struct of_device *op, const struct of_device_id * up = &sunsab_ports[inst * 2]; err = sunsab_init_one(&up[0], op, - sizeof(union sab82532_async_regs), + 0, (inst * 2) + 0); if (err) return err; - err = sunsab_init_one(&up[1], op, 0, + err = sunsab_init_one(&up[1], op, + sizeof(union sab82532_async_regs), (inst * 2) + 1); if (err) { of_iounmap(up[0].port.membase, @@ -1061,8 +1062,8 @@ static int __devinit sab_probe(struct of_device *op, const struct of_device_id * return err; } - uart_add_one_port(&sunsab_reg, &up[1].port); uart_add_one_port(&sunsab_reg, &up[0].port); + uart_add_one_port(&sunsab_reg, &up[1].port); dev_set_drvdata(&op->dev, &up[0]); @@ -1117,7 +1118,7 @@ static int __init sunsab_init(void) int err; num_channels = 0; - for_each_node_by_name(dp, "su") + for_each_node_by_name(dp, "se") num_channels += 2; for_each_node_by_name(dp, "serial") { if (of_device_is_compatible(dp, "sab82532")) |