diff mbox series

[3/4] pinctrl: scmi: Check fwnode instead of machine compatible

Message ID 20241225-scmi-fwdevlink-v1-3-e9a3a5341362@nxp.com (mailing list archive)
State New
Headers show
Series scmi: Bypass set fwnode to address devlink issue | expand

Commit Message

Peng Fan (OSS) Dec. 25, 2024, 8:20 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

For the platform that not compatible with scmi pinctrl device, the
fwnode will not be set, so checking fwnode will make code simpler
and easy to maintain.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/pinctrl/pinctrl-scmi.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

Comments

Sudeep Holla Dec. 27, 2024, 3:30 p.m. UTC | #1
On Wed, Dec 25, 2024 at 04:20:46PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> For the platform that not compatible with scmi pinctrl device, the
> fwnode will not be set, so checking fwnode will make code simpler
> and easy to maintain.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/pinctrl/pinctrl-scmi.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c
> index df4bbcd7d1d59ac2c8ddc320dc10d702ad1ed5b2..aade6df77dbb2c391741e77c0aac3f029991e4bb 100644
> --- a/drivers/pinctrl/pinctrl-scmi.c
> +++ b/drivers/pinctrl/pinctrl-scmi.c
> @@ -505,11 +505,6 @@ 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;
> @@ -521,7 +516,7 @@ static int scmi_pinctrl_probe(struct scmi_device *sdev)
>  	if (!sdev->handle)
>  		return -EINVAL;
>  
> -	if (of_machine_compatible_match(scmi_pinctrl_blocklist))
> +	if (!dev->fwnode)

I would prefer to see the blocklist to be explicit here rather than
implicitly hiding it away with this change set.
Cristian Marussi Dec. 31, 2024, 6:18 p.m. UTC | #2
On Fri, Dec 27, 2024 at 03:30:20PM +0000, Sudeep Holla wrote:
> On Wed, Dec 25, 2024 at 04:20:46PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> > 
> > For the platform that not compatible with scmi pinctrl device, the
> > fwnode will not be set, so checking fwnode will make code simpler
> > and easy to maintain.
> > 
> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > ---
> >  drivers/pinctrl/pinctrl-scmi.c | 7 +------
> >  1 file changed, 1 insertion(+), 6 deletions(-)
> > 
> > diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c
> > index df4bbcd7d1d59ac2c8ddc320dc10d702ad1ed5b2..aade6df77dbb2c391741e77c0aac3f029991e4bb 100644
> > --- a/drivers/pinctrl/pinctrl-scmi.c
> > +++ b/drivers/pinctrl/pinctrl-scmi.c
> > @@ -505,11 +505,6 @@ 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;
> > @@ -521,7 +516,7 @@ static int scmi_pinctrl_probe(struct scmi_device *sdev)
> >  	if (!sdev->handle)
> >  		return -EINVAL;
> >  
> > -	if (of_machine_compatible_match(scmi_pinctrl_blocklist))
> > +	if (!dev->fwnode)
> 
> I would prefer to see the blocklist to be explicit here rather than
> implicitly hiding it away with this change set.

Using a flag to inhibit device_link_add as said early in the series this
could be dropped and kept as is, I suppose.

Thanks,
Cristian
Peng Fan Jan. 2, 2025, 7:11 a.m. UTC | #3
> Subject: Re: [PATCH 3/4] pinctrl: scmi: Check fwnode instead of
> machine compatible
> 
> On Fri, Dec 27, 2024 at 03:30:20PM +0000, Sudeep Holla wrote:
> > On Wed, Dec 25, 2024 at 04:20:46PM +0800, Peng Fan (OSS) wrote:
> > > From: Peng Fan <peng.fan@nxp.com>
> > >
> > > For the platform that not compatible with scmi pinctrl device, the
> > > fwnode will not be set, so checking fwnode will make code simpler
> > > and easy to maintain.
> > >
> > > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > > ---
> > >  drivers/pinctrl/pinctrl-scmi.c | 7 +------
> > >  1 file changed, 1 insertion(+), 6 deletions(-)
> > >
> > > diff --git a/drivers/pinctrl/pinctrl-scmi.c
> > > b/drivers/pinctrl/pinctrl-scmi.c index
> > >
> df4bbcd7d1d59ac2c8ddc320dc10d702ad1ed5b2..aade6df77dbb2c391
> 741e77c0a
> > > ac3f029991e4bb 100644
> > > --- a/drivers/pinctrl/pinctrl-scmi.c
> > > +++ b/drivers/pinctrl/pinctrl-scmi.c
> > > @@ -505,11 +505,6 @@ 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;
> > > @@ -521,7 +516,7 @@ static int scmi_pinctrl_probe(struct
> scmi_device *sdev)
> > >  	if (!sdev->handle)
> > >  		return -EINVAL;
> > >
> > > -	if (of_machine_compatible_match(scmi_pinctrl_blocklist))
> > > +	if (!dev->fwnode)
> >
> > I would prefer to see the blocklist to be explicit here rather than
> > implicitly hiding it away with this change set.
> 
> Using a flag to inhibit device_link_add as said early in the series this
> could be dropped and kept as is, I suppose.

Since the list will expand to include more i.MX9[X] chips, I was
thinking to drop the list to avoid update the list every time
we add a new SoC. We may need to use a machine
saying "fsl,imx9-sm" or else.

I will give a check on a flag. Thanks for suggestion.

Thanks,
Peng.

> 
> Thanks,
> Cristian
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c
index df4bbcd7d1d59ac2c8ddc320dc10d702ad1ed5b2..aade6df77dbb2c391741e77c0aac3f029991e4bb 100644
--- a/drivers/pinctrl/pinctrl-scmi.c
+++ b/drivers/pinctrl/pinctrl-scmi.c
@@ -505,11 +505,6 @@  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;
@@ -521,7 +516,7 @@  static int scmi_pinctrl_probe(struct scmi_device *sdev)
 	if (!sdev->handle)
 		return -EINVAL;
 
-	if (of_machine_compatible_match(scmi_pinctrl_blocklist))
+	if (!dev->fwnode)
 		return -ENODEV;
 
 	handle = sdev->handle;