[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <RQJ6EQ.X0RPEZHBGXEN1@crapouillou.net>
Date: Tue, 28 Jul 2020 14:52:03 +0200
From: Paul Cercueil <paul@...pouillou.net>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: od@...c.me, linux-kernel@...r.kernel.org,
"H . Nikolaus Schaller" <hns@...delico.com>
Subject: Re: [PATCH] memory: jz4780_nemc: Only request IO memory the driver
will use
Le mar. 28 juil. 2020 à 11:21, Krzysztof Kozlowski <krzk@...nel.org> a
écrit :
> On Mon, Jul 27, 2020 at 06:20:34PM +0200, Paul Cercueil wrote:
>> The driver only uses the registers up to offset 0x54. Since the
>> EFUSE
>> registers are in the middle of the NEMC registers, we only request
>> the registers we will use for now - that way the EFUSE driver can
>> probe too.
>>
>> Tested-by: H. Nikolaus Schaller <hns@...delico.com>
>> Signed-off-by: Paul Cercueil <paul@...pouillou.net>
>> ---
>> drivers/memory/jz4780-nemc.c | 15 ++++++++++++++-
>> 1 file changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/memory/jz4780-nemc.c
>> b/drivers/memory/jz4780-nemc.c
>> index b232ed279fc3..647267ea8c63 100644
>> --- a/drivers/memory/jz4780-nemc.c
>> +++ b/drivers/memory/jz4780-nemc.c
>> @@ -8,6 +8,7 @@
>>
>> #include <linux/clk.h>
>> #include <linux/init.h>
>> +#include <linux/io.h>
>> #include <linux/math64.h>
>> #include <linux/of.h>
>> #include <linux/of_address.h>
>> @@ -288,7 +289,19 @@ static int jz4780_nemc_probe(struct
>> platform_device *pdev)
>> nemc->dev = dev;
>>
>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> - nemc->base = devm_ioremap_resource(dev, res);
>> +
>> + /*
>> + * The driver only uses the registers up to offset 0x54. Since
>> the EFUSE
>> + * registers are in the middle of the NEMC registers, we only
>> request
>> + * the registers we will use for now - that way the EFUSE driver
>> can
>> + * probe too.
>> + */
>> + if (!devm_request_mem_region(dev, res->start, 0x54,
>> dev_name(dev))) {
>> + dev_err(dev, "unable to request I/O memory region\n");
>> + return -EBUSY;
>> + }
>> +
>> + nemc->base = devm_ioremap(dev, res->start, resource_size(res));
>
> Shouldn't you map only 0x54 size as well?
I can do that.
Cheers,
-Paul
Powered by blists - more mailing lists