> >>When used 64bit compiler GCC warns as > >>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.du...@samsung.com> > >>--- > >> 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; > >I think using an unsigned long would be better. > > I could have done that but since "sec_i2c_get_driver_data" return type is > "int" for me it make sense to return "int", and it does not make much sense > to change this function signature as return value is used only for getting > variant type. Also same has been done in "max8998_i2c_get_driver_data", if > you still think it's better to typecast into "unsigned long" or > "kernel_ulong_t" please let me know I will change accordingly.
I'd prefer to change the whole thing to unsigned long, based only on the fact that a) it's a trivial piece of work and b) for consistency with other MFD drivers who have recently suffered the same issues. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/