Re: [PATCH v6 part1 3/8] usb: cleanup setting udev->removable from port_dev->connect_type

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

 



On Fri, 28 Feb 2014, Dan Williams wrote:

> Once usb-acpi has set the port's connect type the usb_device's
> ->removable attribute can be set in the standard location
> set_usb_port_removable().
> 
> This also changes behavior in the case where the firmware says that the
> port connect type is unknown.  In that case just use the default setting
> determined from the hub descriptor.
> 
> Suggested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>

Good clean-up.

> @@ -155,36 +156,15 @@ static struct acpi_device *usb_acpi_find_companion(struct device *dev)
>  	 */
>  	if (is_usb_device(dev)) {
>  		udev = to_usb_device(dev);
> -		port1 = udev->portnum;
> -		if (udev->parent) {
> -			struct usb_hub *hub;
> -
> -			hub = usb_hub_to_struct_hub(udev->parent);
> -			/*
> -			 * According usb port's connect type to set usb device's
> -			 * removability.
> -			 */
> -			switch (hub->ports[port1 - 1]->connect_type) {
> -			case USB_PORT_CONNECT_TYPE_HOT_PLUG:
> -				udev->removable = USB_DEVICE_REMOVABLE;
> -				break;
> -			case USB_PORT_CONNECT_TYPE_HARD_WIRED:
> -				udev->removable = USB_DEVICE_FIXED;
> -				break;
> -			default:
> -				udev->removable = USB_DEVICE_REMOVABLE_UNKNOWN;
> -				break;
> -			}
> -
> +		if (udev->parent)
>  			return NULL;
> -		}
>  
>  		/* root hub's parent is the usb hcd. */
> -		return acpi_find_child_device(ACPI_COMPANION(dev->parent),
> -				port1, false);
> +		port1 = udev->portnum;
> +		adev = ACPI_COMPANION(dev->parent);
> +		return acpi_find_child_device(adev, port1, false);

Does this entirely make sense?  As far as I can see, port1 is never
going to be anything other than 0.  After all, root hubs don't have
upstream ports.  I don't know what ACPI expects to see here.

Alan Stern

--
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