Message ID | 20200331183844.30488-1-ulf.hansson@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | amba/platform: Initialize dma_parms at the bus level | expand |
- Greg, Arnd, Linus, etc, On Tue, 31 Mar 2020 at 20:38, Ulf Hansson <ulf.hansson@linaro.org> 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