There are lots of functions in the API which should take a context pointer, if there is to be any point in having a non-global libsigrok context. I think these include: sr_log_loglevel_{get,set}() sr_log_callback_{get,set,set_default}() sr_log_logdomain_{get,set}() sr_driver_list() sr_session_load() sr_session_new() sr_input_list() sr_input_find() sr_output_list() sr_output_find() sr_transform_list() sr_transform_find() This should turn out to be in line with which functions are wrapped as methods on the Context class in the C++ bindings.
In the current code base, the functions sr_driver_list(), sr_session_load() and sr_session_new() already take an sr_context.
Wrt the sr_log_*() functions from your list, I don't think it's worth the effort. One would have to convert all calls to sr_err(), sr_warn(), sr_info(), etc. to take a context argument, which would be really painful. I'm not aware of any other library which does something like this for its logging functions.