public inbox for linux-ide@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] pata_octeon_cf: use of_property_read_{bool|u32}()
@ 2017-08-27 19:55 Sergei Shtylyov
  2017-08-28 17:45 ` Tejun Heo
  2017-08-28 21:52 ` David Daney
  0 siblings, 2 replies; 3+ messages in thread
From: Sergei Shtylyov @ 2017-08-27 19:55 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz, Tejun Heo,
	"open list:LIBATA PATA DRIVERS"
  Cc: linux-mips, Sergei Shtylyov

[-- Attachment #1: pata_octeon_cf-use-of_property_read_-bool-u32.patch --]
[-- Type: text/plain, Size: 1543 bytes --]

The Octeon CF driver basically  open-codes of_property_read_{bool|u32}()
using  of_{find|get}_property() calls in its  probe() method.  Using the
modern DT APIs saves 2 LoCs and 16 bytes of object code (MIPS gcc 3.4.3).

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
 drivers/ata/pata_octeon_cf.c |   10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Index: libata/drivers/ata/pata_octeon_cf.c
===================================================================
--- libata.orig/drivers/ata/pata_octeon_cf.c
+++ libata/drivers/ata/pata_octeon_cf.c
@@ -840,7 +840,6 @@ static int octeon_cf_probe(struct platfo
 	struct property *reg_prop;
 	int n_addr, n_size, reg_len;
 	struct device_node *node;
-	const void *prop;
 	void __iomem *cs0;
 	void __iomem *cs1 = NULL;
 	struct ata_host *host;
@@ -850,7 +849,7 @@ static int octeon_cf_probe(struct platfo
 	void __iomem *base;
 	struct octeon_cf_port *cf_port;
 	int rv = -ENOMEM;
-
+	u32 bus_width;
 
 	node = pdev->dev.of_node;
 	if (node == NULL)
@@ -860,11 +859,10 @@ static int octeon_cf_probe(struct platfo
 	if (!cf_port)
 		return -ENOMEM;
 
-	cf_port->is_true_ide = (of_find_property(node, "cavium,true-ide", NULL) != NULL);
+	cf_port->is_true_ide = of_property_read_bool(node, "cavium,true-ide");
 
-	prop = of_get_property(node, "cavium,bus-width", NULL);
-	if (prop)
-		is_16bit = (be32_to_cpup(prop) == 16);
+	if (of_property_read_u32(node, "cavium,bus-width", &bus_width) == 0)
+		is_16bit = (bus_width == 16);
 	else
 		is_16bit = false;
 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] pata_octeon_cf: use of_property_read_{bool|u32}()
  2017-08-27 19:55 [PATCH] pata_octeon_cf: use of_property_read_{bool|u32}() Sergei Shtylyov
@ 2017-08-28 17:45 ` Tejun Heo
  2017-08-28 21:52 ` David Daney
  1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2017-08-28 17:45 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Bartlomiej Zolnierkiewicz,
	"open list:LIBATA PATA DRIVERS", linux-mips

On Sun, Aug 27, 2017 at 10:55:09PM +0300, Sergei Shtylyov wrote:
> The Octeon CF driver basically  open-codes of_property_read_{bool|u32}()
> using  of_{find|get}_property() calls in its  probe() method.  Using the
> modern DT APIs saves 2 LoCs and 16 bytes of object code (MIPS gcc 3.4.3).
> 
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

Applied to libata/for-4.14.

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] pata_octeon_cf: use of_property_read_{bool|u32}()
  2017-08-27 19:55 [PATCH] pata_octeon_cf: use of_property_read_{bool|u32}() Sergei Shtylyov
  2017-08-28 17:45 ` Tejun Heo
@ 2017-08-28 21:52 ` David Daney
  1 sibling, 0 replies; 3+ messages in thread
From: David Daney @ 2017-08-28 21:52 UTC (permalink / raw)
  To: Sergei Shtylyov, Bartlomiej Zolnierkiewicz, Tejun Heo,
	open list:LIBATA PATA DRIVERS
  Cc: linux-mips

On 08/27/2017 12:55 PM, Sergei Shtylyov wrote:
> The Octeon CF driver basically  open-codes of_property_read_{bool|u32}()
> using  of_{find|get}_property() calls in its  probe() method.  Using the
> modern DT APIs saves 2 LoCs and 16 bytes of object code (MIPS gcc 3.4.3).
> 
> Signed-off-by: Sergei Shtylyov<sergei.shtylyov@cogentembedded.com>

It still works with this applied, so:

Acked-by: David Daney <david.daney@cavium.com>

> 
> ---
>   drivers/ata/pata_octeon_cf.c |   10 ++++------
>   1 file changed, 4 insertions(+), 6 deletions(-)
> 
> Index: libata/drivers/ata/pata_octeon_cf.c
> ===================================================================
> --- libata.orig/drivers/ata/pata_octeon_cf.c
> +++ libata/drivers/ata/pata_octeon_cf.c
> @@ -840,7 +840,6 @@ static int octeon_cf_probe(struct platfo
>   	struct property *reg_prop;
>   	int n_addr, n_size, reg_len;
>   	struct device_node *node;
> -	const void *prop;
>   	void __iomem *cs0;
>   	void __iomem *cs1 = NULL;
>   	struct ata_host *host;
> @@ -850,7 +849,7 @@ static int octeon_cf_probe(struct platfo
>   	void __iomem *base;
>   	struct octeon_cf_port *cf_port;
>   	int rv = -ENOMEM;
> -
> +	u32 bus_width;
>   
>   	node = pdev->dev.of_node;
>   	if (node == NULL)
> @@ -860,11 +859,10 @@ static int octeon_cf_probe(struct platfo
>   	if (!cf_port)
>   		return -ENOMEM;
>   
> -	cf_port->is_true_ide = (of_find_property(node, "cavium,true-ide", NULL) != NULL);
> +	cf_port->is_true_ide = of_property_read_bool(node, "cavium,true-ide");
>   
> -	prop = of_get_property(node, "cavium,bus-width", NULL);
> -	if (prop)
> -		is_16bit = (be32_to_cpup(prop) == 16);
> +	if (of_property_read_u32(node, "cavium,bus-width", &bus_width) == 0)
> +		is_16bit = (bus_width == 16);
>   	else
>   		is_16bit = false;
>   
> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-08-28 21:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-27 19:55 [PATCH] pata_octeon_cf: use of_property_read_{bool|u32}() Sergei Shtylyov
2017-08-28 17:45 ` Tejun Heo
2017-08-28 21:52 ` David Daney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox