All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xen/device_tree: silence ambiguous integer casting warning error
@ 2022-04-19 15:46 Paran Lee
  2022-04-21 23:52 ` Stefano Stabellini
  2022-04-24 16:34 ` Julien Grall
  0 siblings, 2 replies; 3+ messages in thread
From: Paran Lee @ 2022-04-19 15:46 UTC (permalink / raw)
  To: Stefano Stabellini, Julien Grall; +Cc: austindh.kim, xen-devel

GCC with "-g -Wall -Wextra" option throws warning message as below:

error: comparison of integer expressions of different signedness:
 ‘int’ and ‘unsigned int’ [-Werror=sign-compare]

Silence the warning by correcting the integer type.

Signed-off-by: Paran Lee <p4ranlee@gmail.com>
---
 xen/common/device_tree.c | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 4aae281e89..402e465c7a 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -79,7 +79,7 @@ struct dt_bus
     const char *addresses;
     bool_t (*match)(const struct dt_device_node *node);
     void (*count_cells)(const struct dt_device_node *child,
-                        int *addrc, int *sizec);
+                        unsigned int *addrc, unsigned int *sizec);
     u64 (*map)(__be32 *addr, const __be32 *range, int na, int ns, int pna);
     int (*translate)(__be32 *addr, u64 offset, int na);
     unsigned int (*get_flags)(const __be32 *addr);
@@ -569,7 +569,7 @@ static bool_t dt_bus_default_match(const struct dt_device_node *node)
 }
 
 static void dt_bus_default_count_cells(const struct dt_device_node *dev,
-                                int *addrc, int *sizec)
+                                       unsigned int *addrc, unsigned int *sizec)
 {
     if ( addrc )
         *addrc = dt_n_addr_cells(dev);
@@ -649,7 +649,7 @@ static bool_t dt_bus_pci_match(const struct dt_device_node *np)
 }
 
 static void dt_bus_pci_count_cells(const struct dt_device_node *np,
-				   int *addrc, int *sizec)
+				   unsigned int *addrc, unsigned int *sizec)
 {
     if (addrc)
         *addrc = 3;
@@ -737,7 +737,7 @@ static const struct dt_bus dt_busses[] =
 
 static const struct dt_bus *dt_match_bus(const struct dt_device_node *np)
 {
-    int i;
+    long unsigned int i;
 
     for ( i = 0; i < ARRAY_SIZE(dt_busses); i++ )
         if ( !dt_busses[i].match || dt_busses[i].match(np) )
@@ -754,7 +754,8 @@ static const __be32 *dt_get_address(const struct dt_device_node *dev,
     u32 psize;
     const struct dt_device_node *parent;
     const struct dt_bus *bus;
-    int onesize, i, na, ns;
+    unsigned int i;
+    unsigned int onesize, na, ns;
 
     /* Get parent & match bus type */
     parent = dt_get_parent(dev);
@@ -797,8 +798,7 @@ static int dt_translate_one(const struct dt_device_node *parent,
                             int pna, const char *rprop)
 {
     const __be32 *ranges;
-    unsigned int rlen;
-    int rone;
+    unsigned int rlen, rone;
     u64 offset = DT_BAD_ADDR;
 
     ranges = dt_get_property(parent, rprop, &rlen);
@@ -857,7 +857,7 @@ static u64 __dt_translate_address(const struct dt_device_node *dev,
     const struct dt_device_node *parent = NULL;
     const struct dt_bus *bus, *pbus;
     __be32 addr[DT_MAX_ADDR_CELLS];
-    int na, ns, pna, pns;
+    unsigned int na, ns, pna, pns;
     u64 result = DT_BAD_ADDR;
 
     dt_dprintk("DT: ** translation for device %s **\n", dev->full_name);
@@ -966,8 +966,7 @@ int dt_for_each_range(const struct dt_device_node *dev,
     const struct dt_bus *bus, *pbus;
     const __be32 *ranges;
     __be32 addr[DT_MAX_ADDR_CELLS];
-    unsigned int rlen;
-    int na, ns, pna, pns, rone;
+    unsigned int rlen, na, ns, pna, pns, rone;
 
     bus = dt_match_bus(dev);
     if ( !bus )
@@ -1134,7 +1133,7 @@ unsigned int dt_number_of_address(const struct dt_device_node *dev)
     u32 psize;
     const struct dt_device_node *parent;
     const struct dt_bus *bus;
-    int onesize, na, ns;
+    unsigned int onesize, na, ns;
 
     /* Get parent & match bus type */
     parent = dt_get_parent(dev);
@@ -1169,8 +1168,8 @@ int dt_for_each_irq_map(const struct dt_device_node *dev,
     const struct dt_device_node *ipar, *tnode, *old = NULL;
     const __be32 *tmp, *imap;
     u32 intsize = 1, addrsize, pintsize = 0, paddrsize = 0;
-    u32 imaplen;
-    int i, ret;
+    u32 i, imaplen;
+    int ret;
 
     struct dt_raw_irq dt_raw_irq;
     struct dt_irq dt_irq;
@@ -1354,8 +1353,8 @@ static int dt_irq_map_raw(const struct dt_device_node *parent,
     const struct dt_device_node *ipar, *tnode, *old = NULL, *newpar = NULL;
     const __be32 *tmp, *imap, *imask;
     u32 intsize = 1, addrsize, newintsize = 0, newaddrsize = 0;
-    u32 imaplen;
-    int match, i;
+    u32 i, imaplen;
+    int match;
 
     dt_dprintk("dt_irq_map_raw: par=%s,intspec=[0x%08x 0x%08x...],ointsize=%d\n",
                parent->full_name, be32_to_cpup(intspec),
@@ -1737,7 +1736,7 @@ static int __dt_parse_phandle_with_args(const struct dt_device_node *np,
 
             if ( out_args )
             {
-                int i;
+                u32 i;
 
                 WARN_ON(count > MAX_PHANDLE_ARGS);
                 if (count > MAX_PHANDLE_ARGS)
-- 
2.25.1



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

end of thread, other threads:[~2022-04-24 16:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-19 15:46 [PATCH] xen/device_tree: silence ambiguous integer casting warning error Paran Lee
2022-04-21 23:52 ` Stefano Stabellini
2022-04-24 16:34 ` Julien Grall

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.