mbox series

[v3,0/3] Add nvmem node for BCM2711 bootloader public key

Message ID 20230420122924.37997-1-iivanov@suse.de (mailing list archive)
Headers show
Series Add nvmem node for BCM2711 bootloader public key | expand

Message

Ivan T. Ivanov April 20, 2023, 12:29 p.m. UTC
While debugging kernel stack trace from bug report[1], on openSUSE
Tumbleweed, which uses vendor devicetree, I have found that rmem driver
lack support for multiple rmem devices.

Following patches add new devicetree node, its documentation and
support for it in rmem driver.

[1] https://bugzilla.suse.com/show_bug.cgi?id=1206846

--
[    9.831285] sysfs: cannot create duplicate filename '/bus/nvmem/devices/rmem0'
[    9.831304] CPU: 3 PID: 467 Comm: (udev-worker) Not tainted 6.2.9-1-default #1 openSUSE Tumbleweed a4aeb3a90c0f23041a8a7944b12739b07585f009
[    9.831326] Hardware name: raspberrypi rpi/rpi, BIOS 2023.01 01/01/2023
[    9.831335] Call trace:
[    9.831343]  dump_backtrace+0xe4/0x140
[    9.831366]  show_stack+0x20/0x30
[    9.831379]  dump_stack_lvl+0x64/0x80
[    9.831398]  dump_stack+0x18/0x34
[    9.831410]  sysfs_warn_dup+0x6c/0x90
[    9.831424]  sysfs_do_create_link_sd+0xf8/0x100
[    9.831437]  sysfs_create_link+0x28/0x50
[    9.831449]  bus_add_device+0x70/0x190
[    9.831468]  device_add+0x3e8/0x84c
[    9.831481]  nvmem_register+0x85c/0x9f0
[    9.831500]  devm_nvmem_register+0x24/0x70
[    9.831517]  rmem_probe+0xa0/0xf4 [nvmem_rmem 649243b01e5e28ee94e4dd53bd13b6ececa836f8]
[    9.831555]  platform_probe+0x70/0xd0
[    9.831566]  really_probe+0xc8/0x3e4
[    9.831582]  __driver_probe_device+0x84/0x190
[    9.831598]  driver_probe_device+0x44/0x11c
[    9.831613]  __driver_attach+0xf8/0x200
[    9.831629]  bus_for_each_dev+0x78/0xd0
[    9.831643]  driver_attach+0x2c/0x40
[    9.831657]  bus_add_driver+0x188/0x250
[    9.831672]  driver_register+0x80/0x13c
[    9.831688]  __platform_driver_register+0x30/0x40
[    9.831699]  rmem_driver_init+0x28/0x1000 [nvmem_rmem 649243b01e5e28ee94e4dd53bd13b6ececa836f8]
[    9.831727]  do_one_initcall+0x48/0x2bc
[    9.831740]  do_init_module+0x50/0x1f0
[    9.831753]  load_module+0x1e54/0x2250
[    9.831763]  __do_sys_init_module+0x2ac/0x2f0
[    9.831774]  __arm64_sys_init_module+0x24/0x30
[    9.831785]  invoke_syscall+0x78/0x100
[    9.831803]  el0_svc_common.constprop.0+0x15c/0x180
[    9.831820]  do_el0_svc+0x40/0xb0
[    9.831836]  el0_svc+0x34/0x134
[    9.831850]  el0t_64_sync_handler+0x114/0x120
[    9.831865]  el0t_64_sync+0x1a4/0x1a8
[    9.831956] rmem: probe of 3ef62ce0.nvram failed with error -17

--
Changes since v2
https://lore.kernel.org/all/20230413085206.149730-1-iivanov@suse.de/

 - Add devicetree bindings documentation patch

--
Changes since v1
https://lore.kernel.org/all/20230411135035.106725-1-iivanov@suse.de/

I dig into Raspberry Github repository and found original patches
from Tim and Phil which add new region and fix rmem driver.

 - Use NVMEM_DEVID_AUTO instead making region name unique from
   the driver itself.
 - Add devicetree node for BCM2711 bootloader public key.
--

Ivan T. Ivanov (1):
  dt-bindings: nvmem: rmem: Add raspberrypi,bootloader-public-key

Phil Elwell (1):
  nvmem: rmem: Use NVMEM_DEVID_AUTO

Tim Gover (1):
  ARM: dts: Add nvmem node for BCM2711 bootloader public key

 Documentation/devicetree/bindings/nvmem/rmem.yaml |  1 +
 arch/arm/boot/dts/bcm2711-rpi.dtsi                | 14 ++++++++++++++
 drivers/nvmem/rmem.c                              |  1 +
 3 files changed, 16 insertions(+)

Comments

Stefan Wahren April 25, 2023, 4:33 p.m. UTC | #1
Am 20.04.23 um 14:29 schrieb Ivan T. Ivanov:
> While debugging kernel stack trace from bug report[1], on openSUSE
> Tumbleweed, which uses vendor devicetree, I have found that rmem driver
> lack support for multiple rmem devices.
> 
> Following patches add new devicetree node, its documentation and
> support for it in rmem driver.
> 
> [1] https://bugzilla.suse.com/show_bug.cgi?id=1206846
> 

The whole series is:

Reviewed-by: Stefan Wahren <stefan.wahren@i2se.com>

> 
> --
> Changes since v2
> https://lore.kernel.org/all/20230413085206.149730-1-iivanov@suse.de/
> 
>   - Add devicetree bindings documentation patch
> 
> --
> Changes since v1
> https://lore.kernel.org/all/20230411135035.106725-1-iivanov@suse.de/
> 
> I dig into Raspberry Github repository and found original patches
> from Tim and Phil which add new region and fix rmem driver.
> 
>   - Use NVMEM_DEVID_AUTO instead making region name unique from
>     the driver itself.
>   - Add devicetree node for BCM2711 bootloader public key.
> --
> 
> Ivan T. Ivanov (1):
>    dt-bindings: nvmem: rmem: Add raspberrypi,bootloader-public-key
> 
> Phil Elwell (1):
>    nvmem: rmem: Use NVMEM_DEVID_AUTO
> 
> Tim Gover (1):
>    ARM: dts: Add nvmem node for BCM2711 bootloader public key
> 
>   Documentation/devicetree/bindings/nvmem/rmem.yaml |  1 +
>   arch/arm/boot/dts/bcm2711-rpi.dtsi                | 14 ++++++++++++++
>   drivers/nvmem/rmem.c                              |  1 +
>   3 files changed, 16 insertions(+)
>