diff mbox series

[1/2] firmware: ti_sci: Bind sysreset driver when enabled

Message ID 20240402160908.508974-2-afd@ti.com
State Accepted
Commit fc5d40283483a595c0d76ff366823a5367e4cd20
Delegated to: Tom Rini
Headers show
Series Remove ti,sci-sysreset | expand

Commit Message

Andrew Davis April 2, 2024, 4:09 p.m. UTC
The sysreset TI-SCI API is available with TI-SCI always, there is no need
for a DT node to describe the availability of this. If the sysreset driver
is available then bind it during ti-sci probe.

Remove the unneeded device tree matching.

Signed-off-by: Andrew Davis <afd@ti.com>
---
 drivers/firmware/ti_sci.c          | 7 +++++++
 drivers/sysreset/sysreset-ti-sci.c | 6 ------
 2 files changed, 7 insertions(+), 6 deletions(-)

Comments

Neha Malcom Francis April 3, 2024, 6:34 a.m. UTC | #1
Hi Andrew

On 02/04/24 21:39, Andrew Davis wrote:
> The sysreset TI-SCI API is available with TI-SCI always, there is no need
> for a DT node to describe the availability of this. If the sysreset driver
> is available then bind it during ti-sci probe.
> 
> Remove the unneeded device tree matching.
> 
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
>   drivers/firmware/ti_sci.c          | 7 +++++++
>   drivers/sysreset/sysreset-ti-sci.c | 6 ------
>   2 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
> index ee092185588..6c581b9df9c 100644
> --- a/drivers/firmware/ti_sci.c
> +++ b/drivers/firmware/ti_sci.c
> @@ -16,6 +16,7 @@
>   #include <dm/device.h>
>   #include <dm/device_compat.h>
>   #include <dm/devres.h>
> +#include <dm/lists.h>
>   #include <linux/bitops.h>
>   #include <linux/compat.h>
>   #include <linux/err.h>
> @@ -2840,6 +2841,12 @@ static int ti_sci_probe(struct udevice *dev)
>   
>   	INIT_LIST_HEAD(&info->dev_list);
>   
> +	if (IS_ENABLED(CONFIG_SYSRESET_TI_SCI)) {
> +		ret = device_bind_driver(dev, "ti-sci-sysreset", "sysreset", NULL);
> +		if (ret)
> +			dev_warn(dev, "cannot bind SYSRESET (ret = %d)\n", ret);
> +	}
> +
>   	return 0;
>   }
>   
> diff --git a/drivers/sysreset/sysreset-ti-sci.c b/drivers/sysreset/sysreset-ti-sci.c
> index 5fc05c46cb0..0de132633a8 100644
> --- a/drivers/sysreset/sysreset-ti-sci.c
> +++ b/drivers/sysreset/sysreset-ti-sci.c
> @@ -60,15 +60,9 @@ static struct sysreset_ops ti_sci_sysreset_ops = {
>   	.request = ti_sci_sysreset_request,
>   };
>   
> -static const struct udevice_id ti_sci_sysreset_of_match[] = {
> -	{ .compatible = "ti,sci-sysreset", },
> -	{ /* sentinel */ },
> -};
> -
>   U_BOOT_DRIVER(ti_sci_sysreset) = {
>   	.name = "ti-sci-sysreset",
>   	.id = UCLASS_SYSRESET,
> -	.of_match = ti_sci_sysreset_of_match,
>   	.probe = ti_sci_sysreset_probe,
>   	.priv_auto	= sizeof(struct ti_sci_sysreset_data),
>   	.ops = &ti_sci_sysreset_ops,

Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Jonathan Humphreys April 10, 2024, 7:37 p.m. UTC | #2
Andrew Davis <afd@ti.com> writes:

> The sysreset TI-SCI API is available with TI-SCI always, there is no need
> for a DT node to describe the availability of this. If the sysreset driver
> is available then bind it during ti-sci probe.
>
> Remove the unneeded device tree matching.
>
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
>  drivers/firmware/ti_sci.c          | 7 +++++++
>  drivers/sysreset/sysreset-ti-sci.c | 6 ------
>  2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
> index ee092185588..6c581b9df9c 100644
> --- a/drivers/firmware/ti_sci.c
> +++ b/drivers/firmware/ti_sci.c
> @@ -16,6 +16,7 @@
>  #include <dm/device.h>
>  #include <dm/device_compat.h>
>  #include <dm/devres.h>
> +#include <dm/lists.h>
>  #include <linux/bitops.h>
>  #include <linux/compat.h>
>  #include <linux/err.h>
> @@ -2840,6 +2841,12 @@ static int ti_sci_probe(struct udevice *dev)
>  
>  	INIT_LIST_HEAD(&info->dev_list);
>  
> +	if (IS_ENABLED(CONFIG_SYSRESET_TI_SCI)) {
> +		ret = device_bind_driver(dev, "ti-sci-sysreset", "sysreset", NULL);
> +		if (ret)
> +			dev_warn(dev, "cannot bind SYSRESET (ret = %d)\n", ret);
> +	}
> +
>  	return 0;
>  }
>  
> diff --git a/drivers/sysreset/sysreset-ti-sci.c b/drivers/sysreset/sysreset-ti-sci.c
> index 5fc05c46cb0..0de132633a8 100644
> --- a/drivers/sysreset/sysreset-ti-sci.c
> +++ b/drivers/sysreset/sysreset-ti-sci.c
> @@ -60,15 +60,9 @@ static struct sysreset_ops ti_sci_sysreset_ops = {
>  	.request = ti_sci_sysreset_request,
>  };
>  
> -static const struct udevice_id ti_sci_sysreset_of_match[] = {
> -	{ .compatible = "ti,sci-sysreset", },
> -	{ /* sentinel */ },
> -};
> -
>  U_BOOT_DRIVER(ti_sci_sysreset) = {
>  	.name = "ti-sci-sysreset",
>  	.id = UCLASS_SYSRESET,
> -	.of_match = ti_sci_sysreset_of_match,
>  	.probe = ti_sci_sysreset_probe,
>  	.priv_auto	= sizeof(struct ti_sci_sysreset_data),
>  	.ops = &ti_sci_sysreset_ops,
> -- 
> 2.39.2

Tested-by: Jonathan Humphreys <j-humphreys@ti.com>
diff mbox series

Patch

diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index ee092185588..6c581b9df9c 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -16,6 +16,7 @@ 
 #include <dm/device.h>
 #include <dm/device_compat.h>
 #include <dm/devres.h>
+#include <dm/lists.h>
 #include <linux/bitops.h>
 #include <linux/compat.h>
 #include <linux/err.h>
@@ -2840,6 +2841,12 @@  static int ti_sci_probe(struct udevice *dev)
 
 	INIT_LIST_HEAD(&info->dev_list);
 
+	if (IS_ENABLED(CONFIG_SYSRESET_TI_SCI)) {
+		ret = device_bind_driver(dev, "ti-sci-sysreset", "sysreset", NULL);
+		if (ret)
+			dev_warn(dev, "cannot bind SYSRESET (ret = %d)\n", ret);
+	}
+
 	return 0;
 }
 
diff --git a/drivers/sysreset/sysreset-ti-sci.c b/drivers/sysreset/sysreset-ti-sci.c
index 5fc05c46cb0..0de132633a8 100644
--- a/drivers/sysreset/sysreset-ti-sci.c
+++ b/drivers/sysreset/sysreset-ti-sci.c
@@ -60,15 +60,9 @@  static struct sysreset_ops ti_sci_sysreset_ops = {
 	.request = ti_sci_sysreset_request,
 };
 
-static const struct udevice_id ti_sci_sysreset_of_match[] = {
-	{ .compatible = "ti,sci-sysreset", },
-	{ /* sentinel */ },
-};
-
 U_BOOT_DRIVER(ti_sci_sysreset) = {
 	.name = "ti-sci-sysreset",
 	.id = UCLASS_SYSRESET,
-	.of_match = ti_sci_sysreset_of_match,
 	.probe = ti_sci_sysreset_probe,
 	.priv_auto	= sizeof(struct ti_sci_sysreset_data),
 	.ops = &ti_sci_sysreset_ops,