Skip to content

Commit

Permalink
hosted/probe_info: Resolve issues with BMP only build
Browse files Browse the repository at this point in the history
  • Loading branch information
sidprice authored and dragonmux committed Jul 18, 2023
1 parent 1e68d06 commit 1f0c7ee
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
10 changes: 7 additions & 3 deletions src/platforms/hosted/probe_info.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@
*/

#include <stdlib.h>
#include <libusb.h>

#include "probe_info.h"
#include "general.h"

Expand All @@ -46,6 +44,9 @@ probe_info_s *probe_info_add_by_serial(probe_info_s *const list, const bmp_type_
probe_info_s *probe_info_add_by_id(probe_info_s *const list, const bmp_type_t type, libusb_device *device, uint16_t vid,
uint16_t pid, const char *const mfr, const char *const product, const char *const serial, const char *const version)
{
#if HOSTED_BMP_ONLY == 1
(void)device;
#endif
probe_info_s *probe_info = malloc(sizeof(*probe_info));
if (!probe_info) {
DEBUG_INFO("Fatal: Failed to allocate memory for a probe info structure\n");
Expand All @@ -55,8 +56,10 @@ probe_info_s *probe_info_add_by_id(probe_info_s *const list, const bmp_type_t ty
probe_info->type = type;
probe_info->vid = vid;
probe_info->pid = pid;
#if HOSTED_BMP_ONLY == 0
if (device != NULL)
probe_info->libusb_dev = libusb_ref_device(device);
#endif
probe_info->manufacturer = mfr;
probe_info->product = product;
probe_info->serial = serial;
Expand Down Expand Up @@ -139,6 +142,7 @@ void probe_info_to_bmp_info(const probe_info_s *const probe, bmp_info_s *info)
DEBUG_ERROR("Probe descriptor string '%s (%s)' exceeds allowable manufacturer description length\n",
probe->product, probe->manufacturer);
}

#if HOSTED_BMP_ONLY == 0
info->libusb_dev = probe->libusb_dev;
#endif
}
10 changes: 8 additions & 2 deletions src/platforms/hosted/probe_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,17 @@
#include "platform.h"
#include "bmp_hosted.h"

#if HOSTED_BMP_ONLY == 1
typedef struct usb_device libusb_device;
#endif

typedef struct probe_info {
bmp_type_t type;
uint16_t vid;
uint16_t pid;
#if HOSTED_BMP_ONLY == 0
libusb_device *libusb_dev;
#endif
const char *manufacturer;
const char *product;
const char *serial;
Expand All @@ -53,8 +59,8 @@ typedef struct probe_info {

probe_info_s *probe_info_add_by_serial(
probe_info_s *list, bmp_type_t type, const char *mfr, const char *product, const char *serial, const char *version);
probe_info_s *probe_info_add_by_id(probe_info_s *const list, const bmp_type_t type, libusb_device *device,
uint16_t vid, uint16_t pid, const char *const mfr, const char *const product, const char *const serial,
probe_info_s *probe_info_add_by_id(probe_info_s *const list, const bmp_type_t type, libusb_device *device, uint16_t vid,
uint16_t pid, const char *const mfr, const char *const product, const char *const serial,
const char *const version);
size_t probe_info_count(const probe_info_s *list);
void probe_info_list_free(const probe_info_s *list);
Expand Down

0 comments on commit 1f0c7ee

Please sign in to comment.