[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, ...
Regards,
Hartley
More information about the linux-arm-kernel
mailing list