The prototype for scan() should be: int (*scan) (GSList *options, GSList **devices); This will enable us to not only bring the function in line with the rest of libsigrok wrt error reporting, but also allow us to return a (new) error code: SR_ERR_CONN_REQUIRED. We need this because drivers like the OLS don't do any scanning unless fed a serial port, but have no way to signal this to the frontend.