Re: [RESEND PATCH v2 1/2] driver core: platform: Initialize dma_parms for platform devices

From: Christoph Hellwig
Date: Wed Apr 22 2020 - 13:03:57 EST


On Wed, Apr 22, 2020 at 12:09:54PM +0200, Ulf Hansson wrote:
> It's currently the platform driver's responsibility to initialize the
> pointer, dma_parms, for its corresponding struct device. The benefit with
> this approach allows us to avoid the initialization and to not waste memory
> for the struct device_dma_parameters, as this can be decided on a case by
> case basis.
>
> However, it has turned out that this approach is not very practical. Not
> only does it lead to open coding, but also to real errors. In principle
> callers of dma_set_max_seg_size() doesn't check the error code, but just
> assumes it succeeds.
>
> For these reasons, let's do the initialization from the common platform bus
> at the device registration point. This also follows the way the PCI devices
> are being managed, see pci_device_add().
>
> Suggested-by: Christoph Hellwig <hch@xxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Tested-by: Haibo Chen <haibo.chen@xxxxxxx>
> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Looks good,

Reviewed-by: Christoph Hellwig <hch@xxxxxx>