When used 64bit compiler GCC warns asI think using an unsigned long would be better.
drivers/mfd/sec-core.c:199:10: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
This patch fixes this by type-casting "match->data" into "long" before
converting into "int"
Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx>
---
drivers/mfd/sec-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
index a139798..2e7580bd 100644
--- a/drivers/mfd/sec-core.c
+++ b/drivers/mfd/sec-core.c
@@ -187,7 +187,7 @@ static inline int sec_i2c_get_driver_data(struct i2c_client *i2c,
if (i2c->dev.of_node) {
const struct of_device_id *match;
match = of_match_node(sec_dt_match, i2c->dev.of_node);
- return (int)match->data;
+ return (int)(long)match->data;
No. As id->driver_data is of type "kernel_ulong_t" and not a pointer.}Doesn't this give you the same error?
#endif
return (int)id->driver_data;