Re: [PATCH RESEND v7 2/2] usb: gadget: f_fs: virtual endpoint address mapping

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

 



On 09/08/2014 03:47 PM, Felipe Balbi wrote:
> Hi,
> 
> On Mon, Sep 08, 2014 at 09:57:00AM +0200, Robert Baldyga wrote:
>> This patch introduces virtual endpoint address mapping. It separates
>> function logic form physical endpoint addresses making it more hardware
>> independent.
>>
>> Following modifications changes user space API, so to enable them user
>> have to switch on the FUNCTIONFS_VIRTUAL_ADDR flag in descriptors.
>>
>> Endpoints are now refered using virtual endpoint addresses chosen by
>> user in endpoint descpriptors. This applies to each context when endpoint
>> address can be used:
>> - when accessing endpoint files in FunctionFS filesystemi (in file name),
>> - in setup requests directed to specific endpoint (in wIndex field),
>> - in descriptors returned by FUNCTIONFS_ENDPOINT_DESC ioctl.
>>
>> In endpoint file names the endpoint address number is formatted as
>> double-digit hexadecimal value ("ep%02x") which has few advantages -
>> it is easy to parse, allows to easly recognize endpoint direction basing
>> on its name (IN endpoint number starts with digit 8, and OUT with 0)
>> which can be useful for debugging purpose, and it makes easier to introduce
>> further features allowing to use each endpoint number in both directions
>> to have more endpoints available for function if hardware supports this
>> (for example we could have ep01 which is endpoint 1 with OUT direction,
>> and ep81 which is endpoint 1 with IN direction).
>>
>> Physical endpoint address can be still obtained using ioctl named
>> FUNCTIONFS_ENDPOINT_REVMAP, but now it's not neccesary to handle
>> USB transactions properly.
>>
>> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx>
>> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
> 
> after this patch I get build errors:
> 
> drivers/usb/gadget/function/f_fs.c: In function ‘ffs_epfiles_create’:
> drivers/usb/gadget/function/f_fs.c:1555:40: error: ‘struct ffs_data’ has no member named ‘eps_addrmap’
>     sprintf(epfiles->name, "ep%02x", ffs->eps_addrmap[i]);
>                                         ^
> drivers/usb/gadget/function/f_fs.c: In function ‘ffs_func_setup’:
> drivers/usb/gadget/function/f_fs.c:2900:19: error: ‘struct ffs_data’ has no member named ‘eps_addrmap’
>     ret = func->ffs->eps_addrmap[ret];
>                    ^
> make[3]: *** [drivers/usb/gadget/function/f_fs.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [drivers/usb/gadget/function] Error 2
> make[1]: *** [drivers/usb/gadget] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make: *** [drivers/usb/] Error 2
> 

Array "eps_addrmap" was introduced in patch "usb: gadget: f_fs: fix the
redundant ep files problem". I have received mails from you and Greg
that it's already applied to usb tree, so I have assumed that there is
no need to include it to this patchset. I can resend this patch if it's
needed.
--
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