Bugzilla – Attachment 46 Details for
Bug 216
Build of libsigrok broken on Mac OS X (10.6.8)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Build error patch
0001-hameg-hmo-Move-the-declaration-of-the-driver-info-ou.patch (text/plain), 5.87 KB, created by
Poljar
on 2013-12-09 14:41:53 CET
(
hide
)
Description:
Build error patch
Filename:
MIME Type:
Creator:
Poljar
Created:
2013-12-09 14:41:53 CET
Size:
5.87 KB
patch
obsolete
>From d44332a926bdbc493b43c820564c4409fb3c0e40 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?poljar=20=28Damir=20Jeli=C4=87=29?= <poljar@poljar.org> >Date: Mon, 9 Dec 2013 14:35:29 +0100 >Subject: [PATCH] hameg-hmo: Move the declaration of the driver info out of > protocol.h > >This fixes duplicate symbol error on Mac OS X. > >BugLink: http://sigrok.org/bugzilla/show_bug.cgi?id=216 >--- > hardware/hameg-hmo/api.c | 80 +++++++++++++++++++++++++++++++++++++++++++ > hardware/hameg-hmo/protocol.c | 77 ----------------------------------------- > hardware/hameg-hmo/protocol.h | 5 --- > 3 files changed, 80 insertions(+), 82 deletions(-) > >diff --git a/hardware/hameg-hmo/api.c b/hardware/hameg-hmo/api.c >index 6a16bb1..ee7c744 100644 >--- a/hardware/hameg-hmo/api.c >+++ b/hardware/hameg-hmo/api.c >@@ -23,6 +23,13 @@ > > #define SERIALCOMM "115200/8n1/flow=1" > >+SR_PRIV struct sr_dev_driver hameg_hmo_driver_info; >+static struct sr_dev_driver *di = &hameg_hmo_driver_info; >+ >+static const char *manufacturers[] = { >+ "HAMEG", >+}; >+ > static const int32_t hwopts[] = { > SR_CONF_CONN, > SR_CONF_SERIALCOMM, >@@ -186,6 +193,79 @@ skip_device: > #endif > } > >+static int check_manufacturer(const char *manufacturer) >+{ >+ unsigned int i; >+ >+ for (i = 0; i < ARRAY_SIZE(manufacturers); ++i) >+ if (!strcmp(manufacturer, manufacturers[i])) >+ return SR_OK; >+ >+ return SR_ERR; >+} >+ >+static struct sr_dev_inst *hmo_probe_serial_device(const char *serial_device, >+ const char *serial_options) >+{ >+ struct sr_dev_inst *sdi; >+ struct dev_context *devc; >+ struct sr_scpi_hw_info *hw_info; >+ struct sr_scpi_dev_inst *scpi; >+ >+ sdi = NULL; >+ devc = NULL; >+ scpi = NULL; >+ hw_info = NULL; >+ >+ if (!(scpi = scpi_serial_dev_inst_new(serial_device, serial_options))) >+ goto fail; >+ >+ sr_info("Probing %s.", serial_device); >+ if (sr_scpi_open(scpi) != SR_OK) >+ goto fail; >+ >+ if (sr_scpi_get_hw_id(scpi, &hw_info) != SR_OK) { >+ sr_info("Couldn't get IDN response."); >+ goto fail; >+ } >+ >+ if (check_manufacturer(hw_info->manufacturer) != SR_OK) >+ goto fail; >+ >+ if (!(sdi = sr_dev_inst_new(0, SR_ST_ACTIVE, >+ hw_info->manufacturer, hw_info->model, >+ hw_info->firmware_version))) { >+ goto fail; >+ } >+ sr_scpi_hw_info_free(hw_info); >+ hw_info = NULL; >+ >+ if (!(devc = g_try_malloc0(sizeof(struct dev_context)))) >+ goto fail; >+ >+ sdi->driver = di; >+ sdi->priv = devc; >+ sdi->inst_type = SR_INST_SCPI; >+ sdi->conn = scpi; >+ >+ if (hmo_init_device(sdi) != SR_OK) >+ goto fail; >+ >+ return sdi; >+ >+fail: >+ if (hw_info) >+ sr_scpi_hw_info_free(hw_info); >+ if (scpi) >+ sr_scpi_free(scpi); >+ if (sdi) >+ sr_dev_inst_free(sdi); >+ if (devc) >+ g_free(devc); >+ >+ return NULL; >+} >+ > static GSList *scan(GSList *options) > { > GSList *devices; >diff --git a/hardware/hameg-hmo/protocol.c b/hardware/hameg-hmo/protocol.c >index b480799..d014eaf 100644 >--- a/hardware/hameg-hmo/protocol.c >+++ b/hardware/hameg-hmo/protocol.c >@@ -19,10 +19,6 @@ > > #include "protocol.h" > >-static const char *manufacturers[] = { >- "HAMEG", >-}; >- > static const char *hameg_scpi_dialect[] = { > [SCPI_CMD_GET_DIG_DATA] = ":POD%d:DATA?", > [SCPI_CMD_GET_TIMEBASE] = ":TIM:SCAL?", >@@ -256,17 +252,6 @@ static struct scope_config scope_models[] = { > }, > }; > >-static int check_manufacturer(const char *manufacturer) >-{ >- unsigned int i; >- >- for (i = 0; i < ARRAY_SIZE(manufacturers); ++i) >- if (!strcmp(manufacturer, manufacturers[i])) >- return SR_OK; >- >- return SR_ERR; >-} >- > static void scope_state_dump(struct scope_config *config, > struct scope_state *state) > { >@@ -560,68 +545,6 @@ SR_PRIV int hmo_init_device(struct sr_dev_inst *sdi) > return SR_OK; > } > >-SR_PRIV struct sr_dev_inst *hmo_probe_serial_device(const char *serial_device, >- const char *serial_options) >-{ >- struct sr_dev_inst *sdi; >- struct dev_context *devc; >- struct sr_scpi_hw_info *hw_info; >- struct sr_scpi_dev_inst *scpi; >- >- sdi = NULL; >- devc = NULL; >- scpi = NULL; >- hw_info = NULL; >- >- if (!(scpi = scpi_serial_dev_inst_new(serial_device, serial_options))) >- goto fail; >- >- sr_info("Probing %s.", serial_device); >- if (sr_scpi_open(scpi) != SR_OK) >- goto fail; >- >- if (sr_scpi_get_hw_id(scpi, &hw_info) != SR_OK) { >- sr_info("Couldn't get IDN response."); >- goto fail; >- } >- >- if (check_manufacturer(hw_info->manufacturer) != SR_OK) >- goto fail; >- >- if (!(sdi = sr_dev_inst_new(0, SR_ST_ACTIVE, >- hw_info->manufacturer, hw_info->model, >- hw_info->firmware_version))) { >- goto fail; >- } >- sr_scpi_hw_info_free(hw_info); >- hw_info = NULL; >- >- if (!(devc = g_try_malloc0(sizeof(struct dev_context)))) >- goto fail; >- >- sdi->driver = di; >- sdi->priv = devc; >- sdi->inst_type = SR_INST_SCPI; >- sdi->conn = scpi; >- >- if (hmo_init_device(sdi) != SR_OK) >- goto fail; >- >- return sdi; >- >-fail: >- if (hw_info) >- sr_scpi_hw_info_free(hw_info); >- if (scpi) >- sr_scpi_free(scpi); >- if (sdi) >- sr_dev_inst_free(sdi); >- if (devc) >- g_free(devc); >- >- return NULL; >-} >- > SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data) > { > struct sr_probe *probe; >diff --git a/hardware/hameg-hmo/protocol.h b/hardware/hameg-hmo/protocol.h >index ff3b398..370bc00 100644 >--- a/hardware/hameg-hmo/protocol.h >+++ b/hardware/hameg-hmo/protocol.h >@@ -38,9 +38,6 @@ > #define MAX_INSTRUMENT_VERSIONS 10 > #define MAX_COMMAND_SIZE 31 > >-SR_PRIV struct sr_dev_driver hameg_hmo_driver_info; >-static struct sr_dev_driver *di = &hameg_hmo_driver_info; >- > struct scope_config { > const char *name[MAX_INSTRUMENT_VERSIONS]; > const uint8_t analog_channels; >@@ -115,8 +112,6 @@ struct dev_context { > SR_PRIV int hmo_init_device(struct sr_dev_inst *sdi); > SR_PRIV int hmo_request_data(const struct sr_dev_inst *sdi); > SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data); >-SR_PRIV struct sr_dev_inst *hmo_probe_serial_device(const char *serial_device, >- const char *serial_options); > > SR_PRIV struct scope_state *hmo_scope_state_new(struct scope_config *config); > SR_PRIV void hmo_scope_state_free(struct scope_state *state); >-- >1.8.5.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 216
: 46