Messages in this thread | | | From | H Hartley Sweeten <> | Date | Mon, 16 Jul 2012 21:25:51 -0500 | Subject | RE: [PATCH 01/30] staging: comedi: add pci_dev pointer to comedi_device |
| |
On Monday, July 16, 2012 7:01 PM, Greg KH wrote: > On Mon, Jul 16, 2012 at 08:55:47PM -0500, H Hartley Sweeten wrote: >> On Monday, July 16, 2012 6:52 PM, Greg KH wrote: >>> No, the field above this, hw_dev, should be used instead here, as that's >>> what it is there for, right? >> >> The hw_dev pointer is currently only used for something dealing with dma. >> I have not dug into it yet to see what exactly it's used for. The comment >> says: >> >> /* hw_dev is passed to dma_alloc_coherent when allocating async buffers >> * for subdevices that have async_dma_dir set to something other than >> * DMA_NONE */ > > Which is exactly what the pci device should be used for, it knows this > information :) > >>> Care to rework this series with that change instead? >> >> It could probably be used with some sort of container_of but I'm not sure. > > Yes it can. > > To set the field: > > hw_dev = &pci_dev->dev; > > to get it back: > pci_dev = container_of(hw_dev, struct pci_device, struct device); > > I think. That's off the top of my head, please try it out first. > > And use a macro for the container_of stuff, that makes it easier to > understand.
Greg,
I'm posting a patch to the adl_pci6208 driver right now. It compiles fine but could you look it over and see if it looks right.
Thanks, Hartley
| |