Input: ads7846 - fix pointer cast warning
authorArnd Bergmann <arnd@arndb.de>
Fri, 9 Jun 2023 20:20:56 +0000 (22:20 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 9 Jun 2023 21:16:49 +0000 (23:16 +0200)
The previous bugfix caused a warning on 64-bit builds:

drivers/input/touchscreen/ads7846.c:1126:17: warning: cast to smaller integer type 'u32' (aka 'unsigned int') from 'const void *' [-Wvoid-pointer-to-int-cast]

Change the cast back to something that works on both 32-bit and 64-bit
kernels.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202306100442.jStknDT1-lkp@intel.com/
Fixes: 8f7913c04f6a7 ("Input: ads7846 - Fix usage of match data")
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/input/touchscreen/ads7846.c

index fe6fe8a..faea40d 100644 (file)
@@ -1123,7 +1123,7 @@ static const struct ads7846_platform_data *ads7846_get_props(struct device *dev)
        if (!pdata)
                return ERR_PTR(-ENOMEM);
 
-       pdata->model = (u32)device_get_match_data(dev);
+       pdata->model = (uintptr_t)device_get_match_data(dev);
 
        device_property_read_u16(dev, "ti,vref-delay-usecs",
                                 &pdata->vref_delay_usecs);