
Hi Tom,
On 28 July 2014 19:14, Tom Rini trini@ti.com wrote:
On Mon, Jul 28, 2014 at 05:06:20AM +0100, Simon Glass wrote:
Hi,
On 13 July 2014 19:27, Simon Glass sjg@chromium.org wrote:
This series adds support for a serial uclass, enabling serial drivers to be converted to use driver model.
Unfortunately this is quite a complicated process for a number of reasons:
- serial is used before relocation, but driver model does not support this
- stdio member functions are not passed a device pointer, but driver model requires this (so does serial, but it uses an ugly work-around)
- driver model requires malloc() but this is not available before relocation
- for sandbox, if something goes wrong with the console, we still need to get an error message out through the fallback console
So this series relies on quite a few patches to address the above, as well as the serial uclass and an implementation for sandbox.
If you have limited time, please take a look at least at the uclass patch which is 'dm: Add a uclass for serial devices' (see include/serial.h).
Note: this series breaks 4 exynos boards. I will figure out how to get them to build as part of the exynos5-dt common board work.
To see the current state of driver model, look at u-boot-dm.git branch 'working'.
Changes in v2:
- Add exynos serial support
- Remove RFC status
- Rename struct device to struct udevice
- Split out core driver model patches into a separate set
Are there any comments on this series? I'm particularly interested in comments on include/serial.h - the uclass API for serial.
I plan to apply the uclass and sandbox support soon, with exynos support coming later once the 'common' serial has been reviewed.
Seems good enough to start with for sure, I'm usually a believer in needing a few things converted over to something, to start to see where designs need tweaking.
OK good, thanks for the review. I really like the incremental approach.
Regards, Simon