gpio: omap_gpio: Convert to auto-alloc feature when DT is supported
PATCH 1/1 gpio: omap_gpio: Convert to auto-alloc feature when DT is supported
The omap_gpio driver has a TODO that says when every board is converted to DM and DT, the omap_gpio_bind can stop using calloc and switch to auto-alloc.
This patch converts this driver to auto-calloc when DT is enabled.
Signed-off-by Adam Ford <[email protected]>
drivers/gpio/omap_gpio.c +24 -1
@@ -302,6 +302,7 @@ static int omap_gpio_probe(struct udevice *dev)return 0 ; } +#if !CONFIG_IS_ENABLED (OF_CONTROL )static int omap_gpio_bind (struct udevice *dev) {struct omap_gpio_platdata *plat =dev_get_platdata (dev);
@@ -334,6 +335,7 @@ static int omap_gpio_bind(struct udevice *dev)return 0 ; } +#endif static const struct udevice_id omap_gpio_ids[] = { { .compatible ="ti,omap3-gpio" },
@@ -342,12 +344,33 @@ static const struct udevice_id omap_gpio_ids[] = { { } }; +#if CONFIG_IS_ENABLED (OF_CONTROL ) +static int omap_gpio_ofdata_to_platdata (struct udevice *dev) +{ +struct omap_gpio_platdata *plat =dev_get_platdata (dev); +fdt_addr_t addr; + + addr =devfdt_get_addr (dev); +if (addr ==FDT_ADDR_T_NONE ) +return -EINVAL ; + + plat->base = addr; +return 0 ; +} +#endif +U_BOOT_DRIVER (gpio_omap) = { .name ="gpio_omap" , .id =UCLASS_GPIO , +#if CONFIG_IS_ENABLED(OF_CONTROL) + .ofdata_to_platdata =of_match_ptr (omap_gpio_ofdata_to_platdata), + .bind = dm_scan_fdt_dev, + .platdata_auto_alloc_size =sizeof (struct omap_gpio_platdata ), +#else + .bind = omap_gpio_bind, +#endif .ops = &gpio_omap_ops, .of_match = omap_gpio_ids, - .bind = omap_gpio_bind, .probe = omap_gpio_probe, .priv_auto_alloc_size =sizeof (struct gpio_bank ), .flags =DM_FLAG_PRE_RELOC ,
Signature · 1 line
2.17.1
drivers/gpio/omap_gpio.c
Quoted 10 lines · Adam Ford
The
omap_gpiodriver has a TODO that says when every board is converted to DM and DT, theomap_gpio_bindcan stop using calloc and switch to auto-alloc.This patch converts this driver to auto-calloc when DT is enabled.
Signed-off-by Adam Ford <[email protected]>drivers/gpio/omap_gpio.c +0
-0
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180720/796df982/attachment.sig>