Re: [PATCH] drm: Use of_property_present() for testing DT property presence

2023-03-14 Thread Jernej Škrabec
Dne petek, 10. marec 2023 ob 15:47:05 CET je Rob Herring napisal(a):
> It is preferred to use typed property access functions (i.e.
> of_property_read_ functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
> 
> Signed-off-by: Rob Herring 
> ---
>  drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
>  drivers/gpu/drm/drm_mipi_dsi.c  | 2 +-
>  drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +-
>  drivers/gpu/drm/sun4i/sun4i_backend.c   | 2 +-
>  drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +-

For sun4i:
Reviewed-by: Jernej Skrabec 

Best regards,
Jernej

>  drivers/gpu/drm/vc4/vc4_hdmi.c  | 2 +-
>  6 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c index
> 9e5f2b4dc2e5..fab139b324af 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> @@ -313,7 +313,7 @@ imx8qxp_pixel_link_find_next_bridge(struct
> imx8qxp_pixel_link *pl) }
> 
>   /* specially select the next bridge with companion 
PXL2DPI */
> - if (of_find_property(remote, "fsl,companion-pxl2dpi", 
NULL))
> + if (of_property_present(remote, "fsl,companion-
pxl2dpi"))
>   bridge_sel = ep_cnt;
> 
>   ep_cnt++;
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
> index b41aaf2bb9f1..7900a4707d7c 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -329,7 +329,7 @@ int mipi_dsi_host_register(struct mipi_dsi_host *host)
> 
>   for_each_available_child_of_node(host->dev->of_node, node) {
>   /* skip nodes without reg property */
> - if (!of_find_property(node, "reg", NULL))
> + if (!of_property_present(node, "reg"))
>   continue;
>   of_mipi_dsi_device_add(host, node);
>   }
> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index ce6b76c45b6f..2359dca80492
> 100644
> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> @@ -964,7 +964,7 @@ static void adreno_get_pwrlevels(struct device *dev,
>   gpu->fast_rate = 0;
> 
>   /* You down with OPP? */
> - if (!of_find_property(dev->of_node, "operating-points-v2", NULL))
> + if (!of_property_present(dev->of_node, "operating-points-v2"))
>   ret = adreno_get_legacy_pwrlevels(dev);
>   else {
>   ret = devm_pm_opp_of_add_table(dev);
> diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c
> b/drivers/gpu/drm/sun4i/sun4i_backend.c index 38070fc261f3..b11dbd50d73e
> 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
> @@ -792,7 +792,7 @@ static int sun4i_backend_bind(struct device *dev, struct
> device *master, dev_set_drvdata(dev, backend);
>   spin_lock_init(&backend->frontend_lock);
> 
> - if (of_find_property(dev->of_node, "interconnects", NULL)) {
> + if (of_property_present(dev->of_node, "interconnects")) {
>   /*
>* This assume we have the same DMA constraints for all 
our the
>* devices in our pipeline (all the backends, but also 
the
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> b/drivers/gpu/drm/sun4i/sun8i_mixer.c index bafee05f6b24..11d5244a5aa5
> 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> @@ -391,7 +391,7 @@ static int sun8i_mixer_bind(struct device *dev, struct
> device *master, mixer->engine.ops = &sun8i_engine_ops;
>   mixer->engine.node = dev->of_node;
> 
> - if (of_find_property(dev->of_node, "iommus", NULL)) {
> + if (of_property_present(dev->of_node, "iommus")) {
>   /*
>* This assume we have the same DMA constraints for
>* all our the mixers in our pipeline. This sounds
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
> index ea22c9bf223a..bec1e0cdddb3 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
> @@ -3018,7 +3018,7 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi
> *vc4_hdmi) struct device *dev = &pdev->dev;
>   int ret;
> 
> - if (!of_find_property(dev->of_node, "interrupts", NULL)) {
> + if (!of_property_present(dev->of_node, "interrupts")) {
>   dev_warn(dev, "'interrupts' DT property is missing, no 
CEC\n");
>   return 0;
>   }






Re: [PATCH] drm: Use of_property_present() for testing DT property presence

2023-03-12 Thread Liu Ying
On Fri, 2023-03-10 at 08:47 -0600, Rob Herring wrote:
> It is preferred to use typed property access functions (i.e.
> of_property_read_ functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
> 
> Signed-off-by: Rob Herring 
> ---
>  drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-

Reviewed-by: Liu Ying  # i.MX bridge

>  drivers/gpu/drm/drm_mipi_dsi.c  | 2 +-
>  drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +-
>  drivers/gpu/drm/sun4i/sun4i_backend.c   | 2 +-
>  drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +-
>  drivers/gpu/drm/vc4/vc4_hdmi.c  | 2 +-
>  6 files changed, 6 insertions(+), 6 deletions(-)



Re: [PATCH] drm: Use of_property_present() for testing DT property presence

2023-03-10 Thread Dmitry Baryshkov

On 10/03/2023 16:47, Rob Herring wrote:

It is preferred to use typed property access functions (i.e.
of_property_read_ functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Signed-off-by: Rob Herring 
---
  drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
  drivers/gpu/drm/drm_mipi_dsi.c  | 2 +-
  drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +-


For msm part:
Reviewed-by: Dmitry Baryshkov 


  drivers/gpu/drm/sun4i/sun4i_backend.c   | 2 +-
  drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +-
  drivers/gpu/drm/vc4/vc4_hdmi.c  | 2 +-
  6 files changed, 6 insertions(+), 6 deletions(-)

--
With best wishes
Dmitry



Re: [PATCH] drm: Use of_property_present() for testing DT property presence

2023-03-10 Thread Laurent Pinchart
Hi Rob,

Thank you for the patch.

On Fri, Mar 10, 2023 at 08:47:05AM -0600, Rob Herring wrote:
> It is preferred to use typed property access functions (i.e.
> of_property_read_ functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
> 
> Signed-off-by: Rob Herring 

Reviewed-by: Laurent Pinchart 

> ---
>  drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
>  drivers/gpu/drm/drm_mipi_dsi.c  | 2 +-
>  drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +-
>  drivers/gpu/drm/sun4i/sun4i_backend.c   | 2 +-
>  drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +-
>  drivers/gpu/drm/vc4/vc4_hdmi.c  | 2 +-
>  6 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c 
> b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> index 9e5f2b4dc2e5..fab139b324af 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
> @@ -313,7 +313,7 @@ imx8qxp_pixel_link_find_next_bridge(struct 
> imx8qxp_pixel_link *pl)
>   }
>  
>   /* specially select the next bridge with companion PXL2DPI */
> - if (of_find_property(remote, "fsl,companion-pxl2dpi", NULL))
> + if (of_property_present(remote, "fsl,companion-pxl2dpi"))
>   bridge_sel = ep_cnt;
>  
>   ep_cnt++;
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
> index b41aaf2bb9f1..7900a4707d7c 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -329,7 +329,7 @@ int mipi_dsi_host_register(struct mipi_dsi_host *host)
>  
>   for_each_available_child_of_node(host->dev->of_node, node) {
>   /* skip nodes without reg property */
> - if (!of_find_property(node, "reg", NULL))
> + if (!of_property_present(node, "reg"))
>   continue;
>   of_mipi_dsi_device_add(host, node);
>   }
> diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c 
> b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> index ce6b76c45b6f..2359dca80492 100644
> --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
> @@ -964,7 +964,7 @@ static void adreno_get_pwrlevels(struct device *dev,
>   gpu->fast_rate = 0;
>  
>   /* You down with OPP? */
> - if (!of_find_property(dev->of_node, "operating-points-v2", NULL))
> + if (!of_property_present(dev->of_node, "operating-points-v2"))
>   ret = adreno_get_legacy_pwrlevels(dev);
>   else {
>   ret = devm_pm_opp_of_add_table(dev);
> diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
> b/drivers/gpu/drm/sun4i/sun4i_backend.c
> index 38070fc261f3..b11dbd50d73e 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
> @@ -792,7 +792,7 @@ static int sun4i_backend_bind(struct device *dev, struct 
> device *master,
>   dev_set_drvdata(dev, backend);
>   spin_lock_init(&backend->frontend_lock);
>  
> - if (of_find_property(dev->of_node, "interconnects", NULL)) {
> + if (of_property_present(dev->of_node, "interconnects")) {
>   /*
>* This assume we have the same DMA constraints for all our the
>* devices in our pipeline (all the backends, but also the
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c 
> b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> index bafee05f6b24..11d5244a5aa5 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> @@ -391,7 +391,7 @@ static int sun8i_mixer_bind(struct device *dev, struct 
> device *master,
>   mixer->engine.ops = &sun8i_engine_ops;
>   mixer->engine.node = dev->of_node;
>  
> - if (of_find_property(dev->of_node, "iommus", NULL)) {
> + if (of_property_present(dev->of_node, "iommus")) {
>   /*
>* This assume we have the same DMA constraints for
>* all our the mixers in our pipeline. This sounds
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
> index ea22c9bf223a..bec1e0cdddb3 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
> @@ -3018,7 +3018,7 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi)
>   struct device *dev = &pdev->dev;
>   int ret;
>  
> - if (!of_find_property(dev->of_node, "interrupts", NULL)) {
> + if (!of_property_present(dev->of_node, "interrupts")) {
>   dev_warn(dev, "'interrupts' DT property is missing, no CEC\n");
>   return 0;
>   }

-- 
Regards,

Laurent Pinchart


[PATCH] drm: Use of_property_present() for testing DT property presence

2023-03-10 Thread Rob Herring
It is preferred to use typed property access functions (i.e.
of_property_read_ functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Signed-off-by: Rob Herring 
---
 drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 2 +-
 drivers/gpu/drm/drm_mipi_dsi.c  | 2 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +-
 drivers/gpu/drm/sun4i/sun4i_backend.c   | 2 +-
 drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +-
 drivers/gpu/drm/vc4/vc4_hdmi.c  | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c 
b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
index 9e5f2b4dc2e5..fab139b324af 100644
--- a/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
+++ b/drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
@@ -313,7 +313,7 @@ imx8qxp_pixel_link_find_next_bridge(struct 
imx8qxp_pixel_link *pl)
}
 
/* specially select the next bridge with companion PXL2DPI */
-   if (of_find_property(remote, "fsl,companion-pxl2dpi", NULL))
+   if (of_property_present(remote, "fsl,companion-pxl2dpi"))
bridge_sel = ep_cnt;
 
ep_cnt++;
diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
index b41aaf2bb9f1..7900a4707d7c 100644
--- a/drivers/gpu/drm/drm_mipi_dsi.c
+++ b/drivers/gpu/drm/drm_mipi_dsi.c
@@ -329,7 +329,7 @@ int mipi_dsi_host_register(struct mipi_dsi_host *host)
 
for_each_available_child_of_node(host->dev->of_node, node) {
/* skip nodes without reg property */
-   if (!of_find_property(node, "reg", NULL))
+   if (!of_property_present(node, "reg"))
continue;
of_mipi_dsi_device_add(host, node);
}
diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c 
b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index ce6b76c45b6f..2359dca80492 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -964,7 +964,7 @@ static void adreno_get_pwrlevels(struct device *dev,
gpu->fast_rate = 0;
 
/* You down with OPP? */
-   if (!of_find_property(dev->of_node, "operating-points-v2", NULL))
+   if (!of_property_present(dev->of_node, "operating-points-v2"))
ret = adreno_get_legacy_pwrlevels(dev);
else {
ret = devm_pm_opp_of_add_table(dev);
diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
b/drivers/gpu/drm/sun4i/sun4i_backend.c
index 38070fc261f3..b11dbd50d73e 100644
--- a/drivers/gpu/drm/sun4i/sun4i_backend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
@@ -792,7 +792,7 @@ static int sun4i_backend_bind(struct device *dev, struct 
device *master,
dev_set_drvdata(dev, backend);
spin_lock_init(&backend->frontend_lock);
 
-   if (of_find_property(dev->of_node, "interconnects", NULL)) {
+   if (of_property_present(dev->of_node, "interconnects")) {
/*
 * This assume we have the same DMA constraints for all our the
 * devices in our pipeline (all the backends, but also the
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c 
b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index bafee05f6b24..11d5244a5aa5 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -391,7 +391,7 @@ static int sun8i_mixer_bind(struct device *dev, struct 
device *master,
mixer->engine.ops = &sun8i_engine_ops;
mixer->engine.node = dev->of_node;
 
-   if (of_find_property(dev->of_node, "iommus", NULL)) {
+   if (of_property_present(dev->of_node, "iommus")) {
/*
 * This assume we have the same DMA constraints for
 * all our the mixers in our pipeline. This sounds
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index ea22c9bf223a..bec1e0cdddb3 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -3018,7 +3018,7 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi)
struct device *dev = &pdev->dev;
int ret;
 
-   if (!of_find_property(dev->of_node, "interrupts", NULL)) {
+   if (!of_property_present(dev->of_node, "interrupts")) {
dev_warn(dev, "'interrupts' DT property is missing, no CEC\n");
return 0;
}
-- 
2.39.2