summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/intel/pinctrl-tangier.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pinctrl/intel/pinctrl-tangier.c')
-rw-r--r--drivers/pinctrl/intel/pinctrl-tangier.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/pinctrl/intel/pinctrl-tangier.c b/drivers/pinctrl/intel/pinctrl-tangier.c
index 5f0b7334a489..5fc13d369dd8 100644
--- a/drivers/pinctrl/intel/pinctrl-tangier.c
+++ b/drivers/pinctrl/intel/pinctrl-tangier.c
@@ -2,7 +2,7 @@
/*
* Intel Tangier pinctrl driver
*
- * Copyright (C) 2016, 2023 Intel Corporation
+ * Copyright (C) 2016-2023 Intel Corporation
*
* Authors: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
* Raag Jadav <raag.jadav@intel.com>
@@ -518,15 +518,19 @@ static const struct pinctrl_desc tng_pinctrl_desc = {
.owner = THIS_MODULE,
};
-static int tng_pinctrl_probe(struct platform_device *pdev,
- const struct tng_pinctrl *data)
+int devm_tng_pinctrl_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
+ const struct tng_pinctrl *data;
struct tng_family *families;
struct tng_pinctrl *tp;
void __iomem *regs;
unsigned int i;
+ data = device_get_match_data(dev);
+ if (!data)
+ return -ENODATA;
+
tp = devm_kmemdup(dev, data, sizeof(*data), GFP_KERNEL);
if (!tp)
return -ENOMEM;
@@ -562,21 +566,10 @@ static int tng_pinctrl_probe(struct platform_device *pdev,
tp->pctldev = devm_pinctrl_register(dev, &tp->pctldesc, tp);
if (IS_ERR(tp->pctldev))
- return dev_err_probe(dev, PTR_ERR(tp->pctldev), "failed to register pinctrl\n");
+ return PTR_ERR(tp->pctldev);
return 0;
}
-
-int devm_tng_pinctrl_probe(struct platform_device *pdev)
-{
- const struct tng_pinctrl *data;
-
- data = device_get_match_data(&pdev->dev);
- if (!data)
- return -ENODATA;
-
- return tng_pinctrl_probe(pdev, data);
-}
EXPORT_SYMBOL_NS_GPL(devm_tng_pinctrl_probe, "PINCTRL_TANGIER");
MODULE_AUTHOR("Andy Shevchenko <andriy.shevchenko@linux.intel.com>");