staging: octeon-usb: cvmx-usb: delete redundant example code
Delete redundant example code found in comments. It's already there in the driver proper. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a7c679482d
commit
67f70fc624
@ -217,214 +217,7 @@
|
||||
* messages similar to the usb 2.0 spec for hub control and
|
||||
* status. For these systems it may be necessary to write
|
||||
* function to decode standard usb control messages into
|
||||
* equivalent cvmx-usb API calls. As an example, the following
|
||||
* code is used under Linux for some of the basic hub control
|
||||
* messages.
|
||||
*
|
||||
* @code
|
||||
* static int octeon_usb_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex, char *buf, u16 wLength)
|
||||
* {
|
||||
* cvmx_usb_state_t *usb = (cvmx_usb_state_t *)hcd->hcd_priv;
|
||||
* cvmx_usb_port_status_t usb_port_status;
|
||||
* int port_status;
|
||||
* struct usb_hub_descriptor *desc;
|
||||
* unsigned long flags;
|
||||
*
|
||||
* switch (typeReq)
|
||||
* {
|
||||
* case ClearHubFeature:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: ClearHubFeature\n");
|
||||
* switch (wValue)
|
||||
* {
|
||||
* case C_HUB_LOCAL_POWER:
|
||||
* case C_HUB_OVER_CURRENT:
|
||||
* // Nothing required here
|
||||
* break;
|
||||
* default:
|
||||
* return -EINVAL;
|
||||
* }
|
||||
* break;
|
||||
* case ClearPortFeature:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: ClearPortFeature");
|
||||
* if (wIndex != 1)
|
||||
* {
|
||||
* DEBUG_ROOT_HUB(" INVALID\n");
|
||||
* return -EINVAL;
|
||||
* }
|
||||
*
|
||||
* switch (wValue)
|
||||
* {
|
||||
* case USB_PORT_FEAT_ENABLE:
|
||||
* DEBUG_ROOT_HUB(" ENABLE");
|
||||
* local_irq_save(flags);
|
||||
* cvmx_usb_disable(usb);
|
||||
* local_irq_restore(flags);
|
||||
* break;
|
||||
* case USB_PORT_FEAT_SUSPEND:
|
||||
* DEBUG_ROOT_HUB(" SUSPEND");
|
||||
* // Not supported on Octeon
|
||||
* break;
|
||||
* case USB_PORT_FEAT_POWER:
|
||||
* DEBUG_ROOT_HUB(" POWER");
|
||||
* // Not supported on Octeon
|
||||
* break;
|
||||
* case USB_PORT_FEAT_INDICATOR:
|
||||
* DEBUG_ROOT_HUB(" INDICATOR");
|
||||
* // Port inidicator not supported
|
||||
* break;
|
||||
* case USB_PORT_FEAT_C_CONNECTION:
|
||||
* DEBUG_ROOT_HUB(" C_CONNECTION");
|
||||
* // Clears drivers internal connect status change flag
|
||||
* cvmx_usb_set_status(usb, cvmx_usb_get_status(usb));
|
||||
* break;
|
||||
* case USB_PORT_FEAT_C_RESET:
|
||||
* DEBUG_ROOT_HUB(" C_RESET");
|
||||
* // Clears the driver's internal Port Reset Change flag
|
||||
* cvmx_usb_set_status(usb, cvmx_usb_get_status(usb));
|
||||
* break;
|
||||
* case USB_PORT_FEAT_C_ENABLE:
|
||||
* DEBUG_ROOT_HUB(" C_ENABLE");
|
||||
* // Clears the driver's internal Port Enable/Disable Change flag
|
||||
* cvmx_usb_set_status(usb, cvmx_usb_get_status(usb));
|
||||
* break;
|
||||
* case USB_PORT_FEAT_C_SUSPEND:
|
||||
* DEBUG_ROOT_HUB(" C_SUSPEND");
|
||||
* // Clears the driver's internal Port Suspend Change flag,
|
||||
* which is set when resume signaling on the host port is
|
||||
* complete
|
||||
* break;
|
||||
* case USB_PORT_FEAT_C_OVER_CURRENT:
|
||||
* DEBUG_ROOT_HUB(" C_OVER_CURRENT");
|
||||
* // Clears the driver's overcurrent Change flag
|
||||
* cvmx_usb_set_status(usb, cvmx_usb_get_status(usb));
|
||||
* break;
|
||||
* default:
|
||||
* DEBUG_ROOT_HUB(" UNKNOWN\n");
|
||||
* return -EINVAL;
|
||||
* }
|
||||
* DEBUG_ROOT_HUB("\n");
|
||||
* break;
|
||||
* case GetHubDescriptor:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: GetHubDescriptor\n");
|
||||
* desc = (struct usb_hub_descriptor *)buf;
|
||||
* desc->bDescLength = 9;
|
||||
* desc->bDescriptorType = 0x29;
|
||||
* desc->bNbrPorts = 1;
|
||||
* desc->wHubCharacteristics = 0x08;
|
||||
* desc->bPwrOn2PwrGood = 1;
|
||||
* desc->bHubContrCurrent = 0;
|
||||
* desc->bitmap[0] = 0;
|
||||
* desc->bitmap[1] = 0xff;
|
||||
* break;
|
||||
* case GetHubStatus:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: GetHubStatus\n");
|
||||
* *(__le32 *)buf = 0;
|
||||
* break;
|
||||
* case GetPortStatus:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: GetPortStatus");
|
||||
* if (wIndex != 1)
|
||||
* {
|
||||
* DEBUG_ROOT_HUB(" INVALID\n");
|
||||
* return -EINVAL;
|
||||
* }
|
||||
*
|
||||
* usb_port_status = cvmx_usb_get_status(usb);
|
||||
* port_status = 0;
|
||||
*
|
||||
* if (usb_port_status.connect_change)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_C_CONNECTION);
|
||||
* DEBUG_ROOT_HUB(" C_CONNECTION");
|
||||
* }
|
||||
*
|
||||
* if (usb_port_status.port_enabled)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_C_ENABLE);
|
||||
* DEBUG_ROOT_HUB(" C_ENABLE");
|
||||
* }
|
||||
*
|
||||
* if (usb_port_status.connected)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_CONNECTION);
|
||||
* DEBUG_ROOT_HUB(" CONNECTION");
|
||||
* }
|
||||
*
|
||||
* if (usb_port_status.port_enabled)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_ENABLE);
|
||||
* DEBUG_ROOT_HUB(" ENABLE");
|
||||
* }
|
||||
*
|
||||
* if (usb_port_status.port_over_current)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_OVER_CURRENT);
|
||||
* DEBUG_ROOT_HUB(" OVER_CURRENT");
|
||||
* }
|
||||
*
|
||||
* if (usb_port_status.port_powered)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_POWER);
|
||||
* DEBUG_ROOT_HUB(" POWER");
|
||||
* }
|
||||
*
|
||||
* if (usb_port_status.port_speed == CVMX_USB_SPEED_HIGH)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_HIGHSPEED);
|
||||
* DEBUG_ROOT_HUB(" HIGHSPEED");
|
||||
* }
|
||||
* else if (usb_port_status.port_speed == CVMX_USB_SPEED_LOW)
|
||||
* {
|
||||
* port_status |= (1 << USB_PORT_FEAT_LOWSPEED);
|
||||
* DEBUG_ROOT_HUB(" LOWSPEED");
|
||||
* }
|
||||
*
|
||||
* *((__le32 *)buf) = cpu_to_le32(port_status);
|
||||
* DEBUG_ROOT_HUB("\n");
|
||||
* break;
|
||||
* case SetHubFeature:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: SetHubFeature\n");
|
||||
* // No HUB features supported
|
||||
* break;
|
||||
* case SetPortFeature:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: SetPortFeature");
|
||||
* if (wIndex != 1)
|
||||
* {
|
||||
* DEBUG_ROOT_HUB(" INVALID\n");
|
||||
* return -EINVAL;
|
||||
* }
|
||||
*
|
||||
* switch (wValue)
|
||||
* {
|
||||
* case USB_PORT_FEAT_SUSPEND:
|
||||
* DEBUG_ROOT_HUB(" SUSPEND\n");
|
||||
* return -EINVAL;
|
||||
* case USB_PORT_FEAT_POWER:
|
||||
* DEBUG_ROOT_HUB(" POWER\n");
|
||||
* return -EINVAL;
|
||||
* case USB_PORT_FEAT_RESET:
|
||||
* DEBUG_ROOT_HUB(" RESET\n");
|
||||
* local_irq_save(flags);
|
||||
* cvmx_usb_disable(usb);
|
||||
* if (cvmx_usb_enable(usb))
|
||||
* DEBUG_ERROR("Failed to enable the port\n");
|
||||
* local_irq_restore(flags);
|
||||
* return 0;
|
||||
* case USB_PORT_FEAT_INDICATOR:
|
||||
* DEBUG_ROOT_HUB(" INDICATOR\n");
|
||||
* // Not supported
|
||||
* break;
|
||||
* default:
|
||||
* DEBUG_ROOT_HUB(" UNKNOWN\n");
|
||||
* return -EINVAL;
|
||||
* }
|
||||
* break;
|
||||
* default:
|
||||
* DEBUG_ROOT_HUB("OcteonUSB: Unknown root hub request\n");
|
||||
* return -EINVAL;
|
||||
* }
|
||||
* return 0;
|
||||
* }
|
||||
* @endcode
|
||||
* equivalent cvmx-usb API calls.
|
||||
*
|
||||
* <h2>Interrupts</h2>
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user