[U-Boot] [PATCH v4 0/9] dm: imx: Add driver model support for GPIO and serial on cm_fx6

Simon Glass
2014-10-02T01:57:19Z

This series adjusts the IMX serial and GPIO drivers to support driver model.
As an example of its use, the recently-added cm_fx6 board is converted over
to driver model.

Some minor driver model core changed are required to make this work and
these are included with this series.

Thanks to the Compulab people for helping with this.

Changes in v4:
- Adjust error checking to permit calling gpio_request() multiple times
- Avoid doing low-level SATA init multiple times
- Move SATA changes into the next patch
- Move SATA changes into this patch

Changes in v3:
- Add a check for the Ethernet gpio_request() also
- Add a comment for the CONFIG_SPL_BUILD #ifdef
- Just warn when one of the board init stages fails
- Use gpio_is_requested() in one more place

Changes in v2:
- Add an internal function to check if a GPIO is requested
- Add new patch to add error checking to setup_i2c()
- Add patch to display error number when an error occurs in initcall
- Change 'reserved' to 'requested'
- Check return values of gpio_request()
- Tidy up confusing code that creates names for gpio_request()
- Use the correct namespace for the platform data

Simon Glass (9):
dm: linker_lists: Add a way to declare multiple objects
dm: core: Allow a list of devices to be declared in one step
initcall: Display error number when an error occurs
dm: serial: Put common code into separate functions
imx: Add error checking to setup_i2c()
dm: imx: Use gpio_request() to request GPIOs
dm: imx: gpio: Support driver model in MXC gpio driver
dm: imx: serial: Support driver model in the MXC serial driver
dm: imx: Move cm_fx6 to use driver model for serial and GPIO

arch/arm/imx-common/i2c-mxv7.c | 48 ++++-
arch/arm/include/asm/imx-common/mxc_i2c.h | 4 +-
board/compulab/cm_fx6/cm_fx6.c | 111 +++++++++--
board/compulab/cm_fx6/common.c | 14 +-
drivers/gpio/mxc_gpio.c | 304 +++++++++++++++++++++++++++++-
drivers/serial/serial-uclass.c | 32 ++--
drivers/serial/serial_mxc.c | 170 ++++++++++++++---
include/configs/cm_fx6.h | 11 ++
include/dm/platdata.h | 4 +
include/linker_lists.h | 21 +++
include/serial_mxc.h | 14 ++
lib/initcall.c | 8 +-
12 files changed, 669 insertions(+), 72 deletions(-)
create mode 100644 include/serial_mxc.h

--
2.1.0.rc2.206.gedb03e5