diff options
Diffstat (limited to 'drivers/pinctrl/intel/pinctrl_apl.c')
-rw-r--r-- | drivers/pinctrl/intel/pinctrl_apl.c | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/drivers/pinctrl/intel/pinctrl_apl.c b/drivers/pinctrl/intel/pinctrl_apl.c index 727bacfd04..acaa55d2e7 100644 --- a/drivers/pinctrl/intel/pinctrl_apl.c +++ b/drivers/pinctrl/intel/pinctrl_apl.c @@ -17,18 +17,6 @@ #include <asm-generic/gpio.h> #include <asm/intel_pinctrl_defs.h> -/** - * struct apl_gpio_platdata - platform data for each device - * - * @dtplat: of-platdata data from C struct - */ -struct apl_gpio_platdata { -#if CONFIG_IS_ENABLED(OF_PLATDATA) - /* Put this first since driver model will copy the data here */ - struct dtd_intel_apl_pinctrl dtplat; -#endif -}; - static const struct reset_mapping rst_map[] = { { .logical = PAD_CFG0_LOGICAL_RESET_PWROK, .chipset = 0U << 30 }, { .logical = PAD_CFG0_LOGICAL_RESET_DEEP, .chipset = 1U << 30 }, @@ -136,14 +124,14 @@ static const struct pad_community apl_gpio_communities[] = { }, }; -static int apl_pinctrl_ofdata_to_platdata(struct udevice *dev) +static int apl_pinctrl_of_to_plat(struct udevice *dev) { - struct p2sb_child_platdata *pplat; + struct p2sb_child_plat *pplat; const struct pad_community *comm = NULL; int i; #if CONFIG_IS_ENABLED(OF_PLATDATA) - struct apl_gpio_platdata *plat = dev_get_platdata(dev); + struct apl_gpio_plat *plat = dev_get_plat(dev); int ret; /* @@ -152,38 +140,38 @@ static int apl_pinctrl_ofdata_to_platdata(struct udevice *dev) * linker list (i.e. alphabetical order by driver name). So the GPIO * device may well be bound before its parent (p2sb), and this call * will fail if p2sb is not bound yet. - * - * TODO(sjg@chromium.org): Add a parent pointer to child devices in dtoc */ ret = p2sb_set_port_id(dev, plat->dtplat.intel_p2sb_port_id); if (ret) return log_msg_ret("Could not set port id", ret); #endif /* Attach this device to its community structure */ - pplat = dev_get_parent_platdata(dev); + pplat = dev_get_parent_plat(dev); for (i = 0; i < ARRAY_SIZE(apl_gpio_communities); i++) { if (apl_gpio_communities[i].port == pplat->pid) comm = &apl_gpio_communities[i]; } - return intel_pinctrl_ofdata_to_platdata(dev, comm, 2); + return intel_pinctrl_of_to_plat(dev, comm, 2); } +#if !CONFIG_IS_ENABLED(OF_PLATDATA) static const struct udevice_id apl_gpio_ids[] = { { .compatible = "intel,apl-pinctrl"}, { } }; +#endif U_BOOT_DRIVER(intel_apl_pinctrl) = { .name = "intel_apl_pinctrl", .id = UCLASS_PINCTRL, - .of_match = apl_gpio_ids, + .of_match = of_match_ptr(apl_gpio_ids), .probe = intel_pinctrl_probe, .ops = &intel_pinctrl_ops, #if !CONFIG_IS_ENABLED(OF_PLATDATA) .bind = dm_scan_fdt_dev, #endif - .ofdata_to_platdata = apl_pinctrl_ofdata_to_platdata, - .priv_auto_alloc_size = sizeof(struct intel_pinctrl_priv), - .platdata_auto_alloc_size = sizeof(struct apl_gpio_platdata), + .of_to_plat = apl_pinctrl_of_to_plat, + .priv_auto = sizeof(struct intel_pinctrl_priv), + .plat_auto = sizeof(struct apl_gpio_plat), }; |