X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fhantek-6xxx%2Fapi.c;h=65b5f04be96c2a44089526f37d21c462a1438d05;hb=dd5c48a6d567a3cac62c4b0058588273bbeea171;hp=1bc0dbff776e4b129084d4e3c665d80a975dc4c8;hpb=c2fdcc25a47c4c8f25e3ea96ea36a674a151e839;p=libsigrok.git diff --git a/src/hardware/hantek-6xxx/api.c b/src/hardware/hantek-6xxx/api.c index 1bc0dbff..65b5f04b 100644 --- a/src/hardware/hantek-6xxx/api.c +++ b/src/hardware/hantek-6xxx/api.c @@ -74,13 +74,12 @@ static const uint64_t vdivs[][2] = { VDIV_VALUES }; -SR_PRIV struct sr_dev_driver hantek_6xxx_driver_info; - static int read_channel(const struct sr_dev_inst *sdi, uint32_t amount); static int dev_acquisition_stop(struct sr_dev_inst *sdi); -static struct sr_dev_inst *hantek_6xxx_dev_new(const struct hantek_6xxx_profile *prof) +static struct sr_dev_inst *hantek_6xxx_dev_new(struct sr_dev_driver *di, + const struct hantek_6xxx_profile *prof) { struct sr_dev_inst *sdi; struct sr_channel *ch; @@ -93,7 +92,7 @@ static struct sr_dev_inst *hantek_6xxx_dev_new(const struct hantek_6xxx_profile sdi->status = SR_ST_INITIALIZING; sdi->vendor = g_strdup(prof->vendor); sdi->model = g_strdup(prof->model); - sdi->driver = &hantek_6xxx_driver_info; + sdi->driver = di; for (i = 0; i < ARRAY_SIZE(channel_names); i++) { ch = sr_channel_new(sdi, i, SR_CHANNEL_ANALOG, TRUE, channel_names[i]); @@ -223,7 +222,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) /* Device matches the pre-firmware profile. */ prof = &dev_profiles[j]; sr_dbg("Found a %s %s.", prof->vendor, prof->model); - sdi = hantek_6xxx_dev_new(prof); + sdi = hantek_6xxx_dev_new(di, prof); sdi->connection_id = g_strdup(connection_id); devices = g_slist_append(devices, sdi); devc = sdi->priv; @@ -242,7 +241,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) /* Device matches the post-firmware profile. */ prof = &dev_profiles[j]; sr_dbg("Found a %s %s.", prof->vendor, prof->model); - sdi = hantek_6xxx_dev_new(prof); + sdi = hantek_6xxx_dev_new(di, prof); sdi->connection_id = g_strdup(connection_id); sdi->status = SR_ST_INACTIVE; devices = g_slist_append(devices, sdi); @@ -804,7 +803,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) return SR_OK; } -SR_PRIV struct sr_dev_driver hantek_6xxx_driver_info = { +static struct sr_dev_driver hantek_6xxx_driver_info = { .name = "hantek-6xxx", .longname = "Hantek 6xxx", .api_version = 1, @@ -822,3 +821,4 @@ SR_PRIV struct sr_dev_driver hantek_6xxx_driver_info = { .dev_acquisition_stop = dev_acquisition_stop, .context = NULL, }; +SR_REGISTER_DEV_DRIVER(hantek_6xxx_driver_info);