Skip to content

hi3520dv200: enable CONFIG_FB to fix hifb module load#2104

Merged
widgetii merged 1 commit into
masterfrom
fix/hi3520dv200-hifb-config-fb
May 17, 2026
Merged

hi3520dv200: enable CONFIG_FB to fix hifb module load#2104
widgetii merged 1 commit into
masterfrom
fix/hi3520dv200-hifb-config-fb

Conversation

@widgetii
Copy link
Copy Markdown
Member

Summary

  • Flip # CONFIG_FB is not setCONFIG_FB=y in the hi3520dv200 3.0.8 kernel defconfig so the vendor hifb.ko can resolve register_framebuffer / framebuffer_alloc / fb_alloc_cmap / fb_pan_display / framebuffer_release / unregister_framebuffer / fb_dealloc_cmap at insmod time.
  • Matches the minimum CONFIG_FB=y (no CONFIG_FB_* sub-driver, no CONFIG_FRAMEBUFFER_CONSOLE) already used by the working DVR sibling hi3536cv100 — hifb is itself the FB hardware driver and only consumes the core API.

Symptom (live camera, pre-fix)

hifb: Unknown symbol unregister_framebuffer (err 0)
hifb: Unknown symbol framebuffer_alloc (err 0)
hifb: Unknown symbol fb_dealloc_cmap (err 0)
hifb: Unknown symbol register_framebuffer (err 0)
hifb: Unknown symbol fb_alloc_cmap (err 0)
hifb: Unknown symbol fb_pan_display (err 0)
hifb: Unknown symbol framebuffer_release (err 0)

Test plan

  • CI build (hi3520dv200_lite) job succeeds
  • uImage.hi3520dv200 size stays under the 2048 KB budget (Makefile:102 CHECK_SIZE)
  • On lab DVR openipc-hi3520dv200.dlab.torturelabs.com: dmesg shows no hifb: Unknown symbol … lines
  • lsmod | grep hifb lists the module
  • /dev/fb0 exists

🤖 Generated with Claude Code

The vendor hifb.ko ships in the hisilicon-osdrv-hi3520dv200 package and
is insmod'd by load_hisilicon at boot, but on the running camera it
fails to resolve every framebuffer-core symbol it imports:

  hifb: Unknown symbol unregister_framebuffer (err 0)
  hifb: Unknown symbol framebuffer_alloc (err 0)
  hifb: Unknown symbol fb_dealloc_cmap (err 0)
  hifb: Unknown symbol register_framebuffer (err 0)
  hifb: Unknown symbol fb_alloc_cmap (err 0)
  hifb: Unknown symbol fb_pan_display (err 0)
  hifb: Unknown symbol framebuffer_release (err 0)

Root cause: the per-board defconfig had `# CONFIG_FB is not set`, so
drivers/video/fbmem.c and fbcmap.c are not compiled and those exports
never enter kallsyms. hifb is itself the FB hardware driver - it only
needs the FB core API, no CONFIG_FB_* sub-driver. The closest working
DVR sibling, hi3536cv100, enables exactly CONFIG_FB=y with every
CONFIG_FB_* / CONFIG_FRAMEBUFFER_CONSOLE / CONFIG_LOGO left unset; we
mirror that minimum.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@widgetii widgetii merged commit a2adf41 into master May 17, 2026
92 checks passed
@widgetii widgetii deleted the fix/hi3520dv200-hifb-config-fb branch May 17, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant