Hi, Benjamin Herrenschmidt <[email protected]> writes:
<snip>
> +static int ast_vhub_rep_desc(struct ast_vhub_ep *ep,
> + u8 desc_type, u16 len)
> +{
> + const void *desc;
> + size_t dsize;
> +
> + EPDBG(ep, "GET_DESCRIPTOR(type:%d)\n", desc_type);
> + switch(desc_type) {
> + case USB_DT_DEVICE:
> + desc = &ast_vhub_dev_desc;
> + dsize = USB_DT_DEVICE_SIZE;
> + break;
> + case USB_DT_CONFIG:
> + desc = &ast_vhub_conf_desc;
> + dsize = AST_VHUB_CONF_DESC_SIZE;
> + break;
> + case USB_DT_HUB:
> + desc = &ast_vhub_hub_desc;
> + dsize = AST_VHUB_HUB_DESC_SIZE;
> + break;
> + default:
> + return std_req_stall;
> + }
> + if (dsize < len)
> + len = dsize;
> + /*
> + * This is our limit for hub replies in our current
> + * implementation, keeps things simpler.
> + */
> + if (WARN_ON(len >= AST_VHUB_EP0_MAX_PACKET))
> + len = AST_VHUB_EP0_MAX_PACKET - 1;
> +
> + /*
> + * Copy first to EP buffer and send from there, so
> + * we can do some in-place patching if needed
> + */
> + memcpy(ep->buf, desc, len);
still fails to compile here the same way.
$ gcc --version
gcc (Debian 7.3.0-12) 7.3.0
> +
> + /* Patch it if forcing USB1 */
> + if (desc_type == USB_DT_DEVICE && ep->vhub->force_usb1)
> + ast_vhub_patch_dev_desc_usb1(ep->buf);
> +
> + /* Shoot it from the EP buffer */
> + return ast_vhub_reply(ep, NULL, len);
> +}
> +
> +/* copied from hdc.c */
> +static unsigned
> +ascii2desc(char const *s, u8 *buf, unsigned len)
seems it would be best to move this helper to usb common, or something
like that. Copying is not a good idea.
> +static int ast_vhub_rep_string(struct ast_vhub_ep *ep,
> + u8 string_id, u16 lang_id,
> + u16 len)
spaces for indentation?
--
balbi
signature.asc
Description: PGP signature
