[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190815133812.GF12036@lst.de>
Date: Thu, 15 Aug 2019 15:38:12 +0200
From: Christoph Hellwig <hch@....de>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Christoph Hellwig <hch@....de>,
Maxime Chevallier <maxime.chevallier@...tlin.com>,
Gavin Li <git@...gavinli.com>,
Laurentiu Tudor <laurentiu.tudor@....com>,
Minas Harutyunyan <hminas@...opsys.com>,
Alan Stern <stern@...land.harvard.edu>,
Geoff Levand <geoff@...radead.org>,
Michal Simek <michal.simek@...inx.com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
NXP Linux Team <linux-imx@....com>,
Olav Kongas <ok@...ecdesign.ee>,
Tony Prisk <linux@...sktech.co.nz>,
Mathias Nyman <mathias.nyman@...el.com>,
Bin Liu <b-liu@...com>, linux-arm-kernel@...ts.infradead.org,
linux-usb@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
iommu@...ts.linux-foundation.org, linux-arch@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 6/6] driver core: initialize a default DMA mask for
platform device
On Thu, Aug 15, 2019 at 03:03:25PM +0200, Greg Kroah-Hartman wrote:
> > --- a/include/linux/platform_device.h
> > +++ b/include/linux/platform_device.h
> > @@ -24,6 +24,7 @@ struct platform_device {
> > int id;
> > bool id_auto;
> > struct device dev;
> > + u64 dma_mask;
>
> Why is the dma_mask in 'struct device' which is part of this structure,
> not sufficient here? Shouldn't the "platform" be setting that up
> correctly already in the "archdata" type callback?
Becaus the dma_mask in struct device is a pointer that needs to point
to something, and this is the best space we can allocate for 'something'.
m68k and powerpc currently do something roughly equivalent at the moment,
while everyone else just has horrible, horrible hacks. As mentioned in
the changelog the intent of this patch is that we treat platform devices
like any other bus, where the bus allocates the space for the dma_mask.
The long term plan is to eventually kill that weird pointer indirection
that doesn't help anyone, but for that we need to sort out the basics
first.
Powered by blists - more mailing lists