diff mbox series

usb: musb: davinci: change the variable type

Message ID 20210418183618.GA69452@user
State New
Headers show
Series usb: musb: davinci: change the variable type | expand

Commit Message

Saurav Girepunje April 18, 2021, 6:36 p.m. UTC
vbus_state is define as bool but on davinci.c assigning a value
'-1' to the bool variable.

Fix the following coccicheck error:

drivers/usb/musb//davinci.c:532:2-18:
ERROR: Assignment of non-0/1 constant to bool variable

By changing the variable type to int.
As vbus_state need more three values/states more required by
vbus_state variable.

 /* 0/1 vs "-1 == unknown/init" */

Signed-off-by: Saurav Girepunje <saurav.girepunje@google.com>
---
 drivers/usb/musb/davinci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Greg KH April 22, 2021, 8:49 a.m. UTC | #1
On Mon, Apr 19, 2021 at 12:06:18AM +0530, Saurav Girepunje wrote:
> vbus_state is define as bool but on davinci.c assigning a value

> '-1' to the bool variable.


Does it also test that value?

If so, shouldn't that logic error be fixed instead of working around it
by changing the variable type?

This feels wrong...

thanks,

greg k-h
Saurav Girepunje April 27, 2021, 7:37 p.m. UTC | #2
On Thu, Apr 22, 2021 at 10:49:10AM +0200, Greg KH wrote:
> On Mon, Apr 19, 2021 at 12:06:18AM +0530, Saurav Girepunje wrote:

> > vbus_state is define as bool but on davinci.c assigning a value

> > '-1' to the bool variable.

> 

> Does it also test that value?

> 

> If so, shouldn't that logic error be fixed instead of working around it

> by changing the variable type?

> 

> This feels wrong...

> 

> thanks,

> 

> greg k-h


vbus_state is assign with the value of "-1" in davinci.c file.
However it check value whether it is zero or a non-zero.

This value pass On gpio lib function.Which need this value to bool only.

On below "glue->vbus_state" should be 1.

	glue->vbus = devm_gpiod_get_optional(&pdev->dev, NULL, GPIOD_OUT_LOW);
	if (IS_ERR(glue->vbus)) {
                ret = PTR_ERR(glue->vbus);
                goto err0;
        } else {
                glue->vbus_state = -1;
                INIT_WORK(&glue->vbus_work, evm_deferred_drvvbus);
        }
diff mbox series

Patch

diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
index 704435526394..e3435621a9d9 100644
--- a/drivers/usb/musb/davinci.c
+++ b/drivers/usb/musb/davinci.c
@@ -36,7 +36,7 @@  struct davinci_glue {
 	struct device		*dev;
 	struct platform_device	*musb;
 	struct clk		*clk;
-	bool			vbus_state;
+	int			vbus_state;
 	struct gpio_desc	*vbus;
 	struct work_struct	vbus_work;
 };