usb: dwc3: Refactor dwc3_mode_show
Use dwc3_mode_string as the single source of truth for mode-to-string conversion. Signed-off-by: Kuen-Han Tsai <khtsai@google.com> Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://lore.kernel.org/r/20250822092411.173519-2-khtsai@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>pull/1354/merge
parent
55f4ac8f93
commit
4c9860fbe6
|
|
@ -402,6 +402,7 @@ static int dwc3_mode_show(struct seq_file *s, void *unused)
|
||||||
struct dwc3 *dwc = s->private;
|
struct dwc3 *dwc = s->private;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u32 reg;
|
u32 reg;
|
||||||
|
u32 mode;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = pm_runtime_resume_and_get(dwc->dev);
|
ret = pm_runtime_resume_and_get(dwc->dev);
|
||||||
|
|
@ -412,18 +413,15 @@ static int dwc3_mode_show(struct seq_file *s, void *unused)
|
||||||
reg = dwc3_readl(dwc->regs, DWC3_GCTL);
|
reg = dwc3_readl(dwc->regs, DWC3_GCTL);
|
||||||
spin_unlock_irqrestore(&dwc->lock, flags);
|
spin_unlock_irqrestore(&dwc->lock, flags);
|
||||||
|
|
||||||
switch (DWC3_GCTL_PRTCAP(reg)) {
|
mode = DWC3_GCTL_PRTCAP(reg);
|
||||||
|
switch (mode) {
|
||||||
case DWC3_GCTL_PRTCAP_HOST:
|
case DWC3_GCTL_PRTCAP_HOST:
|
||||||
seq_puts(s, "host\n");
|
|
||||||
break;
|
|
||||||
case DWC3_GCTL_PRTCAP_DEVICE:
|
case DWC3_GCTL_PRTCAP_DEVICE:
|
||||||
seq_puts(s, "device\n");
|
|
||||||
break;
|
|
||||||
case DWC3_GCTL_PRTCAP_OTG:
|
case DWC3_GCTL_PRTCAP_OTG:
|
||||||
seq_puts(s, "otg\n");
|
seq_printf(s, "%s\n", dwc3_mode_string(mode));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
seq_printf(s, "UNKNOWN %08x\n", DWC3_GCTL_PRTCAP(reg));
|
seq_printf(s, "UNKNOWN %08x\n", mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
pm_runtime_put_sync(dwc->dev);
|
pm_runtime_put_sync(dwc->dev);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue