Messages in this thread Patch in this message |  | | Date | Sat, 9 Feb 2013 12:15:10 +0530 | From | Vineet Gupta <> | Subject | Re: [PATCH 4/4] serial/arc-uart: switch to devicetree based probing |
| |
On Saturday 09 February 2013 04:31 AM, Grant Likely wrote: > On Fri, 11 Jan 2013 11:50:23 +0530, Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote: >> +- clock-frequency : the input clock frequency for the UART >> +- baud : baud rate for UART > change 'baud' to 'current-speed'. There is already precedence for this > with other serial devices.
While I'm OK with this - I can only see of_serial.c following the rule :-) More importantly I'm not clear about the logistics of this fix. Obviously this has a bearing on DT files in arch/arc/boot/*. So are such changes (platform + driver) routed thru the subsystem tree or the arch tree or bits from both with bisectability not considered - which feels wrong. We have to also consider the fact that Greg has closed the tty/serial for 3.9. So while I have no objection to your comment, it seems that the it needs to wait till 3.9-rc1 - or is there an alternate way.
> >> @@ -673,8 +693,18 @@ static int __init arc_serial_probe_earlyprintk(struct platform_device *pdev) >> static int arc_serial_probe(struct platform_device *pdev) >> { >> int rc, dev_id; >> + struct device_node *np = pdev->dev.of_node; >> + >> + /* no device tree device */ >> + if (!np) >> + return -ENODEV; > This breaks non-DT users. Is this what you intend? It creates a flag day > where users have to switch from non-DT to DT cold-turkey.
Not supporting non-DT user was not the idea - it just simplifies the code a bit given that it would only even be runtime used in a ARC Linux port based platform - which unconditionally enables OF. Further - the ARC port itself is not yet upstream so there are no "official" user of this in tree driver. FWIW, ARC Linux port was recently reviewed on lkml/arch mailing lists and is now in linux-next for a possible 3.9 merge.
>> + dev_id = of_alias_get_id(np, "serial"); >> + if (dev_id < 0) { >> + dev_err(&pdev->dev, "failed to get alias id: %d\n", dev_id); >> + return dev_id; >> + } > Don't fail on this. If you can't get an id then choose one dynamically.
You mean just assume 0.
Thanks for reviewing. -Vineet
|  |