Re: [PATCH] usb: gadget: Allow function access to device ID data during bind()

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

 



On Tue, Mar 30, 2010 at 01:59:33PM +0200, Robert Lukassen wrote:
> This is a patch that makes sure that the device ID data (idVendor,
> idProduct and bcdDevice) are assigned to the descriptor in the cdev
> structure *before* the composite gadget starts binding. This allows the
> composite driver, and all the composite functions it uses, access to
> that data.
> 
> In one of the composite functions we created, we needed to register an
> input device and wanted to use the idVendor, idProduct and bcdDevice
> codes to properly initialize the id field of the input device. We could
> not do that because the idVendor, idProduct and bcdDevice values were
> only set in the cdec structure *after* the composite->bind(cdev) call.
> 
> Signed-off-by: Robert Lukassen <robert.lukassen@xxxxxxxxxx>
> 
> diff --git a/drivers/usb/gadget/composite.c
> b/drivers/usb/gadget/composite.c index 09289bb..65115da 100644
> --- a/drivers/usb/gadget/composite.c
> +++ b/drivers/usb/gadget/composite.c
> @@ -1004,6 +1004,14 @@ static int __init composite_bind(struct
> usb_gadget *gadget)
>          */
>         usb_ep_autoconfig_reset(cdev->gadget);
>  
> +       /* standardized runtime overrides for device ID data */
> +       if (idVendor)
> +               cdev->desc.idVendor = cpu_to_le16(idVendor);
> +       if (idProduct)
> +               cdev->desc.idProduct = cpu_to_le16(idProduct);
> +       if (bcdDevice)
> +               cdev->desc.bcdDevice = cpu_to_le16(bcdDevice);
> +
>         /* composite gadget needs to assign strings for whole device
> (like

Your patch is line-wrapped and tabs converted to spaces, making it
impossible to apply :(

care to redo it?

thanks,

greg k-h
--
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