Re: [U-Boot] [PATCH v2 2/4] dm: ofnode: add ofnode_device_is_compatible() helper

2018-04-30 Thread Simon Glass
On 26 April 2018 at 10:03, Masahiro Yamada
 wrote:
> Hi Simon,
>
>
> 2018-04-26 23:40 GMT+09:00 Simon Glass :
>> Hi Masahiro,
>>
>> On 18 April 2018 at 21:14, Masahiro Yamada
>>  wrote:
>>> device_is_compatible() takes udevice, but there is no such a helper
>>> that takes ofnode.
>>>
>>> Signed-off-by: Masahiro Yamada 
>>> ---
>>>
>>> Changes in v2: None
>>>
>>>  drivers/core/device.c |  8 +---
>>>  drivers/core/ofnode.c | 11 +++
>>>  include/dm/ofnode.h   | 11 +++
>>>  3 files changed, 23 insertions(+), 7 deletions(-)
>>>
>>
>> Please can you add a simple test for this?
>
> I wrote a simple test:
>
> http://patchwork.ozlabs.org/patch/905181/

Thanks!

Reviewed-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 2/4] dm: ofnode: add ofnode_device_is_compatible() helper

2018-04-26 Thread Masahiro Yamada
Hi Simon,


2018-04-26 23:40 GMT+09:00 Simon Glass :
> Hi Masahiro,
>
> On 18 April 2018 at 21:14, Masahiro Yamada
>  wrote:
>> device_is_compatible() takes udevice, but there is no such a helper
>> that takes ofnode.
>>
>> Signed-off-by: Masahiro Yamada 
>> ---
>>
>> Changes in v2: None
>>
>>  drivers/core/device.c |  8 +---
>>  drivers/core/ofnode.c | 11 +++
>>  include/dm/ofnode.h   | 11 +++
>>  3 files changed, 23 insertions(+), 7 deletions(-)
>>
>
> Please can you add a simple test for this?

I wrote a simple test:

http://patchwork.ozlabs.org/patch/905181/

-- 
Best Regards
Masahiro Yamada
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v2 2/4] dm: ofnode: add ofnode_device_is_compatible() helper

2018-04-26 Thread Simon Glass
Hi Masahiro,

On 18 April 2018 at 21:14, Masahiro Yamada
 wrote:
> device_is_compatible() takes udevice, but there is no such a helper
> that takes ofnode.
>
> Signed-off-by: Masahiro Yamada 
> ---
>
> Changes in v2: None
>
>  drivers/core/device.c |  8 +---
>  drivers/core/ofnode.c | 11 +++
>  include/dm/ofnode.h   | 11 +++
>  3 files changed, 23 insertions(+), 7 deletions(-)
>

Please can you add a simple test for this?

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v2 2/4] dm: ofnode: add ofnode_device_is_compatible() helper

2018-04-18 Thread Masahiro Yamada
device_is_compatible() takes udevice, but there is no such a helper
that takes ofnode.

Signed-off-by: Masahiro Yamada 
---

Changes in v2: None

 drivers/core/device.c |  8 +---
 drivers/core/ofnode.c | 11 +++
 include/dm/ofnode.h   | 11 +++
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/drivers/core/device.c b/drivers/core/device.c
index 940a153..8d95787 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -709,13 +709,7 @@ int device_set_name(struct udevice *dev, const char *name)
 
 bool device_is_compatible(struct udevice *dev, const char *compat)
 {
-   const void *fdt = gd->fdt_blob;
-   ofnode node = dev_ofnode(dev);
-
-   if (ofnode_is_np(node))
-   return of_device_is_compatible(ofnode_to_np(node), compat, 
NULL, NULL);
-   else
-   return !fdt_node_check_compatible(fdt, ofnode_to_offset(node), 
compat);
+   return ofnode_device_is_compatible(dev_ofnode(dev), compat);
 }
 
 bool of_machine_is_compatible(const char *compat)
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 5909a25..ee2109b 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -687,3 +687,14 @@ u64 ofnode_translate_address(ofnode node, const fdt32_t 
*in_addr)
else
return fdt_translate_address(gd->fdt_blob, 
ofnode_to_offset(node), in_addr);
 }
+
+int ofnode_device_is_compatible(ofnode node, const char *compat)
+{
+   if (ofnode_is_np(node))
+   return of_device_is_compatible(ofnode_to_np(node), compat,
+  NULL, NULL);
+   else
+   return !fdt_node_check_compatible(gd->fdt_blob,
+ ofnode_to_offset(node),
+ compat);
+}
diff --git a/include/dm/ofnode.h b/include/dm/ofnode.h
index 0d00840..a2c6a50 100644
--- a/include/dm/ofnode.h
+++ b/include/dm/ofnode.h
@@ -681,4 +681,15 @@ int ofnode_read_resource_byname(ofnode node, const char 
*name,
  * @return the translated address; OF_BAD_ADDR on error
  */
 u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr);
+
+/**
+ * ofnode_device_is_compatible() - check if the node is compatible with compat
+ *
+ * This allows to check whether the node is comaptible with the compat.
+ *
+ * @node:  Device tree node for which compatible needs to be verified.
+ * @compat:Compatible string which needs to verified in the given node.
+ * @return true if OK, false if the compatible is not found
+ */
+int ofnode_device_is_compatible(ofnode node, const char *compat);
 #endif
-- 
2.7.4

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot