summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRobert Baldyga <r.baldyga@samsung.com>2014-02-10 10:42:44 +0100
committerChanho Park <chanho61.park@samsung.com>2014-11-18 11:46:57 +0900
commit44406bab98b5eda33dca89de9c64075c6217c9f6 (patch)
treec3a15737fce1aefe4ef1d47e6fe593a1e293ac61 /tools
parentbfcdd725157b9e5a1a6927b118d43c7762f72db8 (diff)
downloadlinux-3.10-44406bab98b5eda33dca89de9c64075c6217c9f6.tar.gz
linux-3.10-44406bab98b5eda33dca89de9c64075c6217c9f6.tar.bz2
linux-3.10-44406bab98b5eda33dca89de9c64075c6217c9f6.zip
usb: gadget: f_fs: add aio support
This patch adds asynchronous I/O support for FunctionFS endpoint files. It adds ffs_epfile_aio_write() and ffs_epfile_aio_read() functions responsible for preparing AIO operations. It also modifies ffs_epfile_io() function, adding aio handling code. Instead of extending list of parameters of this function, there is new struct ffs_io_data which contains all information needed to perform I/O operation. Pointer to this struct replaces "buf" and "len" parameters of ffs_epfile_io() function. Allocated buffer is freed immediately only after sync operation, because in async IO it's freed in complete funcion. For each async operation an USB request is allocated, because it allows to have more than one request queued on single endpoint. According to changes in ffs_epfile_io() function, functions ffs_epfile_write() and ffs_epfile_read() are updated to use new API. For asynchronous I/O operations there is new request complete function named ffs_epfile_async_io_complete(), which completes AIO operation, and frees used memory. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com> Acked-by: Michal Nazarewicz <mina86@mina86.com>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions