hw/usb/ohci: Move a function next to where it is used
The ohci_port_set_if_connected() function is only used by ohci_port_set_status(), move next to it to have them at the same place. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <46411d4980ab0fba61ab0d2209a939fdc41eb573.1676916640.git.balaton@eik.bme.hu> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
1e58e7a0d0
commit
ef680088f7
@ -1271,36 +1271,6 @@ void ohci_bus_stop(OHCIState *ohci)
|
||||
timer_del(ohci->eof_timer);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sets a flag in a port status reg but only set it if the port is connected.
|
||||
* If not set ConnectStatusChange flag. If flag is enabled return 1.
|
||||
*/
|
||||
static int ohci_port_set_if_connected(OHCIState *ohci, int i, uint32_t val)
|
||||
{
|
||||
int ret = 1;
|
||||
|
||||
/* writing a 0 has no effect */
|
||||
if (val == 0) {
|
||||
return 0;
|
||||
}
|
||||
/* If CurrentConnectStatus is cleared we set ConnectStatusChange */
|
||||
if (!(ohci->rhport[i].ctrl & OHCI_PORT_CCS)) {
|
||||
ohci->rhport[i].ctrl |= OHCI_PORT_CSC;
|
||||
if (ohci->rhstatus & OHCI_RHS_DRWE) {
|
||||
/* TODO: CSC is a wakeup event */
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ohci->rhport[i].ctrl & val) {
|
||||
ret = 0;
|
||||
}
|
||||
/* set the bit */
|
||||
ohci->rhport[i].ctrl |= val;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Frame interval toggle is manipulated by the hcd only */
|
||||
static void ohci_set_frame_interval(OHCIState *ohci, uint16_t val)
|
||||
{
|
||||
@ -1422,6 +1392,36 @@ static void ohci_set_hub_status(OHCIState *ohci, uint32_t val)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Sets a flag in a port status reg but only set it if the port is connected.
|
||||
* If not set ConnectStatusChange flag. If flag is enabled return 1.
|
||||
*/
|
||||
static int ohci_port_set_if_connected(OHCIState *ohci, int i, uint32_t val)
|
||||
{
|
||||
int ret = 1;
|
||||
|
||||
/* writing a 0 has no effect */
|
||||
if (val == 0) {
|
||||
return 0;
|
||||
}
|
||||
/* If CurrentConnectStatus is cleared we set ConnectStatusChange */
|
||||
if (!(ohci->rhport[i].ctrl & OHCI_PORT_CCS)) {
|
||||
ohci->rhport[i].ctrl |= OHCI_PORT_CSC;
|
||||
if (ohci->rhstatus & OHCI_RHS_DRWE) {
|
||||
/* TODO: CSC is a wakeup event */
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ohci->rhport[i].ctrl & val) {
|
||||
ret = 0;
|
||||
}
|
||||
/* set the bit */
|
||||
ohci->rhport[i].ctrl |= val;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Set root hub port status */
|
||||
static void ohci_port_set_status(OHCIState *ohci, int portnum, uint32_t val)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user