In order to get the expected result from
rzg2l_usbphy_regulator_get_enable the return expression needs
parenthesis so that the binary and is performed before the double
logical not.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodb...@linaro.org>
---
 drivers/power/regulator/rzg2l-usbphy-regulator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/regulator/rzg2l-usbphy-regulator.c 
b/drivers/power/regulator/rzg2l-usbphy-regulator.c
index 451f04c140e..0354555d0b5 100644
--- a/drivers/power/regulator/rzg2l-usbphy-regulator.c
+++ b/drivers/power/regulator/rzg2l-usbphy-regulator.c
@@ -27,7 +27,7 @@ static int rzg2l_usbphy_regulator_get_enable(struct udevice 
*dev)
 {
        struct rzg2l_usbphy_ctrl_priv *priv = dev_get_priv(dev->parent);
 
-       return !!readl(priv->regs + VBENCTL) & VBENCTL_VBUS_SEL;
+       return !!(readl(priv->regs + VBENCTL) & VBENCTL_VBUS_SEL);
 }
 
 static const struct dm_regulator_ops rzg2l_usbphy_regulator_ops = {

-- 
2.39.5

Reply via email to