[PATCH v5 0/4] staging: octeon: modernize logging and refactor to per-device state

Ayush Mukkanwar
2026-04-27T15:17:58Z

This series modernizes the logging infrastructure in the Octeon ethernet
staging driver by replacing pr_warn(), pr_err(), and pr_info() calls with
their device-aware counterparts (dev_warn(), dev_err(), netdev_err(), and
netdev_info()), and refactors driver state to be per-device.

Patches 1-3 convert logging calls to include device context in messages.
Patch 4 moves the static rx group array into the platform device private
structure and passes struct platform_device through the call chains
instead of struct device.

Changes in v5:
- Pass struct platform_device instead of struct device through
ethernet-mem and ethernet-rx call chains (Greg)
- Move static oct_rx_group[16] array into the platform device
private structure to eliminate file-scoped global state (Greg)
- Update kdoc parameter names to match renamed parameters

Changes in v4:
- Broke the series into much smaller, focused patches to ease review
- Removed the global cvm_oct_rx_refill_work by introducing a per-device
struct octeon_ethernet_platform, allocated during probe
- Retrieved the device pointer via platform_get_drvdata() and passed it
down the call chain (NAPI poll -> rx refill -> mem free/fill) as the
first argument to avoid global state
- Note: Dropped the ethernet-spi.c IRQ handler conversions from this
series for now, as those errors are SPI4 bus-level

Changes in v3:
- Use netdev_err() instead of dev_err() in ethernet-spi.c
- Pass the netdev pointer directly to request_irq/free_irq
instead of dev->dev.parent
- Move the device pointer to be the first argument in helper
functions
- Fix checkpatch alignment and line-length warnings
- Add missing @dev kernel-doc parameter descriptions
- Wrap commit message body to 75 characters
- Fix author name formatting

Changes in v2:
- Instead of adding pr_fmt() macros, replace pr_*() calls with
proper dev_*() and netdev_*() calls
- Thread device pointer through call chains via function parameters
- Introduce struct octeon_ethernet_platform to pass device pointer
through work queue callbacks via container_of
- Store device pointer in oct_rx_group for NAPI poll functions
- Use dev_id in interrupt handler to pass and retrieve device pointer

Ayush Mukkanwar (4):
staging: octeon: ethernet-mem: replace pr_warn with dev_warn in free
functions
staging: octeon: replace pr_warn with dev_warn in fill path
staging: octeon: ethernet: replace pr_err and pr_info with dev_err and
netdev_err
staging: octeon: refactor to per-device state and pass platform_device

drivers/staging/octeon/ethernet-mem.c | 44 +++++++++-------
drivers/staging/octeon/ethernet-mem.h | 8 ++-
drivers/staging/octeon/ethernet-rx.c | 49 +++++++++---------
drivers/staging/octeon/ethernet-rx.h | 11 ++--
drivers/staging/octeon/ethernet.c | 64 ++++++++++++++----------
drivers/staging/octeon/octeon-ethernet.h | 18 ++++++-
6 files changed, 116 insertions(+), 78 deletions(-)

--
2.53.0