Rneame avalon_api to avalon_drv.
Actually put the work in the avalon queue.
Check enough work is queued before queueing more in avalon_fill.
Use correct struct device_drv for avalon_drv.
Members of cgpu_info for avalon are not meant to be in the union.
Simplify avalon scanhash code using the new find_queued_work_bymidstate function. Partially works only.
Rename the confusing avalon_info pointer.
Remove unused per unit matching work count for avalon.
Create an array of 4 lots of work for avalon and cycle through them.
Fix warnings.
Free avalon->works in the event we call avalon_prepare on failure to initialise.
Differentiate socket closed from socket error in recv_line.
Don't get any work if our queue is already full in avalon_fill.
Only get extra work in fill_queue if we don't have any unqueued work in the list.
Rotate the avalon work array and free work on AVA_SEND_BUFFER_EMPTY as well.
Small timeouts on select() instead of instant timeout increase reliability of socket reads and writes.