[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190521103954.GC1973@lst.de>
Date: Tue, 21 May 2019 12:39:54 +0200
From: Christoph Hellwig <hch@....de>
To: laurentiu.tudor@....com
Cc: hch@....de, stern@...land.harvard.edu, gregkh@...uxfoundation.org,
linux-usb@...r.kernel.org, marex@...x.de, leoyang.li@....com,
linux-kernel@...r.kernel.org, robin.murphy@....com,
noring@...rew.org, JuergenUrban@....de
Subject: Re: [PATCH v4 2/3] usb: host: ohci-sm501: init genalloc for local
memory
On Thu, May 16, 2019 at 02:47:20PM +0300, laurentiu.tudor@....com wrote:
> + hcd->localmem_pool = devm_gen_pool_create(dev, PAGE_SHIFT,
> + dev_to_node(dev),
> + "ohci-sm501");
> + if (IS_ERR(hcd->localmem_pool)) {
> + retval = PTR_ERR(hcd->localmem_pool);
> + goto err5;
> + }
> +
> + local_mem = devm_ioremap(dev, mem->start, resource_size(mem));
> + if (!local_mem) {
> + retval = -ENOMEM;
> + goto err5;
> + }
> +
> + retval = gen_pool_add_virt(hcd->localmem_pool,
> + (unsigned long)local_mem,
> + mem->start - mem->parent->start,
> + resource_size(mem),
> + dev_to_node(dev));
I wonder if having a helper for these operations would be useful,
explaining what we do here. That is create a pool for a resource,
where the virtual address is the ioremap of said resource. We
could also make that a managed API so that you can get rid of the
cleanup path.
Powered by blists - more mailing lists