JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
error:
drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
function ‘of_read_number’; did you mean ‘down_read_nested’?
[-Werror=implicit-function-declaration]
bank = of_read_number(prop, 1);
^~~~~~~~~~~~~~
down_read_nested
Make JZ4780_NEMC depend on OF.
Fixes: ab99e11062c1 ("memory: jz4780-nemc: Allow selection of this driver when COMPILE_TEST=y")
Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: Anders Roxell <[email protected]>
---
drivers/memory/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
index a642552dfdc9..63389f075f1d 100644
--- a/drivers/memory/Kconfig
+++ b/drivers/memory/Kconfig
@@ -123,7 +123,7 @@ config JZ4780_NEMC
bool "Ingenic JZ4780 SoC NEMC driver"
default y
depends on MACH_JZ4780 || COMPILE_TEST
- depends on HAS_IOMEM
+ depends on HAS_IOMEM && OF
help
This driver is for the NAND/External Memory Controller (NEMC) in
the Ingenic JZ4780. This controller is used to handle external
--
2.18.0
On 07/21/2018 01:00 PM, Anders Roxell wrote:
> JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
> error:
> drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
> drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
> function ‘of_read_number’; did you mean ‘down_read_nested’?
> [-Werror=implicit-function-declaration]
> bank = of_read_number(prop, 1);
> ^~~~~~~~~~~~~~
> down_read_nested
>
> Make JZ4780_NEMC depend on OF.
>
> Fixes: ab99e11062c1 ("memory: jz4780-nemc: Allow selection of this driver when COMPILE_TEST=y")
> Reported-by: Randy Dunlap <[email protected]>
> Signed-off-by: Anders Roxell <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
Thanks.
> ---
> drivers/memory/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
> index a642552dfdc9..63389f075f1d 100644
> --- a/drivers/memory/Kconfig
> +++ b/drivers/memory/Kconfig
> @@ -123,7 +123,7 @@ config JZ4780_NEMC
> bool "Ingenic JZ4780 SoC NEMC driver"
> default y
> depends on MACH_JZ4780 || COMPILE_TEST
> - depends on HAS_IOMEM
> + depends on HAS_IOMEM && OF
> help
> This driver is for the NAND/External Memory Controller (NEMC) in
> the Ingenic JZ4780. This controller is used to handle external
>
--
~Randy
+Arnd, Rob and the DT ML.
On Sat, 21 Jul 2018 14:53:47 -0700
Randy Dunlap <[email protected]> wrote:
> On 07/21/2018 01:00 PM, Anders Roxell wrote:
> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
> > error:
> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
> > function ‘of_read_number’; did you mean ‘down_read_nested’?
> > [-Werror=implicit-function-declaration]
> > bank = of_read_number(prop, 1);
> > ^~~~~~~~~~~~~~
> > down_read_nested
Looks like of.h defines stubs so that people can compile-test without
CONFIG_OF selected. Maybe we should move of_read_number() and
of_read_ulong() out of the #ifdef CONFIG_OF section.
Alternatively, we could patch jz4780-nemc.c to not use of_read_number
and instead rely on of_read_property_u32_index() +
of_property_count_elems_of_size() + of_n_{addr,size}_cells():
--->8---
diff --git a/drivers/memory/jz4780-nemc.c b/drivers/memory/jz4780-nemc.c
index bcf06adefc96..9ad7abc6983a 100644
--- a/drivers/memory/jz4780-nemc.c
+++ b/drivers/memory/jz4780-nemc.c
@@ -63,14 +63,21 @@ struct jz4780_nemc {
*/
unsigned int jz4780_nemc_num_banks(struct device *dev)
{
- const __be32 *prop;
- unsigned int bank, count = 0;
unsigned long referenced = 0;
- int i = 0;
-
- while ((prop = of_get_address(dev->of_node, i++, NULL, NULL))) {
- bank = of_read_number(prop, 1);
- if (!(referenced & BIT(bank))) {
+ int nelems, elemsize, i = 0;
+ unsigned int count = 0;
+
+ /* #address-cells = 2 and #size-cells = 1, hence */
+ elemsize = of_n_addr_cells(dev->of_node) +
+ of_n_size_cells(dev->of_node);
+ nelems = of_property_count_elems_of_size(dev->of_node, "reg", elemsize);
+ for (i = 0; i < nelems; i++) {
+ u32 bank;
+
+ if (!of_property_read_u32_index(dev->of_node, "reg",
+ i * elemsize, &bank) &&
+ bank >= 1 && bank < JZ4780_NEMC_NUM_BANKS &&
+ !(referenced & BIT(bank))) {
referenced |= BIT(bank);
count++;
}
@@ -269,10 +276,9 @@ static int jz4780_nemc_probe(struct platform_device *pdev)
struct jz4780_nemc *nemc;
struct resource *res;
struct device_node *child;
- const __be32 *prop;
- unsigned int bank;
unsigned long referenced;
int i, ret;
+ u32 bank;
nemc = devm_kzalloc(dev, sizeof(*nemc), GFP_KERNEL);
if (!nemc)
@@ -316,10 +322,27 @@ static int jz4780_nemc_probe(struct platform_device *pdev)
* registered for it.
*/
for_each_child_of_node(nemc->dev->of_node, child) {
+ int nelems, elemsize;
+
referenced = 0;
i = 0;
- while ((prop = of_get_address(child, i++, NULL, NULL))) {
- bank = of_read_number(prop, 1);
+ elemsize = of_n_addr_cells(dev->of_node) +
+ of_n_size_cells(dev->of_node);
+ nelems = of_property_count_elems_of_size(dev->of_node, "reg",
+ elemsize);
+ for (i = 0; i < nelems; i++) {
+ u32 bank;
+
+ ret = of_property_read_u32_index(dev->of_node, "reg",
+ i * elemsize, &bank);
+ if (ret) {
+ dev_err(nemc->dev,
+ "failed to read bank %d of %pOF (err = %d)\n",
+ i, child, ret);
+ referenced = 0;
+ break;
+ }
+
if (bank < 1 || bank >= JZ4780_NEMC_NUM_BANKS) {
dev_err(nemc->dev,
"%pOF requests invalid bank %u\n",
On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
<[email protected]> wrote:
> +Arnd, Rob and the DT ML.
>
> On Sat, 21 Jul 2018 14:53:47 -0700
> Randy Dunlap <[email protected]> wrote:
>
>> On 07/21/2018 01:00 PM, Anders Roxell wrote:
>> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
>> > error:
>> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
>> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
>> > function ‘of_read_number’; did you mean ‘down_read_nested’?
>> > [-Werror=implicit-function-declaration]
>> > bank = of_read_number(prop, 1);
>> > ^~~~~~~~~~~~~~
>> > down_read_nested
>
> Looks like of.h defines stubs so that people can compile-test without
> CONFIG_OF selected. Maybe we should move of_read_number() and
> of_read_ulong() out of the #ifdef CONFIG_OF section.
That seems fine, though the added dependency seems appropriate
here as well. of_read_number() is rarely used, and for the most part in
powerpc specific code that is guaranteed to have CONFIG_OF enabled,
so it's not that likely to cause many more problems.
> Alternatively, we could patch jz4780-nemc.c to not use of_read_number
> and instead rely on of_read_property_u32_index() +
> of_property_count_elems_of_size() + of_n_{addr,size}_cells():
That seems noticeably longer for no good reason, I'd go with either
the header file change you suggested or Anders' patch.
Arnd
On Mon, 23 Jul 2018 11:34:43 +0200
Arnd Bergmann <[email protected]> wrote:
> On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
> <[email protected]> wrote:
> > +Arnd, Rob and the DT ML.
> >
> > On Sat, 21 Jul 2018 14:53:47 -0700
> > Randy Dunlap <[email protected]> wrote:
> >
> >> On 07/21/2018 01:00 PM, Anders Roxell wrote:
> >> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
> >> > error:
> >> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
> >> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
> >> > function ‘of_read_number’; did you mean ‘down_read_nested’?
> >> > [-Werror=implicit-function-declaration]
> >> > bank = of_read_number(prop, 1);
> >> > ^~~~~~~~~~~~~~
> >> > down_read_nested
> >
> > Looks like of.h defines stubs so that people can compile-test without
> > CONFIG_OF selected. Maybe we should move of_read_number() and
> > of_read_ulong() out of the #ifdef CONFIG_OF section.
>
> That seems fine, though the added dependency seems appropriate
> here as well. of_read_number() is rarely used, and for the most part in
> powerpc specific code that is guaranteed to have CONFIG_OF enabled,
> so it's not that likely to cause many more problems.
Ok, then I'll let Miquel apply Anders' patch to the NAND tree.
Thanks for your feedback.
Boris
On Mon, Jul 23, 2018 at 11:41 AM, Boris Brezillon
<[email protected]> wrote:
> On Mon, 23 Jul 2018 11:34:43 +0200
> Arnd Bergmann <[email protected]> wrote:
>
>> On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
>> <[email protected]> wrote:
>> > +Arnd, Rob and the DT ML.
>> >
>> > On Sat, 21 Jul 2018 14:53:47 -0700
>> > Randy Dunlap <[email protected]> wrote:
>> >
>> >> On 07/21/2018 01:00 PM, Anders Roxell wrote:
>> >> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
>> >> > error:
>> >> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
>> >> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
>> >> > function ‘of_read_number’; did you mean ‘down_read_nested’?
>> >> > [-Werror=implicit-function-declaration]
>> >> > bank = of_read_number(prop, 1);
>> >> > ^~~~~~~~~~~~~~
>> >> > down_read_nested
>> >
>> > Looks like of.h defines stubs so that people can compile-test without
>> > CONFIG_OF selected. Maybe we should move of_read_number() and
>> > of_read_ulong() out of the #ifdef CONFIG_OF section.
>>
>> That seems fine, though the added dependency seems appropriate
>> here as well. of_read_number() is rarely used, and for the most part in
>> powerpc specific code that is guaranteed to have CONFIG_OF enabled,
>> so it's not that likely to cause many more problems.
>
> Ok, then I'll let Miquel apply Anders' patch to the NAND tree.
>
> Thanks for your feedback.
My randconfig build bot just ran into a second problem with this driver
with CONFIG_GPIOLIB disabled:
drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_dev_ready':
drivers/mtd/nand/raw/jz4740_nand.c:133:9: error: implicit declaration
of function 'gpiod_get_value_cansleep'; did you mean
'gpio_get_value_cansleep'? [-Werror=implicit-function-declaration]
return gpiod_get_value_cansleep(nand->busy_gpio);
^~~~~~~~~~~~~~~~~~~~~~~~
gpio_get_value_cansleep
drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_probe':
drivers/mtd/nand/raw/jz4740_nand.c:388:20: error: implicit declaration
of function 'devm_gpiod_get_optional'; did you mean
'devm_gpio_request_one'? [-Werror=implicit-function-declaration]
nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
^~~~~~~~~~~~~~~~~~~~~~~
devm_gpio_request_one
drivers/mtd/nand/raw/jz4740_nand.c:388:64: error: 'GPIOD_IN'
undeclared (first use in this function); did you mean 'GPIOF_IN'?
nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
^~~~~~~~
GPIOF_IN
We could add another dependency here or (my preference) include
linux/gpio/consumer.h to fix that. Do you want a separate patch for
it, or should Anders send a combined patch?
Arnd
On Mon, Jul 23, 2018 at 5:40 PM, Arnd Bergmann <[email protected]> wrote:
> On Mon, Jul 23, 2018 at 11:41 AM, Boris Brezillon
> <[email protected]> wrote:
>> On Mon, 23 Jul 2018 11:34:43 +0200
>> Arnd Bergmann <[email protected]> wrote:
>>
>>> On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
>>> <[email protected]> wrote:
>>> > +Arnd, Rob and the DT ML.
>>> >
>>> > On Sat, 21 Jul 2018 14:53:47 -0700
>>> > Randy Dunlap <[email protected]> wrote:
>>> >
>>> >> On 07/21/2018 01:00 PM, Anders Roxell wrote:
>>> >> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
>>> >> > error:
>>> >> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
>>> >> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
>>> >> > function ‘of_read_number’; did you mean ‘down_read_nested’?
>>> >> > [-Werror=implicit-function-declaration]
>>> >> > bank = of_read_number(prop, 1);
>>> >> > ^~~~~~~~~~~~~~
>>> >> > down_read_nested
>>> >
>>> > Looks like of.h defines stubs so that people can compile-test without
>>> > CONFIG_OF selected. Maybe we should move of_read_number() and
>>> > of_read_ulong() out of the #ifdef CONFIG_OF section.
>>>
>>> That seems fine, though the added dependency seems appropriate
>>> here as well. of_read_number() is rarely used, and for the most part in
>>> powerpc specific code that is guaranteed to have CONFIG_OF enabled,
>>> so it's not that likely to cause many more problems.
>>
>> Ok, then I'll let Miquel apply Anders' patch to the NAND tree.
>>
>> Thanks for your feedback.
>
> My randconfig build bot just ran into a second problem with this driver
> with CONFIG_GPIOLIB disabled:
>
> drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_dev_ready':
> drivers/mtd/nand/raw/jz4740_nand.c:133:9: error: implicit declaration
> of function 'gpiod_get_value_cansleep'; did you mean
> 'gpio_get_value_cansleep'? [-Werror=implicit-function-declaration]
> return gpiod_get_value_cansleep(nand->busy_gpio);
> ^~~~~~~~~~~~~~~~~~~~~~~~
> gpio_get_value_cansleep
> drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_probe':
> drivers/mtd/nand/raw/jz4740_nand.c:388:20: error: implicit declaration
> of function 'devm_gpiod_get_optional'; did you mean
> 'devm_gpio_request_one'? [-Werror=implicit-function-declaration]
> nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
> ^~~~~~~~~~~~~~~~~~~~~~~
> devm_gpio_request_one
> drivers/mtd/nand/raw/jz4740_nand.c:388:64: error: 'GPIOD_IN'
> undeclared (first use in this function); did you mean 'GPIOF_IN'?
> nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
> ^~~~~~~~
> GPIOF_IN
>
>
> We could add another dependency here or (my preference) include
> linux/gpio/consumer.h to fix that. Do you want a separate patch for
> it, or should Anders send a combined patch?
One more failure, not analyzed yet:
/git/arm-soc/drivers/mtd/nand/raw/jz4740_nand.c: In function
'jz_nand_select_chip':
/git/arm-soc/drivers/mtd/nand/raw/jz4740_nand.c:87:9: error: implicit
declaration of function 'readl'; did you mean 'krealloc'?
[-Werror=implicit-function-declaration]
ctrl = readl(nand->base + JZ_REG_NAND_CTRL);
^~~~~
Arnd
On Mon, 23 Jul 2018 17:40:29 +0200
Arnd Bergmann <[email protected]> wrote:
> On Mon, Jul 23, 2018 at 11:41 AM, Boris Brezillon
> <[email protected]> wrote:
> > On Mon, 23 Jul 2018 11:34:43 +0200
> > Arnd Bergmann <[email protected]> wrote:
> >
> >> On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
> >> <[email protected]> wrote:
> >> > +Arnd, Rob and the DT ML.
> >> >
> >> > On Sat, 21 Jul 2018 14:53:47 -0700
> >> > Randy Dunlap <[email protected]> wrote:
> >> >
> >> >> On 07/21/2018 01:00 PM, Anders Roxell wrote:
> >> >> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
> >> >> > error:
> >> >> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
> >> >> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
> >> >> > function ‘of_read_number’; did you mean ‘down_read_nested’?
> >> >> > [-Werror=implicit-function-declaration]
> >> >> > bank = of_read_number(prop, 1);
> >> >> > ^~~~~~~~~~~~~~
> >> >> > down_read_nested
> >> >
> >> > Looks like of.h defines stubs so that people can compile-test without
> >> > CONFIG_OF selected. Maybe we should move of_read_number() and
> >> > of_read_ulong() out of the #ifdef CONFIG_OF section.
> >>
> >> That seems fine, though the added dependency seems appropriate
> >> here as well. of_read_number() is rarely used, and for the most part in
> >> powerpc specific code that is guaranteed to have CONFIG_OF enabled,
> >> so it's not that likely to cause many more problems.
> >
> > Ok, then I'll let Miquel apply Anders' patch to the NAND tree.
> >
> > Thanks for your feedback.
>
> My randconfig build bot just ran into a second problem with this driver
> with CONFIG_GPIOLIB disabled:
>
> drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_dev_ready':
> drivers/mtd/nand/raw/jz4740_nand.c:133:9: error: implicit declaration
> of function 'gpiod_get_value_cansleep'; did you mean
> 'gpio_get_value_cansleep'? [-Werror=implicit-function-declaration]
> return gpiod_get_value_cansleep(nand->busy_gpio);
> ^~~~~~~~~~~~~~~~~~~~~~~~
> gpio_get_value_cansleep
> drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_probe':
> drivers/mtd/nand/raw/jz4740_nand.c:388:20: error: implicit declaration
> of function 'devm_gpiod_get_optional'; did you mean
> 'devm_gpio_request_one'? [-Werror=implicit-function-declaration]
> nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
> ^~~~~~~~~~~~~~~~~~~~~~~
> devm_gpio_request_one
> drivers/mtd/nand/raw/jz4740_nand.c:388:64: error: 'GPIOD_IN'
> undeclared (first use in this function); did you mean 'GPIOF_IN'?
> nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
> ^~~~~~~~
> GPIOF_IN
>
>
> We could add another dependency here or (my preference) include
> linux/gpio/consumer.h to fix that. Do you want a separate patch for
> it, or should Anders send a combined patch?
I already fixed that one last week [1], it's been applied yet.
Thanks,
Boris
[1]http://patchwork.ozlabs.org/patch/946614/
On Mon, 23 Jul 2018 18:04:52 +0200
Arnd Bergmann <[email protected]> wrote:
> On Mon, Jul 23, 2018 at 5:40 PM, Arnd Bergmann <[email protected]> wrote:
> > On Mon, Jul 23, 2018 at 11:41 AM, Boris Brezillon
> > <[email protected]> wrote:
> >> On Mon, 23 Jul 2018 11:34:43 +0200
> >> Arnd Bergmann <[email protected]> wrote:
> >>
> >>> On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
> >>> <[email protected]> wrote:
> >>> > +Arnd, Rob and the DT ML.
> >>> >
> >>> > On Sat, 21 Jul 2018 14:53:47 -0700
> >>> > Randy Dunlap <[email protected]> wrote:
> >>> >
> >>> >> On 07/21/2018 01:00 PM, Anders Roxell wrote:
> >>> >> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
> >>> >> > error:
> >>> >> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
> >>> >> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
> >>> >> > function ‘of_read_number’; did you mean ‘down_read_nested’?
> >>> >> > [-Werror=implicit-function-declaration]
> >>> >> > bank = of_read_number(prop, 1);
> >>> >> > ^~~~~~~~~~~~~~
> >>> >> > down_read_nested
> >>> >
> >>> > Looks like of.h defines stubs so that people can compile-test without
> >>> > CONFIG_OF selected. Maybe we should move of_read_number() and
> >>> > of_read_ulong() out of the #ifdef CONFIG_OF section.
> >>>
> >>> That seems fine, though the added dependency seems appropriate
> >>> here as well. of_read_number() is rarely used, and for the most part in
> >>> powerpc specific code that is guaranteed to have CONFIG_OF enabled,
> >>> so it's not that likely to cause many more problems.
> >>
> >> Ok, then I'll let Miquel apply Anders' patch to the NAND tree.
> >>
> >> Thanks for your feedback.
> >
> > My randconfig build bot just ran into a second problem with this driver
> > with CONFIG_GPIOLIB disabled:
> >
> > drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_dev_ready':
> > drivers/mtd/nand/raw/jz4740_nand.c:133:9: error: implicit declaration
> > of function 'gpiod_get_value_cansleep'; did you mean
> > 'gpio_get_value_cansleep'? [-Werror=implicit-function-declaration]
> > return gpiod_get_value_cansleep(nand->busy_gpio);
> > ^~~~~~~~~~~~~~~~~~~~~~~~
> > gpio_get_value_cansleep
> > drivers/mtd/nand/raw/jz4740_nand.c: In function 'jz_nand_probe':
> > drivers/mtd/nand/raw/jz4740_nand.c:388:20: error: implicit declaration
> > of function 'devm_gpiod_get_optional'; did you mean
> > 'devm_gpio_request_one'? [-Werror=implicit-function-declaration]
> > nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
> > ^~~~~~~~~~~~~~~~~~~~~~~
> > devm_gpio_request_one
> > drivers/mtd/nand/raw/jz4740_nand.c:388:64: error: 'GPIOD_IN'
> > undeclared (first use in this function); did you mean 'GPIOF_IN'?
> > nand->busy_gpio = devm_gpiod_get_optional(&pdev->dev, "busy", GPIOD_IN);
> > ^~~~~~~~
> > GPIOF_IN
> >
> >
> > We could add another dependency here or (my preference) include
> > linux/gpio/consumer.h to fix that. Do you want a separate patch for
> > it, or should Anders send a combined patch?
>
> One more failure, not analyzed yet:
>
> /git/arm-soc/drivers/mtd/nand/raw/jz4740_nand.c: In function
> 'jz_nand_select_chip':
> /git/arm-soc/drivers/mtd/nand/raw/jz4740_nand.c:87:9: error: implicit
> declaration of function 'readl'; did you mean 'krealloc'?
> [-Werror=implicit-function-declaration]
> ctrl = readl(nand->base + JZ_REG_NAND_CTRL);
> ^~~~~
Yep, somehow io.h was indirectly included by gpio.h. I fixed that in my
patch when replacing gpio.h by gpio/consumer.h by including linux/io.h.
On Mon, Jul 23, 2018 at 6:14 PM, Boris Brezillon
<[email protected]> wrote:
> On Mon, 23 Jul 2018 18:04:52 +0200
> Arnd Bergmann <[email protected]> wrote:
>
>> On Mon, Jul 23, 2018 at 5:40 PM, Arnd Bergmann <[email protected]> wrote:
>> > On Mon, Jul 23, 2018 at 11:41 AM, Boris Brezillon
>> > <[email protected]> wrote:
>> >> On Mon, 23 Jul 2018 11:34:43 +0200
>> >> Arnd Bergmann <[email protected]> wrote:
>> >>
>> >>> On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
>> >>> <[email protected]> wrote:
>> >>> > +Arnd, Rob and the DT ML.
> Yep, somehow io.h was indirectly included by gpio.h. I fixed that in my
> patch when replacing gpio.h by gpio/consumer.h by including linux/io.h.
Ok, looks good. With the patch from you plus the one from Anders,
I don't see any more randconfig failures in this driver.
Arnd
Hi Boris,
Boris Brezillon <[email protected]> wrote on Mon, 23 Jul 2018
11:41:07 +0200:
> On Mon, 23 Jul 2018 11:34:43 +0200
> Arnd Bergmann <[email protected]> wrote:
>
> > On Sun, Jul 22, 2018 at 8:29 AM, Boris Brezillon
> > <[email protected]> wrote:
> > > +Arnd, Rob and the DT ML.
> > >
> > > On Sat, 21 Jul 2018 14:53:47 -0700
> > > Randy Dunlap <[email protected]> wrote:
> > >
> > >> On 07/21/2018 01:00 PM, Anders Roxell wrote:
> > >> > JZ4780_NEMC doesn't depend on OF, and if OF isn't enabled we get this
> > >> > error:
> > >> > drivers/memory/jz4780-nemc.c: In function ‘jz4780_nemc_num_banks’:
> > >> > drivers/memory/jz4780-nemc.c:72:10: error: implicit declaration of
> > >> > function ‘of_read_number’; did you mean ‘down_read_nested’?
> > >> > [-Werror=implicit-function-declaration]
> > >> > bank = of_read_number(prop, 1);
> > >> > ^~~~~~~~~~~~~~
> > >> > down_read_nested
> > >
> > > Looks like of.h defines stubs so that people can compile-test without
> > > CONFIG_OF selected. Maybe we should move of_read_number() and
> > > of_read_ulong() out of the #ifdef CONFIG_OF section.
> >
> > That seems fine, though the added dependency seems appropriate
> > here as well. of_read_number() is rarely used, and for the most part in
> > powerpc specific code that is guaranteed to have CONFIG_OF enabled,
> > so it's not that likely to cause many more problems.
>
> Ok, then I'll let Miquel apply Anders' patch to the NAND tree.
Applied to nand/next, thanks.
Miquèl