diff options
author | Simon Glass <sjg@chromium.org> | 2017-09-17 16:54:52 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2017-10-08 20:41:08 -0600 |
commit | 4d686041895a8fd419bbc3842856239c6298d1f2 (patch) | |
tree | 7f3d30f74760f5ee7c8f872116af4d1df7772fb1 | |
parent | 1ba214767d85ed37c0af3ac41d2e8617a609741f (diff) | |
download | u-boot-4d686041895a8fd419bbc3842856239c6298d1f2.zip u-boot-4d686041895a8fd419bbc3842856239c6298d1f2.tar.gz u-boot-4d686041895a8fd419bbc3842856239c6298d1f2.tar.bz2 |
dm: gpio: Add a comment about not copying some drivers
These three drivers all use U_BOOT_DEVICE rather than device tree to
create devices, so have to do manual allocation of platform data. This is
not true for new platforms.
Add a more explicit comment so that people do not copy this approach with
new boards.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Adam Ford <aford173@gmail.com>
-rw-r--r-- | drivers/gpio/imx_rgpio2p.c | 5 | ||||
-rw-r--r-- | drivers/gpio/mxc_gpio.c | 5 | ||||
-rw-r--r-- | drivers/gpio/omap_gpio.c | 6 |
3 files changed, 15 insertions, 1 deletions
diff --git a/drivers/gpio/imx_rgpio2p.c b/drivers/gpio/imx_rgpio2p.c index 5abc88b..e60e9d2 100644 --- a/drivers/gpio/imx_rgpio2p.c +++ b/drivers/gpio/imx_rgpio2p.c @@ -175,6 +175,11 @@ static int imx_rgpio2p_bind(struct udevice *dev) * When every board is converted to driver model and DT is supported, * this can be done by auto-alloc feature, but not using calloc * to alloc memory for platdata. + * + * For example imx_rgpio2p_plat uses platform data rather than device + * tree. + * + * NOTE: DO NOT COPY this code if you are using device tree. */ plat = calloc(1, sizeof(*plat)); if (!plat) diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c index 0eb6c60..0c42bd6 100644 --- a/drivers/gpio/mxc_gpio.c +++ b/drivers/gpio/mxc_gpio.c @@ -311,6 +311,11 @@ static int mxc_gpio_bind(struct udevice *dev) * When every board is converted to driver model and DT is supported, * this can be done by auto-alloc feature, but not using calloc * to alloc memory for platdata. + * + * For example mxc_plat below uses platform data rather than device + * tree. + * + * NOTE: DO NOT COPY this code if you are using device tree. */ plat = calloc(1, sizeof(*plat)); if (!plat) diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c index b423e34..1ab12f3 100644 --- a/drivers/gpio/omap_gpio.c +++ b/drivers/gpio/omap_gpio.c @@ -299,7 +299,7 @@ static int omap_gpio_probe(struct udevice *dev) static int omap_gpio_bind(struct udevice *dev) { - struct omap_gpio_platdata *plat = dev->platdata; + struct omap_gpio_platdata *plat = dev_get_platdata(dev); fdt_addr_t base_addr; if (plat) @@ -314,6 +314,10 @@ static int omap_gpio_bind(struct udevice *dev) * When every board is converted to driver model and DT is * supported, this can be done by auto-alloc feature, but * not using calloc to alloc memory for platdata. + * + * For example am33xx_gpio uses platform data rather than device tree. + * + * NOTE: DO NOT COPY this code if you are using device tree. */ plat = calloc(1, sizeof(*plat)); if (!plat) |