+static int init(struct sr_input *in)
+{
+ int num_probes, i;
+ char name[SR_MAX_PROBENAME_LEN + 1];
+
+ if (in->param && in->param[0]) {
+ num_probes = strtoul(in->param, NULL, 10);
+ if (num_probes < 1)
+ return SR_ERR;
+ } else {
+ num_probes = DEFAULT_NUM_PROBES;
+ }
+
+ /* Create a virtual device. */
+ in->vdevice = sr_device_new(NULL, 0);
+
+ for (i = 0; i < num_probes; i++) {
+ snprintf(name, SR_MAX_PROBENAME_LEN, "%d", i);
+ /* TODO: Check return value. */
+ sr_device_probe_add(in->vdevice, name);
+ }
+
+ return SR_OK;
+}