From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751848AbdF1Olw (ORCPT ); Wed, 28 Jun 2017 10:41:52 -0400 Received: from foss.arm.com ([217.140.101.70]:42430 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751492AbdF1Olq (ORCPT ); Wed, 28 Jun 2017 10:41:46 -0400 Subject: Re: [PATCH 2/2] dma-coherent: remove the DMA_MEMORY_MAP and DMA_MEMORY_IO flags To: Christoph Hellwig , linux-kernel@vger.kernel.org, m.szyprowski@samsung.com References: <20170627201727.9008-1-hch@lst.de> <20170627201727.9008-3-hch@lst.de> From: Robin Murphy Message-ID: <94b09ceb-5f6e-ba85-4a07-115821b5dd2d@arm.com> Date: Wed, 28 Jun 2017 15:41:38 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170627201727.9008-3-hch@lst.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27/06/17 21:17, Christoph Hellwig wrote: > DMA_MEMORY_IO was never used in the tree, so remove it. That means there is > no need for the DMA_MEMORY_MAP flag either now, so remove it as well and > change dma_declare_coherent_memory to return a normal errno value. > > Signed-off-by: Christoph Hellwig > --- [...] > diff --git a/drivers/base/dma-mapping.c b/drivers/base/dma-mapping.c > index 10e7c022e8cf..b96bfffd314e 100644 > --- a/drivers/base/dma-mapping.c > +++ b/drivers/base/dma-mapping.c > @@ -176,13 +176,10 @@ int dmam_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, > > rc = dma_declare_coherent_memory(dev, phys_addr, device_addr, size, > flags); > - if (rc) { > + if (rc) if (!rc) > devres_add(dev, res); > - rc = 0; > - } else { > + else > devres_free(res); > - rc = -ENOMEM; > - } > > return rc; > } [...] > diff --git a/drivers/usb/host/ohci-sm501.c b/drivers/usb/host/ohci-sm501.c > index a8b8d8b8d9f3..21302a0f82e2 100644 > --- a/drivers/usb/host/ohci-sm501.c > +++ b/drivers/usb/host/ohci-sm501.c > @@ -123,11 +123,11 @@ static int ohci_hcd_sm501_drv_probe(struct platform_device *pdev) > * regular memory. The HCD_LOCAL_MEM flag does just that. > */ > > - if (!dma_declare_coherent_memory(dev, mem->start, > + retval = dma_declare_coherent_memory(dev, mem->start, > mem->start - mem->parent->start, > resource_size(mem), > - DMA_MEMORY_MAP | > - DMA_MEMORY_EXCLUSIVE)) { > + DMA_MEMORY_EXCLUSIVE); > + if (retval) { > dev_err(dev, "cannot declare coherent memory\n"); > retval = -ENXIO; It looks like we could just let retval propagate here, rather than rewriting it, since we're only bailing out of a probe routine. Robin. > goto err1;