[u-boot][PATCH 00/14] rawnand: omap_gpmc: driver model support

Roger Quadros rogerq at kernel.org
Sat Dec 17 14:43:47 CET 2022


On 17/12/2022 15:38, Michael Nazzareno Trimarchi wrote:
> Hi
> 
> On Sat, Dec 17, 2022 at 2:00 PM Roger Quadros <rogerq at kernel.org> wrote:
>>
>> Hi Michael & Dario,
>>
>> On 12/12/2022 11:39, Michael Nazzareno Trimarchi wrote:
>>> Hi Roger
>>>
>>> Most of the building problem can be tested with this configuration
>>>
>>> make ARCH=arm chiliboard_defconfig
>>
>> I resolved the original issue for all boards but now face a new issue
>> only with the chiliboard.
>>
>> arm-none-linux-gnueabihf-ld.bfd: drivers/mtd/nand/raw/omap_elm.o: in function `dev_read_resource':
>> /work/u-boot/include/dm/read.h:1139: undefined reference to `ofnode_read_resource'
>>   AR      common/built-in.o
>> make[2]: *** [/work/u-boot/scripts/Makefile.spl:527: spl/u-boot-spl] Error 1
>> make[1]: *** [/work/u-boot/Makefile:2071: spl/u-boot-spl] Error 2
>> make[1]: *** Waiting for unfinished jobs....
>> make[1]: Leaving directory '/tmp'
>> make: *** [Makefile:177: sub-make] Error 2
>>
>> The following config options are set
>> CONFIG_DM_DEV_READ_INLINE=y
> 
> What happen is that is not set?

I removed "default y" for it in drivers/core/Kconfig

Now I get

arm-none-linux-gnueabihf-ld.bfd: drivers/mtd/nand/raw/omap_elm.o: in function `elm_probe':
/work/u-boot/drivers/mtd/nand/raw/omap_elm.c:206: undefined reference to `dev_read_resource'
make[2]: *** [/work/u-boot/scripts/Makefile.spl:527: spl/u-boot-spl] Error 1
make[1]: *** [/work/u-boot/Makefile:2071: spl/u-boot-spl] Error 2
make[1]: *** Waiting for unfinished jobs....

cheers,
-roger

> 
> Michael
> 
>> CONFIG_SUPPORT_OF_CONTROL=y
>>
>> My understanding is that in case of spl build (Makefile.spl), the
>> drivers/core/ofnode.o does not seem to be included
>> thus causing the linking error.
>>
>> Any suggestions how to fix this?
>>
>> I've pushed the patches here
>> https://github.com/rogerq/u-boot/commits/for-v2023.01/am64-nand-base-1.4
>>
>> cheers,
>> -roger
>>
>>>
>>> Michael
>>>
>>> On Mon, Dec 12, 2022 at 10:27 AM Dario Binacchi
>>> <dario.binacchi at amarulasolutions.com> wrote:
>>>>
>>>> Hi Roger,
>>>>
>>>> On Mon, Dec 12, 2022 at 10:12 AM Roger Quadros <rogerq at kernel.org> wrote:
>>>>>
>>>>> Hi Dario,
>>>>>
>>>>> On 11/12/2022 15:56, Dario Binacchi wrote:
>>>>>> Hi Roger,
>>>>>>
>>>>>> On Fri, Nov 25, 2022 at 1:38 PM Roger Quadros <rogerq at kernel.org> wrote:
>>>>>>>
>>>>>>> Hi Michael,
>>>>>>>
>>>>>>> On 08/11/2022 11:26, Michael Nazzareno Trimarchi wrote:
>>>>>>>> Hi Roger
>>>>>>>>
>>>>>>>> On Fri, Nov 4, 2022 at 2:27 PM Roger Quadros <rogerq at kernel.org> wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> On 11/10/2022 14:49, Roger Quadros wrote:
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> This series adds driver model support for rawnand: omap_gpmc
>>>>>>>>>> and omap_elm drivers.
>>>>>>>>>>
>>>>>>>>>> This will enable the driver to be used on K2/K3 platforms as well.
>>>>>>>>>
>>>>>>>>> Any comments on patches 5 and later? Thanks
>>>>>>>>>
>>>>>>>>
>>>>>>>> We will try to close this week.
>>>>>>>
>>>>>>> Could you please give your comments on the last few patches. Thanks!
>>>>>>>
>>>>>>> cheers,
>>>>>>> -roger
>>>>>>>
>>>>>>>>
>>>>>>>> Michael
>>>>>>>>
>>>>>>>>>
>>>>>>>>> cheers,
>>>>>>>>> -roger
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> cheers,
>>>>>>>>>> -roger
>>>>>>>>>>
>>>>>>>>>> Roger Quadros (14):
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Deprecate asm/arch/mem.h
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Enable build for K2/K3 platforms
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Fix build warning on 64-bit platforms
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Optimize NAND reads
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correction
>>>>>>>>>>   mtd: rawnand: nand_base: Allow base driver to be used in SPL without
>>>>>>>>>>     nand_bbt
>>>>>>>>>>   mtd: rawnand: nand_spl_loaders: Fix cast type build warning
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Reduce .bss usage
>>>>>>>>>>   dt-bindings: mtd: Add ti,gpmc-nand DT binding documentation
>>>>>>>>>>   mtd: rawnand: omap_gpmc: support u-boot driver model
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Add SPL NAND support
>>>>>>>>>>   mtd: rawnand: omap_gpmc: Enable SYS_NAND_PAGE_COUNT for OMAP_GPMC
>>>>>>>>>>   dt-bindings: mtd: Add ti,elm DT binding documentation
>>>>>>>>>>   mtd: rawnand: omap_elm: u-boot driver model support
>>>>>>>>>>
>>>>>>>>>>  doc/device-tree-bindings/mtd/ti,elm.yaml      |  72 +++
>>>>>>>>>>  .../mtd/ti,gpmc-nand.yaml                     | 129 +++++
>>>>>>>>>>  drivers/mtd/nand/raw/Kconfig                  |  11 +-
>>>>>>>>>>  drivers/mtd/nand/raw/Makefile                 |   2 +-
>>>>>>>>>>  drivers/mtd/nand/raw/nand_base.c              |  18 +-
>>>>>>>>>>  drivers/mtd/nand/raw/nand_spl_loaders.c       |   2 +-
>>>>>>>>>>  drivers/mtd/nand/raw/omap_elm.c               |  33 +-
>>>>>>>>>>  .../mtd => drivers/mtd/nand/raw}/omap_elm.h   |   6 +
>>>>>>>>>>  drivers/mtd/nand/raw/omap_gpmc.c              | 500 +++++++++++++-----
>>>>>>>>>>  9 files changed, 637 insertions(+), 136 deletions(-)
>>>>>>>>>>  create mode 100644 doc/device-tree-bindings/mtd/ti,elm.yaml
>>>>>>>>>>  create mode 100644 doc/device-tree-bindings/mtd/ti,gpmc-nand.yaml
>>>>>>>>>>  rename {include/linux/mtd => drivers/mtd/nand/raw}/omap_elm.h (97%)
>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>> I tried to merge your whole series but after the second fix and the
>>>>>> third time the CI/CD pipeline failed
>>>>>
>>>>> Do you have the link to the failure?
>>>>
>>>> These are the CI/CD pipelines links:
>>>> https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540827
>>>> https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540876
>>>> but I think you don't have permission to access them.
>>>>
>>>> Anyway:
>>>>
>>>> for https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540827:
>>>> +====================================================
>>>> 345 arm: + am335x_guardian
>>>> 346+drivers/mtd/nand/raw/omap_gpmc.c:1208:26: error: 'nand_chip'
>>>> defined but not used [-Werror=unused-variable]
>>>> 347+ 1208 | static struct nand_chip *nand_chip; /* First NAND chip for
>>>> SPL use only */
>>>> 348+ | ^~~~~~~~~
>>>> 349+cc1: all warnings being treated as errors
>>>> 350+make[5]: *** [scripts/Makefile.build:258:
>>>> drivers/mtd/nand/raw/omap_gpmc.o] Error 1
>>>> 351+make[4]: *** [scripts/Makefile.build:398: drivers/mtd/nand/raw] Error 2
>>>> 352+make[3]: *** [scripts/Makefile.build:398: drivers/mtd/nand] Error 2
>>>> 353+make[2]: *** [scripts/Makefile.build:398: drivers/mtd] Error 2
>>>> 354+make[1]: *** [Makefile:1871: drivers] Error 2
>>>> 355+make: *** [Makefile:177: sub-make] Error 2
>>>>
>>>> for https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/jobs/540876:
>>>> +====================================================
>>>> 498 arm: + chiliboard
>>>> 499+arm-linux-gnueabi-ld.bfd: drivers/mtd/nand/raw/nand.o: in function
>>>> `nand_init_chip':
>>>> 500+drivers/mtd/nand/raw/nand.c:92: undefined reference to `board_nand_init'
>>>> 501+make[1]: *** [Makefile:1778: u-boot] Error 1
>>>> 502+make: *** [Makefile:177: sub-make] Error 2
>>>> 503 arm: w+ am335x_shc_netboot
>>>> 504+===================== WARNING ======================
>>>> 505+This board does not use CONFIG_DM_I2C (Driver Model
>>>> 506+for I2C drivers). Please update the board to use
>>>> 507+CONFIG_DM_I2C before the v2022.04 release. Failure to
>>>> 508+update by the deadline may result in board removal.
>>>> 509+See doc/develop/driver-model/migration.rst for more info.
>>>> 510+====================================================
>>>> 511 arm: + cm_t43
>>>> 512+arm-linux-gnueabi-ld.bfd: drivers/mtd/nand/raw/nand.o: in function
>>>> `nand_init_chip':
>>>> 513+drivers/mtd/nand/raw/nand.c:92: undefined reference to `board_nand_init'
>>>> 514+make[1]: *** [Makefile:1778: u-boot] Error 1
>>>> 515+make: *** [Makefile:177: sub-make] Error 2
>>>> 516 arm: w+ am335x_shc_sdboot
>>>>
>>>> In both cases failed the "build all 32bit ARM platforms" test.
>>>>
>>>> I think you have to run the command:
>>>> ./tools/buildman/buildman -o /tmp -PEWM arm -x aarch64
>>>> if you have to run the tests locally.
>>>>
>>>> Thanks and regards,
>>>> Dario
>>>>
>>>>>
>>>>>> I thought it's better you fix the problems. So, I only accepted some
>>>>>> of the first few patches in the series:
>>>>>> 01/14 mtd: rawnand: omap_gpmc: Deprecate asm/arch/mem.h
>>>>>> 02/14 mtd: rawnand: omap_gpmc: Enable build for K2/K3 platforms
>>>>>> 03/14 mtd: rawnand: omap_gpmc: Fix build warning on 64-bit platforms
>>>>>> 04/14 mtd: rawnand: omap_gpmc: Optimize NAND reads
>>>>>> 07/14 mtd: rawnand: nand_spl_loaders: Fix cast type build warning
>>>>>> 08/14 mtd: rawnand: omap_gpmc: Reduce .bss usage
>>>>>>
>>>>>> For the others, please fix them to run the tests successfully.
>>>>>
>>>>> No problem. I will try to fix and run them through the CI testing myself
>>>>> before re-posting.
>>>>>
>>>>> cheers,
>>>>> -roger
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Dario Binacchi
>>>>
>>>> Embedded Linux Developer
>>>>
>>>> dario.binacchi at amarulasolutions.com
>>>>
>>>> __________________________________
>>>>
>>>>
>>>> Amarula Solutions SRL
>>>>
>>>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>>>>
>>>> T. +39 042 243 5310
>>>> info at amarulasolutions.com
>>>>
>>>> www.amarulasolutions.com
>>>
>>>
>>>
> 
> 
> 


More information about the U-Boot mailing list