X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fgenericdmm%2Fapi.c;h=4a5da74432a5e1b448756279ec824169340f0158;hb=61136ea6035778f2894a1e32b78f94a0640a5a91;hp=ca50a728f9ca13aefa57dd529a04c64071c1622e;hpb=40dda2c3a509e9e031078427e32249e2ebc33ec5;p=libsigrok.git diff --git a/hardware/genericdmm/api.c b/hardware/genericdmm/api.c index ca50a728..4a5da744 100644 --- a/hardware/genericdmm/api.c +++ b/hardware/genericdmm/api.c @@ -58,15 +58,22 @@ SR_PRIV libusb_context *genericdmm_usb_context = NULL; static int hw_init(void) { - struct sr_dev_inst *sdi; - struct context *ctx; - int devcnt = 0; if (libusb_init(&genericdmm_usb_context) != 0) { sr_err("genericdmm: Failed to initialize USB."); - return 0; + return SR_ERR; } + + return SR_OK; +} + +static int hw_scan(void) +{ + struct sr_dev_inst *sdi; + struct context *ctx; + int devcnt = 0; + if (!(ctx = g_try_malloc0(sizeof(struct context)))) { sr_err("genericdmm: ctx malloc failed."); return 0; @@ -610,6 +617,7 @@ SR_PRIV struct sr_dev_driver genericdmm_driver_info = { .api_version = 1, .init = hw_init, .cleanup = hw_cleanup, + .scan = hw_scan, .dev_open = hw_dev_open, .dev_close = hw_dev_close, .dev_info_get = hw_dev_info_get,