diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2021-12-16 17:12:27 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2021-12-22 03:09:56 +0100 |
commit | ce852837335abc874e4d943ebbbe7432465a413b (patch) | |
tree | 224d23d17fea7281f3dffec8c1d70c5301009eca /drivers/pinctrl/pinctrl-max77620.c | |
parent | 744d04fb4836cc1778cbe853fcac503794ba6fdf (diff) | |
download | linux-ce852837335abc874e4d943ebbbe7432465a413b.tar.bz2 |
pinctrl: Propagate firmware node from a parent device
When creating MFD platform devices the firmware node is left unset.
This, in particular, prevents GPIO library to use it for different
purposes. Propagate firmware node from the parent device and let
GPIO library do the right thing.
While at it, slightly modify the headers to reflect the usage of APIs.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Link: https://lore.kernel.org/r/20211216151227.58687-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-max77620.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-max77620.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/pinctrl/pinctrl-max77620.c b/drivers/pinctrl/pinctrl-max77620.c index c643ed43ebbf..1ee94574f0af 100644 --- a/drivers/pinctrl/pinctrl-max77620.c +++ b/drivers/pinctrl/pinctrl-max77620.c @@ -10,14 +10,16 @@ */ #include <linux/mfd/max77620.h> +#include <linux/mod_devicetable.h> #include <linux/module.h> -#include <linux/of.h> +#include <linux/platform_device.h> +#include <linux/property.h> +#include <linux/regmap.h> + #include <linux/pinctrl/pinctrl.h> #include <linux/pinctrl/pinconf-generic.h> #include <linux/pinctrl/pinconf.h> #include <linux/pinctrl/pinmux.h> -#include <linux/platform_device.h> -#include <linux/regmap.h> #include "core.h" #include "pinconf.h" @@ -551,12 +553,13 @@ static int max77620_pinctrl_probe(struct platform_device *pdev) struct max77620_pctrl_info *mpci; int i; + device_set_node(&pdev->dev, dev_fwnode(pdev->dev.parent)); + mpci = devm_kzalloc(&pdev->dev, sizeof(*mpci), GFP_KERNEL); if (!mpci) return -ENOMEM; mpci->dev = &pdev->dev; - mpci->dev->of_node = pdev->dev.parent->of_node; mpci->rmap = max77620->rmap; mpci->pins = max77620_pins_desc; |