[PATCH 00/25] Bug fixes, feature enhancements and API rework.

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

 



Hi Matt,

as we have spoken some time ago, I have prepared patches which
hides definitions of internal library structures.

User shouldn't have access to internal libraries structures which he could
modify. To avoid this I have provided some public structures which contains 
attributes of gadget/config/function and strings. This allowed to remove 
definitions of gadget/function/config from header file and provide only nice
typedefs for them. I have also done some API upgrade to allow setting of all
attributes with only one function call. I have also changed the sizes and order 
of attributes in public structures to be consistent with USB standard and
libusb implementation. This allow for example to memcpy() from 
libusb_device_descriptor to usbg_gadget_attributes.

Moreover, there were some bugs and missing functionality. I have fixed some
wrong paths and add missing API functions.

I hope that you will enjoy this code and merge it when it will be possible.

I would like also to remind you that you didn't merge the previous series
of patches [1]. This series depends on previous one so please update github 
repository.

Footnotes:

1 - http://permalink.gmane.org/gmane.linux.usb.general/102224

--
BR's
Krzysztof Opasiak
Samsung R&D Institute Poland
Samsung Electronics

Krzysztof Opasiak (25):
  libusbg: Separate gadget attributes from gadget.
  libusbg: Change gadget attributes size and names.
  libusbg: Separate gadget strings from gadget.
  libusbg: Use dedicated macro instead of copy-paste code.
  libusbg: Update strings only when writting US English strings.
  libsubg: Add missing set vendor/product functions.
  libusbg: Fix wrong paths while setting gadget attributes.
  libusbg: Add functions to set all strs and attrs with one call.
  libusbg: Add getters for gadget strings and attributes.
  libusbg: Add getter for gadget name and udc.
  libusbg: Change for each macros to avoid direct access to fields.
  libusbg: Add getter for configfs path in state.
  libusbg: Separate config attrs and strs form configuration.
  libusbg: Add set/get config attrs/strings functions.
  libusbg: Add getter for config name.
  libusbg: Remove function_names from header file.
  libusbg: Add functions for get/set function attributes.
  libusbg: Add getter for function name.
  libusbg: Add getter for binding name and target.
  libusbg: Hide definition of state structure.
  libusbg: Hide definition of gadget structure.
  libusbg: Hide definition of function structure.
  libusbg: Hide definition of binding structure.
  libusbg: Rename all public structures to usbg convention.
  libusbg: Update examples to new API.

 examples/gadget-acm-ecm.c |   46 ++-
 examples/show-gadgets.c   |  107 ++++---
 include/usbg/usbg.h       |  575 +++++++++++++++++++++++++---------
 src/usbg.c                |  753 +++++++++++++++++++++++++++++++++++----------
 4 files changed, 1115 insertions(+), 366 deletions(-)

-- 
1.7.9.5

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