|
|
|
@ -341,18 +341,22 @@ static int gpio_exynos_bind(struct udevice *parent) |
|
|
|
|
plat = calloc(1, sizeof(*plat)); |
|
|
|
|
if (!plat) |
|
|
|
|
return -ENOMEM; |
|
|
|
|
reg = fdtdec_get_addr(blob, node, "reg"); |
|
|
|
|
if (reg != FDT_ADDR_T_NONE) |
|
|
|
|
bank = (struct s5p_gpio_bank *)((ulong)base + reg); |
|
|
|
|
plat->bank = bank; |
|
|
|
|
plat->bank_name = fdt_get_name(blob, node, NULL); |
|
|
|
|
debug("dev at %p: %s\n", bank, plat->bank_name); |
|
|
|
|
|
|
|
|
|
plat->bank_name = fdt_get_name(blob, node, NULL); |
|
|
|
|
ret = device_bind(parent, parent->driver, |
|
|
|
|
plat->bank_name, plat, -1, &dev); |
|
|
|
|
plat->bank_name, plat, -1, &dev); |
|
|
|
|
if (ret) |
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|
dev->of_offset = node; |
|
|
|
|
|
|
|
|
|
reg = dev_get_addr(dev); |
|
|
|
|
if (reg != FDT_ADDR_T_NONE) |
|
|
|
|
bank = (struct s5p_gpio_bank *)((ulong)base + reg); |
|
|
|
|
|
|
|
|
|
plat->bank = bank; |
|
|
|
|
|
|
|
|
|
debug("dev at %p: %s\n", bank, plat->bank_name); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|