This is a continuation of this thread:
http://www.spinics.net/lists/linux-usb/msg78189.html
The prerequisite for providing the configfs interface for USB gadgets and
all their users is converting them to the new function interface from Sebastian.
This patch series serves the purpose stated above for mass storage,
usb Ethernet, FunctionFS and serial.
* The plan for the mass storage conversion is as follows:
- identify all users of mass storage (acm_ms, mass_storage, multi)
- get rid of #including the storage_common.c file by using separate compilation
- make f_mass_storage a separately compiled module with the new interface
a) create a header file
b) convert to the new function interface
c) provide compatibility for the mass storage's users
- convert the users of mass storage one by one to the new interface
- remove the compatibility for old style mass storage users
- merge separately compiled object files storage_common.o and f_mass_storage.o
into one module (at this point there is no purpose in having a separate utiltiy
module)
* The plan for usb ethernet conversion is as follows:
- identify all ethernet functions (ncm, eem, ecm, ecm subset, rndis)
- identify all ethernet functions' users
| ncm | cdc2 | ether | g_ffs | multi | nokia
=========================================================
f_ncm | v | | | | |
f_eem | | | v | | |
f_ecm | | v | v | v | v | v
f_subset | | | v | v | v |
f_rndis | | | v | v | v |
- for each identified function:
a) convert to the new function inteface
b) provide compatibility for function's users
c) convert users one-by-one
d) remove compatibility
* The plan for FunctionFS conversion is as follows:
- identify all FunctionFS users (f_fs, ccg)
- make ccg not sensitive to changes in mainline (if ccg is dropped then
patch #38 can be omitted)
- convert f_fs.c to the new function interface and provide compatibility
layer
- convert g_ffs.c to use the new interface
- remove compatibility
* The plan for usb serial conversion is as follows:
- identify all serial users (g_serial, nokia - in fact not a user)
- convert f_serial to the new function interface and provide compatibility
layer
- convert g_serial to use the new interface
- remove compatibility
The series depends on Sebastian's patches found here:
http://www.spinics.net/lists/linux-usb/msg78752.html
http://www.spinics.net/lists/linux-usb/msg78733.html
http://www.spinics.net/lists/linux-usb/msg78734.html
It also depends on the patch:
http://www.spinics.net/lists/stable/msg01591.html
Revision summary:
v3..v4:
- converted serial
v2..v3:
- changed the naming scheme for usb function modules, it is now
usb_f_xxxx.ko
- converted FunctionFS
v1..v2:
- introduced consistent naming scheme for usb function modules
- converted usb ethernet functions: ncm, eem, ecm, ecm subset, rndis
v1:
- converted mass storage and users: acm_ms, mass_storage, multi
Andrzej Pietrasiewicz (46):
usb/gadget: use consistent naming scheme for usb function modules
usb/gadget: create utility for mass_storage
usb/gadget: allow not clearing the memory for struct fsg_common
usb/gadget: create header file for f_mass_storage
usb/gadget: convert f_mass_storage to new function interface with
backward compatibility
usb/gadget: convert acm_ms to new function interface
usb/gadget: convert mass_storage to new function interface
usb/gadget: convert multi to new function interface
usb/gadget: f_mass_storage: remove compatibility layer
usb/gadget: merge u_ms.ko with f_mass_storage_usb.ko into
f_mass_storage_usb.ko
usb/gadget: u_ether: convert into module
usb/gadget: rndis: convert into module
usb/gadget: f_ncm: convert to new function interface with backward
compatibility
usb/gadget: ncm: convert to new function interface
usb/gadget: f_ncm: remove compatibility layer
usb/gadget: f_eem: convert to new function interface with backward
compatibility
usb/gadget: ether: convert to new interface of f_eem
usb/gadget: f_eem: remove compatibility layer
usb/gadget: f_ecm: convert to new function interface with backward
compatibility
usb/gadget: cdc2: convert to new interface of f_ecm
usb/gadget: ether: convert to new interface of f_ecm
usb/gadget: g_ffs: convert to new interface of f_ecm
usb/gadget: multi: convert to new interface of f_ecm
usb/gadget: nokia: convert to new interface of f_ecm
usb/gadget: f_ecm: remove compatibility layer
usb/gadget: multi: Remove unused include
usb/gadget: f_subset: convert to new function interface with backward
compatibility
usb/gadget: ether: convert to new interface of f_subset
usb/gadget: g_ffs: convert to new interface of f_subset
usb/gadget: f_subset: remove compatibility layer
usb/gadget: f_rndis: convert to new function interface with backward
compatibility
usb/gadget: ether: convert to new interface of f_rndis
usb/gadget: g_ffs: convert to new interface of f_rndis
usb/gadget: multi: convert to new interface of f_rndis
usb/gadget: f_rndis: remove compatibility layer
usb/gadget: g_ffs: use consistent naming for config bind functions
usb/gadget: merge f_rndis_usb.ko with u_rndis.ko into f_rndis_usb.ko
staging/ccg: provide function prototypes locally
usb/gadget: f_fs: provide function prototypes locally
usb/gadget: f_fs: convert to new function interface with backward
compatibility
usb/gadget: g_ffs: convert to new interface of f_fs
usb/gadget: f_fs: remove compatibility layer
usb/gadget: nokia: remove unused include
usb/gadget: f_serial: convert to new function interface with backward
compatibility
usb/gadget: serial: convert to new interface of f_serial
usb/gadget: f_serial: remove compatibility layer
drivers/staging/ccg/f_fs.c | 29 +++-
drivers/usb/gadget/Kconfig | 51 ++++++
drivers/usb/gadget/Makefile | 24 +++-
drivers/usb/gadget/acm_ms.c | 77 +++++----
drivers/usb/gadget/cdc2.c | 57 +++++--
drivers/usb/gadget/ether.c | 161 ++++++++++++++++--
drivers/usb/gadget/f_ecm.c | 108 +++++++-----
drivers/usb/gadget/f_eem.c | 124 ++++++++------
drivers/usb/gadget/f_fs.c | 324 +++++++++--------------------------
drivers/usb/gadget/f_fs.h | 246 ++++++++++++++++++++++++++
drivers/usb/gadget/f_mass_storage.c | 286 +++++++++++--------------------
drivers/usb/gadget/f_mass_storage.h | 196 +++++++++++++++++++++
drivers/usb/gadget/f_ncm.c | 150 +++++++++-------
drivers/usb/gadget/f_rndis.c | 129 +++++++++-----
drivers/usb/gadget/f_serial.c | 121 ++++++++-----
drivers/usb/gadget/f_subset.c | 101 +++++++-----
drivers/usb/gadget/g_ffs.c | 266 ++++++++++++++++++++++++++--
drivers/usb/gadget/mass_storage.c | 122 +++++++++-----
drivers/usb/gadget/multi.c | 150 +++++++++++++----
drivers/usb/gadget/ncm.c | 50 ++++--
drivers/usb/gadget/nokia.c | 52 +++++-
drivers/usb/gadget/rndis.c | 16 ++
drivers/usb/gadget/rndis.h | 1 +
drivers/usb/gadget/serial.c | 24 +--
drivers/usb/gadget/storage_common.c | 317 ++++++-----------------------------
drivers/usb/gadget/storage_common.h | 208 ++++++++++++++++++++++
drivers/usb/gadget/u_ecm.h | 27 +++
drivers/usb/gadget/u_eem.h | 26 +++
drivers/usb/gadget/u_ether.c | 7 +
drivers/usb/gadget/u_ether.h | 44 -----
drivers/usb/gadget/u_gether.h | 27 +++
drivers/usb/gadget/u_ncm.h | 27 +++
drivers/usb/gadget/u_rndis.h | 29 +++
include/linux/usb/functionfs.h | 36 ----
34 files changed, 2353 insertions(+), 1260 deletions(-)
create mode 100644 drivers/usb/gadget/f_fs.h
create mode 100644 drivers/usb/gadget/f_mass_storage.h
create mode 100644 drivers/usb/gadget/storage_common.h
create mode 100644 drivers/usb/gadget/u_ecm.h
create mode 100644 drivers/usb/gadget/u_eem.h
create mode 100644 drivers/usb/gadget/u_gether.h
create mode 100644 drivers/usb/gadget/u_ncm.h
create mode 100644 drivers/usb/gadget/u_rndis.h
delete mode 100644 include/linux/usb/functionfs.h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html