bq25890_probe problems with the charger driver
that's what I see on the devkit from time to time:
[ 5.694066] bq25890-charger 0-006b: Failed to register power supply
[ 5.704976] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001a3
[ 5.713769] Mem abort info:
[ 5.716565] ESR = 0x96000021
[ 5.719619] EC = 0x25: DABT (current EL), IL = 32 bits
[ 5.724933] SET = 0, FnV = 0
[ 5.727987] EA = 0, S1PTW = 0
[ 5.731127] FSC = 0x21: alignment fault
[ 5.735137] Data abort info:
[ 5.738037] ISV = 0, ISS = 0x00000021
[ 5.741879] CM = 0, WnR = 0
[ 5.744848] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000045cc3000
[ 5.751291] [00000000000001a3] pgd=0000000000000000, p4d=0000000000000000
[ 5.758090] Internal error: Oops: 96000021 [#1] PREEMPT SMP
[ 5.763668] Modules linked in: bq25890_charger(+) snvs_pwrkey caam(+) error snd(+) imx2_wdt imx_sdma
soundcore virt_dma watchdog libcomposite ledtrig_timer ledtrig_pattern fuse ip_tables x_tables ipv6 xhci
_plat_hcd xhci_hcd usbcore cdns_mhdp_imx dwc3 cdns_mhdp_drmcore imx_dcss phy_fsl_imx8mq_usb ulpi udc_cor
e roles clk_bd718x7
[ 5.792713] CPU: 0 PID: 354 Comm: irq/151-bq25890 Not tainted 5.15.0-rc2-librem5-00216-g8143f015362c
#402
[ 5.792727] Hardware name: Purism Librem 5 devkit (DT)
[ 5.792732] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 5.792742] pc : _raw_write_lock_irqsave+0x260/0x324
[ 5.792761] lr : power_supply_changed+0x38/0xb0
[ 5.792774] sp : ffff8000131fbcf0
[ 5.792778] x29: ffff8000131fbcf0 x28: 0000000000000000 x27: 0000000000000000
[ 5.792792] x26: ffff8000100b6bf0 x25: ffff8000100b6cd0 x24: ffff0000009ebe00
[ 5.792804] x23: 0000000000000001 x22: fffffffffffffe33 x21: 00000000000001a3
[ 5.792816] x20: ffff0000013faf53 x19: 0000000000000000 x18: 0000000000000000
[ 5.792828] x17: ffff8000ae7d5000 x16: ffff800010004000 x15: 0000000000004000
[ 5.792840] x14: 0000000000000001 x13: 6c616d726f6e2065 x12: 746174732043544e
[ 5.792853] x11: ffff80001158b180 x10: 00000000ffffe000 x9 : ffff800010933d28
[ 5.792865] x8 : ffff8000114db180 x7 : ffff80001158b180 x6 : 0000000000000000
[ 5.792877] x5 : 0000000000000000 x4 : ffff0000bf942948 x3 : 00000000000001a3
[ 5.792889] x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000001
[ 5.792902] Call trace:
[ 5.792906] _raw_write_lock_irqsave+0x260/0x324
[ 5.792915] power_supply_changed+0x38/0xb0
[ 5.792924] __bq25890_handle_irq+0x98/0x240 [bq25890_charger]
[ 5.792945] bq25890_irq_handler_thread+0x34/0x54 [bq25890_charger]
[ 5.792959] irq_thread_fn+0x38/0xb0
[ 5.792970] irq_thread+0x160/0x294
[ 5.792977] kthread+0x15c/0x170
[ 5.792986] ret_from_fork+0x10/0x20
[ 5.793001] Code: 17fffea8 d5384613 521b0a60 f9800071 (885ffc60)
[ 5.793008] ---[ end trace 8e139fd812ccd9ed ]---
see the discussions in https://source.puri.sm/Librem5/linux-next/-/merge_requests/468