colead-slm: Properly check acquisition sample limit.
demo: Fix pattern mode and amplitude option publishing.
Add usb_get_port_path() helper function

There is currently no way to uniquely identify USB devices in
libsigrok. It uses the "bus.address" scheme which is only
constant as long as the device remains attached to the bus.
In order to allow USB device persistence in PulseView, devices
need to provide a unique identifier even in absence of a
serial number. This function is the first step as it provides
the ability to query the physical location of a USB device.
Add serial_num and connection_id fields to sr_dev_inst
serial_stream_detect: Make read nonblocking.

This code implements its own waiting based on baudrate, so the read itself
should be nonblocking. In general it will have been already, since drivers
almost universally use the SERIAL_NONBLOCK flag.
serial_readline: Implement using sp_blocking_read.
manson-hcs-3xxx: Mark serial read call as blocking.

This driver opens the port without the SERIAL_NONBLOCK flag, so this call is
already a blocking one.
colead-slm: Mark serial write call as blocking.

This driver opens the port without the SERIAL_NONBLOCK flag,
so this call was already blocking.
serial-dmm: Mark serial read/write calls as nonblocking.

This driver opens the port with the SERIAL_NONBLOCK flag so these calls were
already non-blocking.
serial-dmm: Remove SERIAL_NONBLOCK flag.

All serial read/write calls in this driver are now explicitly
nonblocking so there is no need for this flag.
agilent-dmm: Mark serial read call as nonblocking.

This driver opens the port with the SERIAL_NONBLOCK flag, so this call is
already a nonblocking one, and is handled appropriately.
agilent-dmm: Make serial write call block in scan.

This call is executed at scan time so is free to block. There is no
handling for a partial write and a response is expected immediately
afterwards. It should therefore be a blocking call.
agilent-dmm: Make serial write call block in send.

This call is executed from an event handler context was previously
nonblocking, however there is no handling for a partial write.

The output buffer is unlikely to be full and the commands to be sent
are short, so it should be OK to make this a blocking call.
aglient-dmm: Remove SERIAL_NONBLOCK flag.

All serial calls in this driver are now explicitly (non)blocking.
appa-55ii: Mark serial read nonblocking and remove SERIAL_NONBLOCK.

This is the only read/write call in the driver. It is already non-blocking
and is handled appropriately.
atten-pps3xxx: Make serial write call block in scan.

This is called at scan time so free to block. There is no partial write
handling and a response is expected afterwards. This should therefore be a
blocking call.
atten-pps3xxx: Make serial write call block.

This call is executed from an event handler and was previously nonblocking,
but has no partial write handling. It sends a short packet so should be OK
to block, most likely the output buffer will be empty anyway.
atten-pps3xxx: Remove SERIAL_NONBLOCK.

All serial read/write calls in the driver are now explicitly (non)blocking.
brymen-dmm: Mark serial read calls as nonblocking.

The driver opens the port with SERIAL_NONBLOCK so these were already
nonblocking, and are handled appropriately.
brymen-dmm: Make serial write call block.

This call is executed from an event handler and was previously nonblocking,
but has no partial write handling. It sends a short packet so should be OK
to block, most likely the output buffer will be empty anyway.