Message ID | 20250309112114.1177361-12-lkml@antheas.dev |
---|---|
State | New |
Headers | show |
Series | None | expand |
z On Sun, Mar 9, 2025 at 4:21 AM Antheas Kapenekakis <lkml@antheas.dev> wrote: > > While not necessary for fixing the ABI hwmon issue, fan speed will be > the only remaining value without a function. Therefore, finish the > refactor by moving it to a separate function. > > Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> > --- > drivers/platform/x86/oxpec.c | 53 ++++++++++++++++++++---------------- > 1 file changed, 29 insertions(+), 24 deletions(-) > > diff --git a/drivers/platform/x86/oxpec.c b/drivers/platform/x86/oxpec.c > index 7dfd798bec87..a06a7c54aa08 100644 > --- a/drivers/platform/x86/oxpec.c > +++ b/drivers/platform/x86/oxpec.c > @@ -806,6 +806,34 @@ static umode_t oxp_ec_hwmon_is_visible(const void *drvdata, > } > } > > +/* Fan speed read function */ > +static int oxp_pwm_fan_speed(long *val) > +{ > + switch (board) { > + case orange_pi_neo: > + return read_from_ec(ORANGEPI_SENSOR_FAN_REG, 2, val); > + case oxp_2: > + case oxp_x1: > + return read_from_ec(OXP_2_SENSOR_FAN_REG, 2, val); > + case aok_zoe_a1: > + case aya_neo_2: > + case aya_neo_air: > + case aya_neo_air_1s: > + case aya_neo_air_plus_mendo: > + case aya_neo_air_pro: > + case aya_neo_flip: > + case aya_neo_geek: > + case aya_neo_kun: > + case oxp_fly: > + case oxp_mini_amd: > + case oxp_mini_amd_a07: > + case oxp_mini_amd_pro: > + return read_from_ec(OXP_SENSOR_FAN_REG, 2, val); > + default: > + return -EOPNOTSUPP; > + } > +} > + > /* PWM input read/write functions */ > static int oxp_pwm_input_write(long val) > { > @@ -900,30 +928,7 @@ static int oxp_platform_read(struct device *dev, enum hwmon_sensor_types type, > case hwmon_fan: > switch (attr) { > case hwmon_fan_input: > - switch (board) { > - case orange_pi_neo: > - return read_from_ec(ORANGEPI_SENSOR_FAN_REG, 2, val); > - case oxp_2: > - case oxp_x1: > - return read_from_ec(OXP_2_SENSOR_FAN_REG, 2, val); > - case aok_zoe_a1: > - case aya_neo_2: > - case aya_neo_air: > - case aya_neo_air_1s: > - case aya_neo_air_plus_mendo: > - case aya_neo_air_pro: > - case aya_neo_flip: > - case aya_neo_geek: > - case aya_neo_kun: > - case oxp_fly: > - case oxp_mini_amd: > - case oxp_mini_amd_a07: > - case oxp_mini_amd_pro: > - return read_from_ec(OXP_SENSOR_FAN_REG, 2, val); > - default: > - break; > - } > - break; > + return oxp_pwm_fan_speed(val); > default: > break; > } > -- > 2.48.1 > Reviewed-by: Derek J. Clark <derekjohn.clark@gmail.com>
diff --git a/drivers/platform/x86/oxpec.c b/drivers/platform/x86/oxpec.c index 7dfd798bec87..a06a7c54aa08 100644 --- a/drivers/platform/x86/oxpec.c +++ b/drivers/platform/x86/oxpec.c @@ -806,6 +806,34 @@ static umode_t oxp_ec_hwmon_is_visible(const void *drvdata, } } +/* Fan speed read function */ +static int oxp_pwm_fan_speed(long *val) +{ + switch (board) { + case orange_pi_neo: + return read_from_ec(ORANGEPI_SENSOR_FAN_REG, 2, val); + case oxp_2: + case oxp_x1: + return read_from_ec(OXP_2_SENSOR_FAN_REG, 2, val); + case aok_zoe_a1: + case aya_neo_2: + case aya_neo_air: + case aya_neo_air_1s: + case aya_neo_air_plus_mendo: + case aya_neo_air_pro: + case aya_neo_flip: + case aya_neo_geek: + case aya_neo_kun: + case oxp_fly: + case oxp_mini_amd: + case oxp_mini_amd_a07: + case oxp_mini_amd_pro: + return read_from_ec(OXP_SENSOR_FAN_REG, 2, val); + default: + return -EOPNOTSUPP; + } +} + /* PWM input read/write functions */ static int oxp_pwm_input_write(long val) { @@ -900,30 +928,7 @@ static int oxp_platform_read(struct device *dev, enum hwmon_sensor_types type, case hwmon_fan: switch (attr) { case hwmon_fan_input: - switch (board) { - case orange_pi_neo: - return read_from_ec(ORANGEPI_SENSOR_FAN_REG, 2, val); - case oxp_2: - case oxp_x1: - return read_from_ec(OXP_2_SENSOR_FAN_REG, 2, val); - case aok_zoe_a1: - case aya_neo_2: - case aya_neo_air: - case aya_neo_air_1s: - case aya_neo_air_plus_mendo: - case aya_neo_air_pro: - case aya_neo_flip: - case aya_neo_geek: - case aya_neo_kun: - case oxp_fly: - case oxp_mini_amd: - case oxp_mini_amd_a07: - case oxp_mini_amd_pro: - return read_from_ec(OXP_SENSOR_FAN_REG, 2, val); - default: - break; - } - break; + return oxp_pwm_fan_speed(val); default: break; }
While not necessary for fixing the ABI hwmon issue, fan speed will be the only remaining value without a function. Therefore, finish the refactor by moving it to a separate function. Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> --- drivers/platform/x86/oxpec.c | 53 ++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 24 deletions(-)