diff options
Diffstat (limited to 'drivers/pinctrl/mvebu/pinctrl-kirkwood.c')
-rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-kirkwood.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c index f9c68f1c636d..0d0211a1a0b0 100644 --- a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c +++ b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c | |||
@@ -371,7 +371,7 @@ static struct mvebu_mpp_mode mv88f6xxx_mpp_modes[] = { | |||
371 | }; | 371 | }; |
372 | 372 | ||
373 | static struct mvebu_mpp_ctrl mv88f6180_mpp_controls[] = { | 373 | static struct mvebu_mpp_ctrl mv88f6180_mpp_controls[] = { |
374 | MPP_REG_CTRL(0, 29), | 374 | MPP_FUNC_CTRL(0, 29, NULL, kirkwood_mpp_ctrl), |
375 | }; | 375 | }; |
376 | 376 | ||
377 | static struct pinctrl_gpio_range mv88f6180_gpio_ranges[] = { | 377 | static struct pinctrl_gpio_range mv88f6180_gpio_ranges[] = { |
@@ -379,7 +379,7 @@ static struct pinctrl_gpio_range mv88f6180_gpio_ranges[] = { | |||
379 | }; | 379 | }; |
380 | 380 | ||
381 | static struct mvebu_mpp_ctrl mv88f619x_mpp_controls[] = { | 381 | static struct mvebu_mpp_ctrl mv88f619x_mpp_controls[] = { |
382 | MPP_REG_CTRL(0, 35), | 382 | MPP_FUNC_CTRL(0, 35, NULL, kirkwood_mpp_ctrl), |
383 | }; | 383 | }; |
384 | 384 | ||
385 | static struct pinctrl_gpio_range mv88f619x_gpio_ranges[] = { | 385 | static struct pinctrl_gpio_range mv88f619x_gpio_ranges[] = { |
@@ -388,7 +388,7 @@ static struct pinctrl_gpio_range mv88f619x_gpio_ranges[] = { | |||
388 | }; | 388 | }; |
389 | 389 | ||
390 | static struct mvebu_mpp_ctrl mv88f628x_mpp_controls[] = { | 390 | static struct mvebu_mpp_ctrl mv88f628x_mpp_controls[] = { |
391 | MPP_REG_CTRL(0, 49), | 391 | MPP_FUNC_CTRL(0, 49, NULL, kirkwood_mpp_ctrl), |
392 | }; | 392 | }; |
393 | 393 | ||
394 | static struct pinctrl_gpio_range mv88f628x_gpio_ranges[] = { | 394 | static struct pinctrl_gpio_range mv88f628x_gpio_ranges[] = { |
@@ -468,9 +468,16 @@ static struct of_device_id kirkwood_pinctrl_of_match[] = { | |||
468 | 468 | ||
469 | static int kirkwood_pinctrl_probe(struct platform_device *pdev) | 469 | static int kirkwood_pinctrl_probe(struct platform_device *pdev) |
470 | { | 470 | { |
471 | struct resource *res; | ||
471 | const struct of_device_id *match = | 472 | const struct of_device_id *match = |
472 | of_match_device(kirkwood_pinctrl_of_match, &pdev->dev); | 473 | of_match_device(kirkwood_pinctrl_of_match, &pdev->dev); |
473 | pdev->dev.platform_data = (void *)match->data; | 474 | pdev->dev.platform_data = (void *)match->data; |
475 | |||
476 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | ||
477 | mpp_base = devm_ioremap_resource(&pdev->dev, res); | ||
478 | if (IS_ERR(mpp_base)) | ||
479 | return PTR_ERR(mpp_base); | ||
480 | |||
474 | return mvebu_pinctrl_probe(pdev); | 481 | return mvebu_pinctrl_probe(pdev); |
475 | } | 482 | } |
476 | 483 | ||