[PATCH v4 00/46] Towards configfs - usb functions conversion to the new interface

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

 



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 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