* [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