-static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
-{
- (void)cb_data;
-
- if (sdi->status != SR_ST_ACTIVE)
- return SR_ERR_DEV_CLOSED;
+#define SCALE(ID, CHIPSET, VENDOR, MODEL, CONN, PACKETSIZE, \
+ VALID, PARSE) \
+ &((struct scale_info) { \
+ { \
+ .name = ID, \
+ .longname = VENDOR " " MODEL, \
+ .api_version = 1, \
+ .init = std_init, \
+ .cleanup = std_cleanup, \
+ .scan = scan, \
+ .dev_list = std_dev_list, \
+ .dev_clear = std_dev_clear, \
+ .config_get = NULL, \
+ .config_set = config_set, \
+ .config_list = config_list, \
+ .dev_open = std_serial_dev_open, \
+ .dev_close = std_serial_dev_close, \
+ .dev_acquisition_start = dev_acquisition_start, \
+ .dev_acquisition_stop = std_serial_dev_acquisition_stop, \
+ .context = NULL, \
+ }, \
+ VENDOR, MODEL, CONN, PACKETSIZE, \
+ VALID, PARSE, sizeof(struct CHIPSET##_info) \
+ }).di