@@ -3033,11 +3033,15 @@ static int rockchip_pinctrl_parse_dt(struct platform_device *pdev,
struct rockchip_pinctrl *info)
{
struct device *dev = &pdev->dev;
- struct device_node *np = dev->of_node;
- struct device_node *child;
+ struct fwnode_handle *fwnode = dev_fwnode(dev);
+ struct device_node *np, *child;
int ret;
int i;
+ if (!is_of_node(fwnode))
+ return 0;
+
+ np = to_of_node(fwnode);
rockchip_pinctrl_child_count(info, np);
dev_dbg(dev, "nfunctions = %d\n", info->nfunctions);
@@ -3129,15 +3133,11 @@ static struct rockchip_pin_ctrl *rockchip_pinctrl_get_soc_data(
struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct device_node *node = dev->of_node;
- const struct of_device_id *match;
struct rockchip_pin_ctrl *ctrl;
struct rockchip_pin_bank *bank;
int grf_offs, pmu_offs, drv_grf_offs, drv_pmu_offs, i, j;
- match = of_match_node(rockchip_pinctrl_dt_match, node);
- ctrl = (struct rockchip_pin_ctrl *)match->data;
-
+ ctrl = (struct rockchip_pin_ctrl *)device_get_match_data(&pdev->dev);
grf_offs = ctrl->grf_mux_offset;
pmu_offs = ctrl->pmu_mux_offset;
drv_pmu_offs = ctrl->pmu_drv_offset;
This patch fixes to use device_get_match_data to get match data, instead of of_match_node to adapt for the acpi. Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com> --- v2: - use fwnode instead of of node - add a second patch to this serail drivers/pinctrl/pinctrl-rockchip.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)