mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-08-09 06:14:34 +02:00
Extract DPLL channel state management into a dedicated zl3073x_chan module, following the pattern already established by zl3073x_ref, zl3073x_out and zl3073x_synth. The new struct zl3073x_chan caches the raw mode_refsel register value in a cfg group with inline getters and setters to extract and update the bitfields. Three standard state management functions are provided: - zl3073x_chan_state_fetch: read the mode_refsel register from HW - zl3073x_chan_state_get: return cached channel state - zl3073x_chan_state_set: write changed state to HW, skip if unchanged The channel state array chan[ZL3073X_MAX_CHANNELS] is added to struct zl3073x_dev. Channel state is fetched as part of zl3073x_dev_state_fetch, using the chip-specific channel count. The refsel_mode and forced_ref fields are removed from struct zl3073x_dpll and all direct register accesses in dpll.c are replaced with the new chan state operations. Signed-off-by: Ivan Vecera <ivecera@redhat.com> Link: https://patch.msgid.link/20260315174224.399074-4-ivecera@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
12 lines
312 B
Makefile
12 lines
312 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
obj-$(CONFIG_ZL3073X) += zl3073x.o
|
|
zl3073x-objs := chan.o core.o devlink.o dpll.o \
|
|
flash.o fw.o out.o prop.o ref.o synth.o
|
|
|
|
obj-$(CONFIG_ZL3073X_I2C) += zl3073x_i2c.o
|
|
zl3073x_i2c-objs := i2c.o
|
|
|
|
obj-$(CONFIG_ZL3073X_SPI) += zl3073x_spi.o
|
|
zl3073x_spi-objs := spi.o
|