Re: [PATCH v2 0/2] amba/platform: Initialize dma_parms at the bus level

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 - Greg, Arnd, Linus, etc,

On Tue, 31 Mar 2020 at 20:38, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
>
> It's currently the amba/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, this series initializes the dma_parms from the amba/platform
> bus at the device registration point. This also follows the way the PCI devices
> are being managed, see pci_device_add().
>
> If it turns out that this is an acceptable solution, we probably also want the
> changes for stable, but I am not sure if it applies without conflicts.
>
> The series is based on v5.6.
>
> Kind regards
> Ulf Hansson
>
>
> Ulf Hansson (2):
>   driver core: platform: Initialize dma_parms for platform devices
>   amba: Initialize dma_parms for amba devices
>
>  drivers/amba/bus.c              | 1 +
>  drivers/base/platform.c         | 2 ++
>  include/linux/amba/bus.h        | 1 +
>  include/linux/platform_device.h | 1 +
>  4 files changed, 5 insertions(+)
>
> --
> 2.20.1
>

Does this look okay or is there anything you would like me to change?

Kind regards
Uffe



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux