UARTs should be registered as of_device by the same bus probing mechanism
(and there was an attempt at OF based driver, IIRC).
There is more than an "attempt". There is one and it works :-)
arch/powerpc/kernel/legacy_serial.c only facilitates the old, platform device
based approach.
This is a compromise for legacy port (ok, it did grow a bit beyond
legacy stuff but still...) mostly to allow for very early initialisation
of serial ports.
Ultimately, if we generalize of_platform_devices for serial ports,
however, we will not need to create platform devices there anymore.
Ben.