On Fri, May 02, 2014 at 08:53:54PM +0100, Ian Abbott wrote: > On 02/05/14 18:40, Hartley Sweeten wrote: > > 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... > > Sorry. I knew some of your patches conflicted and did a rebase before > posting and got some 3-way auto-merges, so I assumed the conflicting > patches had already been committed. > > I'll rebase and repost once your remaining patches are committed. I've applied Hartley's patches, and the first 2 in this series, as they worked. Feel free to refresh and resend the rest now. thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel