
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