hisilicon-osdrv-hi3519v101: rmmod openhisilicon source modules by open_* name#2028
Merged
Merged
Conversation
…n_* name load_hisilicon issued `rmmod -w` against vendor file names (`hi_sensor_i2c`, `hi_sensor_spi`, `hi_osal`, `hi_pwm`, `hi_piris`, `hi_mipi`) for modules openhisilicon ships with `KBUILD_MODNAME=open_*`. Those rmmods miss silently with "No such file or directory", and on 3519v101 (3519/3516av200 SDK) the failure cascades — `hi_sensor_i2c` holds a reference into `hi3519v101_isp`, so `rmmod -w hi3519v101_base` later fails with "Resource temporarily unavailable" because base is still pinned by isp. The QEMU CI artifacts on `OpenIPC/openhisilicon#63` show this directly: rmmod: can't unload module 'hi_sensor_i2c': No such file or directory rmmod: can't unload module 'hi3519v101_base': Resource temporarily unavailable rmmod: can't unload module 'hi_osal': No such file or directory Verified by extracting `.gnu.linkonce.this_module` from the shipped Apr 28 `latest` 3519v101 tarball: hi_osal.ko → open_osal hi_sensor_i2c.ko → open_sensor_i2c hi_sensor_spi.ko → open_sensor_spi hi_pwm.ko → open_pwm hi_piris.ko → open_piris hi_mipi.ko → open_mipi_rx sys_config.ko → open_sys_config …vs Strategy B blob-wrapped modules that retain vendor names (`hi3519v101_base.ko → hi3519v101_base`, `hi3519v101_sys.ko → hi3519v101_sys`, `hi3519v101_isp.ko → hi3519v101_isp`, …), which is why those `rmmod -w` calls don't change. Refs OpenIPC/openhisilicon#62, OpenIPC/openhisilicon#63.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
load_hisiliconfor hi3519v101 issuesrmmod -wagainst vendor file names (hi_sensor_i2c,hi_sensor_spi,hi_osal,hi_pwm,hi_piris,hi_mipi) for modules openhisilicon ships withKBUILD_MODNAME=open_*. Those rmmods miss silently with "No such file or directory", and the failure cascades —hi_sensor_i2c(loaded asopen_sensor_i2c) holds a reference intohi3519v101_isp, sormmod -w hi3519v101_baselater fails with "Resource temporarily unavailable" because base is still pinned by isp.Symptom in CI
The QEMU CI on
OpenIPC/openhisilicon#63forhi3519v101shows this directly:```
rmmod: can't unload module 'hi_sensor_i2c': No such file or directory
rmmod: can't unload module 'hi3519v101_base': Resource temporarily unavailable
rmmod: can't unload module 'hi_osal': No such file or directory
```
Verification
Extracted
.gnu.linkonce.this_modulefrom the shipped Apr 28latest3519v101 tarball:```
hi_osal.ko → open_osal
hi_sensor_i2c.ko → open_sensor_i2c
hi_sensor_spi.ko → open_sensor_spi
hi_pwm.ko → open_pwm
hi_piris.ko → open_piris
hi_mipi.ko → open_mipi_rx
sys_config.ko → open_sys_config
```
…vs Strategy B blob-wrapped modules that retain vendor names (
hi3519v101_base.ko → hi3519v101_base,hi3519v101_sys.ko → hi3519v101_sys,hi3519v101_isp.ko → hi3519v101_isp, …), which is why thosermmod -wcalls don't change.Scope
8 rmmod call sites updated. Insmod calls operate on file names and don't need to change.
Refs
OpenIPC/openhisilicon#62— root-cause investigation.OpenIPC/openhisilicon#63— CI assertions; thehi3519v101job is currently RED and will turn GREEN once openipc/firmware re-cuts `releases/latest` with this script.OpenIPC/firmware#2026.Test plan
OpenIPC/openhisilicon#63and confirmQEMU boot (hi3519v101)flips RED → GREEN.load_hisilicon -i -sensor <real_sensor>cleanly loads,/dev/sysexists, andmajesticserves a frame.