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

From: Arnd Bergmann
Date: Wed Apr 22 2020 - 05:42:06 EST


On Tue, Mar 31, 2020 at 8:38 PM Ulf Hansson <ulf.hansson@xxxxxxxxxx> 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>
> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>