On Friday, May 02, 2014 5:50 AM, Ian Abbott wrote: > For comedi subdevices that support asynchronous commands, the `async` > member of `struct comedi_subdevice` points to a `struct comedi_async` > allocated to manage asynchronous commands on that subdevice. The > pointer to this "async" structure is passed around by various functions > and some of those functions need to get back to the "subdevice" > structure from this pointer, so the "async" structure has a `subdevice` > member pointing back to the `struct comedi_subdevice`. > > Since we can always get to the "async" structure from the "subdevice" > structure, we can just pass around the pointer to the subdevice instead > of the pointer to the async structure. Then the `subdevice` member of > `struct comedi_async` is no longer required and can be removed. > > 01) staging: comedi: remove redundant pointer dereference in comedi_poll() > 02) staging: comedi: remove async parameter from resize_async_buffer() > 03) staging: comedi: pass subdevice to comedi_buf_put() > 04) staging: comedi: pass subdevice to comedi_buf_get() > 05) staging: comedi: pass subdevice to comedi_buf_memcpy_to() > 06) staging: comedi: pass subdevice to comedi_buf_memcpy_from() > 07) staging: comedi: ni_tiocmd: pass subdevice to command setup functions > 08) staging: comedi: pass subdevice to comedi_buf_write_alloc() > 09) staging: comedi: pass subdevice to comedi_buf_write_free() > 10) staging: comedi: pass subdevice to comedi_buf_write_n_allocated() > 11) staging: comedi: pass subdevice to comedi_buf_read_alloc() > 12) staging: comedi: pass subdevice to comedi_buf_read_free() > 13) staging: comedi: pass subdevice to comedi_buf_read_n_available() > 14) staging: comedi: pass subdevice to comedi_buf_reset() > 15) staging: comedi: pass subdevice to comedi_buf_is_mmapped() > 16) staging: comedi: pass subdevice to comedi_buf_munge() > 17) staging: comedi: pass subdevice to __comedi_buf_write_alloc() > 18) staging: comedi: pass subdevice to comedi_buf_write_n_available() > 19) staging: comedi: mite: pass subdevice to mite_buf_change() > 20) staging: comedi: mite: pass subdevice to mite_sync_input_dma() > 21) staging: comedi: mite: pass subdevice to mite_sync_output_dma() > 22) staging: comedi: remove subdevice member of struct comedi_async Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Ian, There are merge conflicts if this series is applied after the one I have posted that you have already tagged Reviewed-by. [PATCH v2 00/12] staging: comedi: adv_pci1710: more async command cleanup [PATCH 00/32] staging: comedi: continue async command cleanup Note: the second series is really [PATCH v2 00/32] but I forgot to add the v2... Regards, Hartley _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel