On Sat, Sep 1, 2012 at 8:32 PM, Arnd Bergmann [off-list ref] wrote:
On Saturday 01 September 2012, Linus Walleij wrote:
quoted
In the PL010 UART callback a comparison against the base address is
done to figure out which UART is doing the callback. This does not
play well with device tree, so let's check the dev_name() of the
device instead.
Signed-off-by: Linus Walleij <redacted>
Hmm, I think the dev_name would also not be that nice, because it changes
after the conversion to DT is complete.
Hmmmm yeah. I do tie down the name to "uart0" using auxdata.
(...)
quoted
+++ b/arch/arm/mach-integrator/core.c
@@ -100,7 +100,7 @@ static void integrator_uart_set_mctrl(struct amba_device *dev, void __iomem *bas
{
unsigned int ctrls = 0, ctrlc = 0, rts_mask, dtr_mask;
- if (dev == &uart0_device) {
+ if (!strcmp(dev_name(&dev->dev), "uart0")) {
rts_mask = 1 << 4;
dtr_mask = 1 << 5;
} else {
Maybe it's possible to compare the base pointer against INTEGRATOR_UART0_BASE instead?
Nope, that is an ioremapped() base, I have no clue what it may be.
Yours,
Linus Walleij