- if (!dev->plugin->dev_open) {
- sr_err("session: %s: dev->plugin->dev_open was NULL",
- __func__);
- return SR_ERR_ARG;
+ /* If dev->driver is NULL, this is a virtual device. */
+ if (!dev->driver) {
+ sr_dbg("session: %s: dev->driver was NULL, this seems to be "
+ "a virtual device; continuing", __func__);
+ /* Just add the device, don't run dev_open(). */
+ session->devs = g_slist_append(session->devs, dev);
+ return SR_OK;