From c17d30f20466861a244c603665c580feb7758abf Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Tue, 4 Feb 2014 00:10:41 +0100 Subject: utils/hwstub: completely rework the protocol, drop unused features The protocol has evolved a lot during the 2.x.y lifetime, bringing more features which later got unused. This commit removes all the unused stuff and simplifies everything: - drop the feature mask: everything is mandatory or stalled on error - remove the info request and put all static information in standard USB descriptors which are part of the configuration descriptor (and can be retrieved using the standard GetDescriptor request). - remove the USB interface, we had only one anyway - remove all endpoint descriptors - remove the exit/atexit stuff, it never worked as intended anyway - update the hwstub library and make it able to handle any device - update the tools (mostly renaming and removing of code) Change-Id: I1872bba7f4177fc3891180e8f944aab88f5bde31 --- utils/hwstub/lib/hwstub.h | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'utils/hwstub/lib/hwstub.h') diff --git a/utils/hwstub/lib/hwstub.h b/utils/hwstub/lib/hwstub.h index f89bce5de9..69fdc63988 100644 --- a/utils/hwstub/lib/hwstub.h +++ b/utils/hwstub/lib/hwstub.h @@ -34,22 +34,15 @@ extern "C" { * */ -struct hwstub_device_t -{ - libusb_device_handle *handle; - int intf; - int bulk_in; - int bulk_out; - int int_in; -}; +struct hwstub_device_t; -/* Requires then ->handle field only. Returns 0 on success */ -int hwstub_probe(struct hwstub_device_t *dev); -/* Returns 0 on success */ +/* Returns NULL on error */ +struct hwstub_device_t *hwstub_open(libusb_device_handle *handle); +/* Returns 0 on success. Does *NOT* close the usb handle */ int hwstub_release(struct hwstub_device_t *dev); /* Returns number of bytes filled */ -int hwstub_get_info(struct hwstub_device_t *dev, uint16_t idx, void *info, size_t sz); +int hwstub_get_desc(struct hwstub_device_t *dev, uint16_t desc, void *info, size_t sz); /* Returns number of bytes filled */ int hwstub_get_log(struct hwstub_device_t *dev, void *buf, size_t sz); /* Returns number of bytes written/read or <0 on error */ @@ -57,12 +50,6 @@ int hwstub_rw_mem(struct hwstub_device_t *dev, int read, uint32_t addr, void *bu /* Returns <0 on error */ int hwstub_call(struct hwstub_device_t *dev, uint32_t addr); int hwstub_jump(struct hwstub_device_t *dev, uint32_t addr); -/* Returns <0 on error */ -int hwstub_atexit(struct hwstub_device_t *dev, int action); -int hwstub_exit(struct hwstub_device_t *dev); - -const char *hwstub_get_product_string(struct usb_resp_info_stmp_t *stmp); -const char *hwstub_get_rev_string(struct usb_resp_info_stmp_t *stmp); #ifdef __cplusplus } // extern "C" -- cgit v1.2.3