Re: [PATCH][USB] xhci: replace if-elseif-else with switch-case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 05, 2009 at 03:54:23PM +0530, Viral Mehta wrote:
> Replace if-elseif-else with switch-case
> to keep the code consistent which is semantically same
>
> Switch-case is used here,
> http://www.spinics.net/lists/linux-usb/msg17201.html
> Making consistent at other places in usb/core
>
> Also easier to read and maintain when USB4.0, 5.0, ... comes
>
> CC: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
Tested-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx>
> Signed-off-by: Viral Mehta <viral.mehta@xxxxxxxxxxxxxx>
> ---
> This can be applied on top of xhci patches.
> It is against git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci.git
>
> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
> index 2870735..f94c110 100644
> --- a/drivers/usb/core/hcd.c
> +++ b/drivers/usb/core/hcd.c
> @@ -488,28 +488,39 @@ static int rh_call_control (struct usb_hcd *hcd, struct urb *urb)
> 	case DeviceRequest | USB_REQ_GET_DESCRIPTOR:
> 		switch (wValue & 0xff00) {
> 		case USB_DT_DEVICE << 8:
> -			if (hcd->driver->flags & HCD_USB3)
> +			switch (hcd->driver->flags & HCD_MASK) {
> +			case HCD_USB3:
> 				bufp = usb3_rh_dev_descriptor;
> -			else if (hcd->driver->flags & HCD_USB2)
> +				break;
> +			case HCD_USB2:
> 				bufp = usb2_rh_dev_descriptor;
> -			else if (hcd->driver->flags & HCD_USB11)
> +				break;
> +			case HCD_USB11:
> 				bufp = usb11_rh_dev_descriptor;
> -			else
> +				break;
> +			default:
> 				goto error;
> +			}
> 			len = 18;
> 			if (hcd->has_tt)
> 				patch_protocol = 1;
> 			break;
> 		case USB_DT_CONFIG << 8:
> -			if (hcd->driver->flags & HCD_USB3) {
> +			switch (hcd->driver->flags & HCD_MASK) {
> +			case HCD_USB3:
> 				bufp = ss_rh_config_descriptor;
> 				len = sizeof ss_rh_config_descriptor;
> -			} else if (hcd->driver->flags & HCD_USB2) {
> +				break;
> +			case HCD_USB2:
> 				bufp = hs_rh_config_descriptor;
> 				len = sizeof hs_rh_config_descriptor;
> -			} else {
> +				break;
> +			case HCD_USB11:
> 				bufp = fs_rh_config_descriptor;
> 				len = sizeof fs_rh_config_descriptor;
> +				break;
> +			default:
> +				goto error;
> 			}
> 			if (device_can_wakeup(&hcd->self.root_hub->dev))
> 				patch_wakeup = 1;
> --
> 1.5.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux