Thread (14 messages) 14 messages, 4 authors, 2011-07-08

Re: [PATCH 3/3] powerpc: Dont require a dma_ops struct to set dma mask

flat view

From: Scott Wood <hidden>
Date: 2011-06-22 17:53:27
Also in: lkml

On Wed, 22 Jun 2011 07:02:56 -0500
Kumar Gala [off-list ref] wrote:
The only reason to require a dma_ops struct is to see if it has
implemented set_dma_mask.  If not we can fall back to setting the mask
directly.

This resolves an issue with how to sequence the setting of a DMA mask
for platform devices.  Before we had an issue in that we have no way of
setting the DMA mask before the various low level bus notifiers get
called that might check it (swiotlb).

So now we can do:

	pdev = platform_device_alloc("foobar", 0);
	dma_set_mask(&pdev->dev, DMA_BIT_MASK(37));
	platform_device_register(pdev);
Despite what Documentation/driver-model/platform.txt says, it looks like
platform_device_add() is what you want after platform_device_alloc().
Otherwise device_initialize() gets called twice, as would a call to the
archdata hook if one is added to platform_device_register().

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help