Skip to content

[AS9817-64D][AS9817-64O] Upgrade kernel from 6.1 to 6.12#115

Open
vincentchiang-ec wants to merge 4 commits intoaccton:support_linux_6.12from
vincentchiang-ec:as9817-64/upgrade-kernel-6.12
Open

[AS9817-64D][AS9817-64O] Upgrade kernel from 6.1 to 6.12#115
vincentchiang-ec wants to merge 4 commits intoaccton:support_linux_6.12from
vincentchiang-ec:as9817-64/upgrade-kernel-6.12

Conversation

@vincentchiang-ec
Copy link

Summary

Upgrade AS9817-64D and AS9817-64O platform drivers from kernel 6.1 to 6.12 LTS.

Changes

Kernel version bump

  • PKG.yml, Makefile, r0.yml: onl-kernel-6.1-lts-x86-64-allonl-kernel-6.12-lts-x86-64-all (for both as9817-64d and as9817-64o)

API compatibility fixes for kernel 6.12

platform_driver.remove return type changed (intvoid):

  • x86-64-accton-as9817-64-fan.c
  • x86-64-accton-as9817-64-leds.c
  • x86-64-accton-as9817-64-psu.c
  • x86-64-accton-as9817-64-sys.c
  • x86-64-accton-as9817-64-thermal.c
  • x86-64-accton-as9817-64-i2c-ocores.c
  • x86-64-accton-as9817-64-fpga.c

i2c_driver.probe signature changed (mux.c):

  • Removed second parameter const struct i2c_device_id *id
  • Use i2c_client_get_device_id(client) to retrieve device id inside probe

i2c_mux_add_adapter API changed (mux.c):

  • 4 arguments → 3 arguments (removed force_nr parameter; dynamic bus numbering)
  • Fixed argument order: i2c_mux_add_adapter(muxc, 0, i) where chan_id=i

    Bug: previous port had args swapped (force_nr=i, chan_id=0), causing EBUSY (-16) when i=1 tried to force bus 1 which was already taken

Other:

  • sysi.c: zero-initialize onlp_onie_info_t onie to avoid uninitialized memory

vincentchiang-ec and others added 4 commits March 14, 2026 05:14
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…6.12

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- i2c_driver.probe: remove second parameter, use i2c_client_get_device_id
- i2c_mux_add_adapter: remove force_nr parameter (4 args -> 3 args)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
force_nr and chan_id were swapped in the previous kernel 6.12 port:
- Wrong: i2c_mux_add_adapter(muxc, i, 0)  [force_nr=i, chan_id=0]
- Fixed: i2c_mux_add_adapter(muxc, 0, i)  [force_nr=0 (dynamic), chan_id=i]

With force_nr=i, when i=1 the mux tries to force bus 1 which is already
taken, causing EBUSY (-16) and failing probe.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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