* [PATCH] usb: cdns3: remove redundant if branch
@ 2024-12-30 8:38 xiehongyu1
2024-12-30 12:01 ` Peter Chen
0 siblings, 1 reply; 2+ messages in thread
From: xiehongyu1 @ 2024-12-30 8:38 UTC (permalink / raw)
To: pawell
Cc: peter.chen, rogerq, frank.li, gregkh, linux-usb, linux-kernel,
Hongyu Xie
From: Hongyu Xie <xiehongyu1@kylinos.cn>
cdns->role_sw->dev->driver_data gets set in routines showing bellow,
cdns_init
sw_desc.driver_data = cdns;
cdns->role_sw = usb_role_switch_register(dev, &sw_desc);
dev_set_drvdata(&sw->dev, desc->driver_data);
In cdns_resume,
cdns->role = cdns_role_get(cdns->role_sw); //line redundant
struct cdns *cdns = usb_role_switch_get_drvdata(sw);
dev_get_drvdata(&sw->dev)
return dev->driver_data
return cdns->role;
"line redundant" equals to,
cdns->role = cdns->role;
So fix this if branch.
Fixes: 2cf2581cd229 ("usb: cdns3: add power lost support for system resume")
Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
---
drivers/usb/cdns3/core.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c
index 465e9267b49c..98980a23e1c2 100644
--- a/drivers/usb/cdns3/core.c
+++ b/drivers/usb/cdns3/core.c
@@ -529,9 +529,7 @@ int cdns_resume(struct cdns *cdns)
int ret = 0;
if (cdns_power_is_lost(cdns)) {
- if (cdns->role_sw) {
- cdns->role = cdns_role_get(cdns->role_sw);
- } else {
+ if (!cdns->role_sw) {
real_role = cdns_hw_role_state_machine(cdns);
if (real_role != cdns->role) {
ret = cdns_hw_role_switch(cdns);
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] usb: cdns3: remove redundant if branch
2024-12-30 8:38 [PATCH] usb: cdns3: remove redundant if branch xiehongyu1
@ 2024-12-30 12:01 ` Peter Chen
0 siblings, 0 replies; 2+ messages in thread
From: Peter Chen @ 2024-12-30 12:01 UTC (permalink / raw)
To: xiehongyu1; +Cc: pawell, rogerq, frank.li, gregkh, linux-usb, linux-kernel
On 24-12-30 16:38:55, xiehongyu1@kylinos.cn wrote:
> From: Hongyu Xie <xiehongyu1@kylinos.cn>
>
> cdns->role_sw->dev->driver_data gets set in routines showing bellow,
%s/bellow/below, others are okay for me.
> cdns_init
> sw_desc.driver_data = cdns;
> cdns->role_sw = usb_role_switch_register(dev, &sw_desc);
> dev_set_drvdata(&sw->dev, desc->driver_data);
>
> In cdns_resume,
> cdns->role = cdns_role_get(cdns->role_sw); //line redundant
> struct cdns *cdns = usb_role_switch_get_drvdata(sw);
> dev_get_drvdata(&sw->dev)
> return dev->driver_data
> return cdns->role;
>
> "line redundant" equals to,
> cdns->role = cdns->role;
>
> So fix this if branch.
>
> Fixes: 2cf2581cd229 ("usb: cdns3: add power lost support for system resume")
> Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
Acked-by: Peter Chen <peter.chen@kernel.org>
> ---
> drivers/usb/cdns3/core.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c
> index 465e9267b49c..98980a23e1c2 100644
> --- a/drivers/usb/cdns3/core.c
> +++ b/drivers/usb/cdns3/core.c
> @@ -529,9 +529,7 @@ int cdns_resume(struct cdns *cdns)
> int ret = 0;
>
> if (cdns_power_is_lost(cdns)) {
> - if (cdns->role_sw) {
> - cdns->role = cdns_role_get(cdns->role_sw);
> - } else {
> + if (!cdns->role_sw) {
> real_role = cdns_hw_role_state_machine(cdns);
> if (real_role != cdns->role) {
> ret = cdns_hw_role_switch(cdns);
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-12-30 12:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-30 8:38 [PATCH] usb: cdns3: remove redundant if branch xiehongyu1
2024-12-30 12:01 ` Peter Chen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).