diff options
author | Tom Rini <trini@konsulko.com> | 2017-10-09 20:19:39 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-10-09 20:19:39 -0400 |
commit | ebdd65258bad89b2da6cce4265c858ee0d5a9440 (patch) | |
tree | f2002a9b676849b0697ab9cb494b7ed4f45e8130 /drivers/gpio/vybrid_gpio.c | |
parent | 74d90d17eebfeeefd91776e3deb7901c122bef7f (diff) | |
parent | 04d0da51578e12bd7c490aa70ed581ee5f9dcfea (diff) |
Merge git://git.denx.de/u-boot-dm
Diffstat (limited to 'drivers/gpio/vybrid_gpio.c')
-rw-r--r-- | drivers/gpio/vybrid_gpio.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/drivers/gpio/vybrid_gpio.c b/drivers/gpio/vybrid_gpio.c index 89918e48ddc..030e8d08a45 100644 --- a/drivers/gpio/vybrid_gpio.c +++ b/drivers/gpio/vybrid_gpio.c @@ -105,32 +105,18 @@ static int vybrid_gpio_probe(struct udevice *dev) return 0; } -static int vybrid_gpio_bind(struct udevice *dev) +static int vybrid_gpio_odata_to_platdata(struct udevice *dev) { - struct vybrid_gpio_platdata *plat = dev->platdata; + struct vybrid_gpio_platdata *plat = dev_get_platdata(dev); fdt_addr_t base_addr; - if (plat) - return 0; - base_addr = devfdt_get_addr(dev); if (base_addr == FDT_ADDR_T_NONE) - return -ENODEV; - - /* - * TODO: - * 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. - */ - plat = calloc(1, sizeof(*plat)); - if (!plat) - return -ENOMEM; + return -EINVAL; plat->base = base_addr; plat->chip = dev->req_seq; plat->port_name = fdt_get_name(gd->fdt_blob, dev_of_offset(dev), NULL); - dev->platdata = plat; return 0; } @@ -144,8 +130,9 @@ U_BOOT_DRIVER(gpio_vybrid) = { .name = "gpio_vybrid", .id = UCLASS_GPIO, .ops = &gpio_vybrid_ops, + .of_match = vybrid_gpio_ids, + .ofdata_to_platdata = vybrid_gpio_odata_to_platdata, .probe = vybrid_gpio_probe, .priv_auto_alloc_size = sizeof(struct vybrid_gpios), - .of_match = vybrid_gpio_ids, - .bind = vybrid_gpio_bind, + .platdata_auto_alloc_size = sizeof(struct vybrid_gpio_platdata), }; |