From f479e502c8abece5402e0936da50d363a2121327 Mon Sep 17 00:00:00 2001 From: David Wu Date: Tue, 30 Jan 2018 19:31:44 +0800 Subject: [PATCH] pinctrl: rockchip: Fix some clang warnings This patch fixes the following warnings: drivers/pinctrl/pinctrl-rockchip.c:1869:9: warning: 1st function call argument is an uninitialized value ret = regmap_read(extra_regmap, extra_reg, &temp); ^ drivers/pinctrl/pinctrl-rockchip.c:1999:48: warning: The left operand of '+' is a garbage value data = ((1 << rmask_bits) - 1) << (extra_bit + 16); ^ Change-Id: Ie1bfe825925505314d5d9a4d5491e38768916dbd Signed-off-by: David Wu --- drivers/pinctrl/pinctrl-rockchip.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 3ff72716424b..a76248afba1f 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -1844,6 +1844,9 @@ static int rockchip_get_drive_perpin(struct rockchip_pin_bank *bank, break; case DRV_TYPE_IO_WIDE_LEVEL: + if (!ctrl->drv_calc_extra_reg) + return -EINVAL; + rmask_bits = RK3288_DRV_BITS_PER_PIN; /* enable the write to the equivalent lower bits */ ret = regmap_read(regmap, reg, &data); @@ -1856,11 +1859,10 @@ static int rockchip_get_drive_perpin(struct rockchip_pin_bank *bank, * assume the drive strength of N channel and * P channel are the same. */ - if (ctrl->drv_calc_extra_reg) - ctrl->drv_calc_extra_reg(bank, pin_num, - &extra_regmap, - &extra_reg, - &extra_bit); + ctrl->drv_calc_extra_reg(bank, pin_num, + &extra_regmap, + &extra_reg, + &extra_bit); /* * It is enough to read one channel drive strength, @@ -1981,6 +1983,9 @@ static int rockchip_set_drive_perpin(struct rockchip_pin_bank *bank, } break; case DRV_TYPE_IO_WIDE_LEVEL: + if (!ctrl->drv_calc_extra_reg) + return -EINVAL; + extra_value = ((strength - rockchip_perpin_drv_list[drv_type][ret])) >> 1; rmask_bits = RK3288_DRV_BITS_PER_PIN; @@ -1989,11 +1994,10 @@ static int rockchip_set_drive_perpin(struct rockchip_pin_bank *bank, * assume the drive strength of N channel and * P channel are the same. */ - if (ctrl->drv_calc_extra_reg) - extra_drv_type = ctrl->drv_calc_extra_reg(bank, pin_num, - &extra_regmap, - &extra_reg, - &extra_bit); + extra_drv_type = ctrl->drv_calc_extra_reg(bank, pin_num, + &extra_regmap, + &extra_reg, + &extra_bit); /* enable the write to the equivalent lower bits */ data = ((1 << rmask_bits) - 1) << (extra_bit + 16);