diff options
author | Peng Fan <peng.fan@nxp.com> | 2024-05-21 09:25:58 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2024-06-17 10:26:04 +0300 |
commit | dbd47012a45f688010181c19d5c085195470bbb8 (patch) | |
tree | 8ddaa74b5d691e174c9ca686db330a443167711d /drivers/pinctrl/pinctrl-scmi.c | |
parent | 997f2cdea334fc78231a40fe36632cddb92d48e7 (diff) | |
download | linux-dbd47012a45f688010181c19d5c085195470bbb8.tar.xz |
pinctrl: scmi: add blocklist
i.MX95 will have its own pinctrl scmi driver, so need block
pinctrl-scmi driver for i.MX95, otherwise there will be two pinctrl
devices for a single scmi protocol@19.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Link: https://lore.kernel.org/r/20240521-pinctrl-scmi-imx95-v1-2-9a1175d735fd@nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-scmi.c')
-rw-r--r-- | drivers/pinctrl/pinctrl-scmi.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c index 036bc1e3fc6c..df4bbcd7d1d5 100644 --- a/drivers/pinctrl/pinctrl-scmi.c +++ b/drivers/pinctrl/pinctrl-scmi.c @@ -11,6 +11,7 @@ #include <linux/errno.h> #include <linux/module.h> #include <linux/mod_devicetable.h> +#include <linux/of.h> #include <linux/scmi_protocol.h> #include <linux/slab.h> #include <linux/types.h> @@ -504,6 +505,11 @@ static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx, return 0; } +static const char * const scmi_pinctrl_blocklist[] = { + "fsl,imx95", + NULL +}; + static int scmi_pinctrl_probe(struct scmi_device *sdev) { int ret; @@ -515,6 +521,9 @@ static int scmi_pinctrl_probe(struct scmi_device *sdev) if (!sdev->handle) return -EINVAL; + if (of_machine_compatible_match(scmi_pinctrl_blocklist)) + return -ENODEV; + handle = sdev->handle; pinctrl_ops = handle->devm_protocol_get(sdev, SCMI_PROTOCOL_PINCTRL, &ph); |