forked from len0rd/rockbox
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
This commit is contained in:
parent
6d64111b3c
commit
c17d30f204
10 changed files with 279 additions and 653 deletions
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue