aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-4.19/080-v4.20-0002-pinctrl-bcm-ns-Use-uintptr_t-for-casting-data.patch
blob: afaed68d055c5427838c52ff06ea2c091e0a4f04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From ce7bdb957b8e3f1cbf0a3358f1deef385dff6502 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Thu, 11 Oct 2018 13:23:40 +0200
Subject: [PATCH] pinctrl: bcm: ns: Use uintptr_t for casting data
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fix up a compiler error on 64bit architectures where pointers
and integers differ in size.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/pinctrl/bcm/pinctrl-ns.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/pinctrl/bcm/pinctrl-ns.c
+++ b/drivers/pinctrl/bcm/pinctrl-ns.c
@@ -285,7 +285,7 @@ static int ns_pinctrl_probe(struct platf
 	of_id = of_match_device(ns_pinctrl_of_match_table, dev);
 	if (!of_id)
 		return -EINVAL;
-	ns_pinctrl->chipset_flag = (unsigned int)of_id->data;
+	ns_pinctrl->chipset_flag = (uintptr_t)of_id->data;
 
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
 					   "cru_gpio_control");
@@ -307,7 +307,7 @@ static int ns_pinctrl_probe(struct platf
 	for (i = 0, pin = (struct pinctrl_pin_desc *)&pctldesc->pins[0];
 	     i < ARRAY_SIZE(ns_pinctrl_pins); i++) {
 		const struct pinctrl_pin_desc *src = &ns_pinctrl_pins[i];
-		unsigned int chipsets = (unsigned int)src->drv_data;
+		unsigned int chipsets = (uintptr_t)src->drv_data;
 
 		if (chipsets & ns_pinctrl->chipset_flag) {
 			memcpy(pin++, src, sizeof(*src));