Hi all, Today's linux-next merge of the dmaengine-fixes tree got a conflict in: drivers/dma/tegra210-adma.c between commit: d440148418f4 ("tegra210-adma: fix 32-bit x86 build") from Linus' tree and commits: 17987453a9d9 ("dmaengine: tegra210-adma: Use div_u64 for 64 bit division") 76ed9b7d177e ("dmaengine: tegra210-adma: check for adma max page") from the dmaengine-fixes tree. I fixed it up (see belowi - this is basically d440148418f4 with 76ed9b7d177e) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/dma/tegra210-adma.c index 5c6a5b358987,801740ad8e0d..000000000000 --- a/drivers/dma/tegra210-adma.c +++ b/drivers/dma/tegra210-adma.c @@@ -914,21 -920,16 +919,21 @@@ static int tegra_adma_probe(struct plat res_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "global"); if (res_base) { - if (WARN_ON(res_page->start <= res_base->start)) - return -EINVAL; + resource_size_t page_offset, page_no; + unsigned int ch_base_offset; + if (res_page->start < res_base->start) + return -EINVAL; page_offset = res_page->start - res_base->start; - page_no = div_u64(page_offset, cdata->ch_base_offset); + ch_base_offset = cdata->ch_base_offset; + if (!ch_base_offset) + return -EINVAL; - if (WARN_ON(page_no == 0 || page_no > cdata->max_page)) + page_no = div_u64(page_offset, ch_base_offset); - if (!page_no || page_no > INT_MAX) ++ if (!page_no || page_no > cdata->max_page) return -EINVAL; - tdma->ch_page_no = lower_32_bits(page_no) - 1; + tdma->ch_page_no = page_no - 1; tdma->base_addr = devm_ioremap_resource(&pdev->dev, res_base); if (IS_ERR(tdma->base_addr)) return PTR_ERR(tdma->base_addr);
Attachment:
pgpMT1MocxX4x.pgp
Description: OpenPGP digital signature