diff mbox

power: supply: axp20x_usb_power: fix warning on 64bit

Message ID 20170110174812.19026-1-msuchanek@suse.de (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Michal Suchánek Jan. 10, 2017, 5:48 p.m. UTC
Casting of_device_get_match_data return value to int causes warning on 64bit
architectures.

../drivers/power/supply/axp20x_usb_power.c: In function
'axp20x_usb_power_probe':
../drivers/power/supply/axp20x_usb_power.c:297:21: warning: cast from
pointer to integer of different size [-Wpointer-to-int-cast]

Fixes: 0dcc70ca8644 ("power: supply: axp20x_usb_power: use of_device_id
    data field instead of device_is_compatible")
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
 drivers/power/supply/axp20x_usb_power.c | 5 +++--
 include/linux/mfd/axp20x.h              | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

Comments

Sebastian Reichel Jan. 12, 2017, 2:55 a.m. UTC | #1
Hi Michal,

On Tue, Jan 10, 2017 at 06:48:12PM +0100, Michal Suchanek wrote:
> Casting of_device_get_match_data return value to int causes warning on 64bit
> architectures.
> 
> ../drivers/power/supply/axp20x_usb_power.c: In function
> 'axp20x_usb_power_probe':
> ../drivers/power/supply/axp20x_usb_power.c:297:21: warning: cast from
> pointer to integer of different size [-Wpointer-to-int-cast]
> 
> Fixes: 0dcc70ca8644 ("power: supply: axp20x_usb_power: use of_device_id
>     data field instead of device_is_compatible")
> Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> ---
>  drivers/power/supply/axp20x_usb_power.c | 5 +++--
>  include/linux/mfd/axp20x.h              | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c
> index 1bcb02551e02..632a33fe2d54 100644
> --- a/drivers/power/supply/axp20x_usb_power.c
> +++ b/drivers/power/supply/axp20x_usb_power.c
> @@ -48,7 +48,7 @@ struct axp20x_usb_power {
>  	struct device_node *np;
>  	struct regmap *regmap;
>  	struct power_supply *supply;
> -	int axp20x_id;
> +	enum axp20x_variants axp20x_id;
>  };
>  
>  static irqreturn_t axp20x_usb_power_irq(int irq, void *devid)
> @@ -294,7 +294,8 @@ static int axp20x_usb_power_probe(struct platform_device *pdev)
>  	if (!power)
>  		return -ENOMEM;
>  
> -	power->axp20x_id = (int)of_device_get_match_data(&pdev->dev);
> +	power->axp20x_id = (enum axp20x_variants)of_device_get_match_data(
> +								&pdev->dev);
>  
>  	power->np = pdev->dev.of_node;
>  	power->regmap = axp20x->regmap;
> diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> index 0aa4ef7157b8..0d9a1ff38393 100644
> --- a/include/linux/mfd/axp20x.h
> +++ b/include/linux/mfd/axp20x.h
> @@ -13,7 +13,7 @@
>  
>  #include <linux/regmap.h>
>  
> -enum {
> +enum axp20x_variants {
>  	AXP152_ID = 0,
>  	AXP202_ID,
>  	AXP209_ID,

Thanks, queued into power-supply's for-next branch.

-- Sebastian
diff mbox

Patch

diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c
index 1bcb02551e02..632a33fe2d54 100644
--- a/drivers/power/supply/axp20x_usb_power.c
+++ b/drivers/power/supply/axp20x_usb_power.c
@@ -48,7 +48,7 @@  struct axp20x_usb_power {
 	struct device_node *np;
 	struct regmap *regmap;
 	struct power_supply *supply;
-	int axp20x_id;
+	enum axp20x_variants axp20x_id;
 };
 
 static irqreturn_t axp20x_usb_power_irq(int irq, void *devid)
@@ -294,7 +294,8 @@  static int axp20x_usb_power_probe(struct platform_device *pdev)
 	if (!power)
 		return -ENOMEM;
 
-	power->axp20x_id = (int)of_device_get_match_data(&pdev->dev);
+	power->axp20x_id = (enum axp20x_variants)of_device_get_match_data(
+								&pdev->dev);
 
 	power->np = pdev->dev.of_node;
 	power->regmap = axp20x->regmap;
diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
index 0aa4ef7157b8..0d9a1ff38393 100644
--- a/include/linux/mfd/axp20x.h
+++ b/include/linux/mfd/axp20x.h
@@ -13,7 +13,7 @@ 
 
 #include <linux/regmap.h>
 
-enum {
+enum axp20x_variants {
 	AXP152_ID = 0,
 	AXP202_ID,
 	AXP209_ID,