[PATCH v2 2/5] net: ep93xx_eth: pass struct device to DMA API functions

H Hartley Sweeten hartleys at visionengravers.com
Fri Jun 10 13:30:48 EDT 2011

On Friday, June 10, 2011 9:56 AM, Mika Westerberg wrote:
> On Thu, Jun 09, 2011 at 06:40:21PM -0500, H Hartley Sweeten wrote:
>> I just noticed this macro in include/linux/netdevice.h
>> /* Set the sysfs physical device reference for the network logical device
>>  * if set prior to registration will cause a symlink during initialization.
>>  */
>> #define SET_NETDEV_DEV(net, pdev)       ((net)->dev.parent = (pdev))
>> Is there anyway you could use that macro in the probe to save the platform_device
>> (with it's associated device) instead of introducing a new struct device * in the
>> private data?
> Nice finding, thanks.
> I'll look into that and send new version of the whole series soon.

It looks like after doing this in the probe:

	SET_NETDEV_DEV(dev, &pdev->dev);

You can then pass the required struct device pointer to the DMA API functions
like this:

static int ep93xx_rx(struct net_device *dev, int processed, int budget)
	dma_sync_single_for_cpu(dev->dev.parent, ...


More information about the linux-arm-kernel mailing list