From: Cristian Marussi Date: Fri, 8 May 2026 15:32:51 +0000 (+0100) Subject: firmware: arm_scmi: Drop unused clock rate interfaces X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=2e757f71a5ab861478204e2907bb373ccb3ca087;p=thirdparty%2Fkernel%2Flinux.git firmware: arm_scmi: Drop unused clock rate interfaces Only the unified interface exposing min_rate/max_rate is now used. Reviewed-by: Peng Fan Signed-off-by: Cristian Marussi Link: https://patch.msgid.link/20260508153300.2224715-7-cristian.marussi@arm.com Signed-off-by: Sudeep Holla --- diff --git a/drivers/firmware/arm_scmi/clock.c b/drivers/firmware/arm_scmi/clock.c index 512400122b85b..467b13a3a18f0 100644 --- a/drivers/firmware/arm_scmi/clock.c +++ b/drivers/firmware/arm_scmi/clock.c @@ -467,7 +467,6 @@ iter_clk_describe_update_state(struct scmi_iterator_state *st, st->num_remaining = NUM_REMAINING(flags); st->num_returned = NUM_RETURNED(flags); p->clkd->rate_discrete = RATE_DISCRETE(flags); - p->clkd->info.rate_discrete = p->clkd->rate_discrete; /* Warn about out of spec replies ... */ if (!p->clkd->rate_discrete && @@ -532,21 +531,13 @@ scmi_clock_describe_rates_get(const struct scmi_protocol_handle *ph, u32 clk_id, return 0; if (!clkd->rate_discrete) { - clkd->info.range.min_rate = clkd->rates[RATE_MIN]; - clkd->info.range.max_rate = clkd->rates[RATE_MAX]; - clkd->info.range.step_size = clkd->rates[RATE_STEP]; clkd->info.max_rate = clkd->rates[RATE_MAX]; dev_dbg(ph->dev, "Min %llu Max %llu Step %llu Hz\n", clkd->rates[RATE_MIN], clkd->rates[RATE_MAX], clkd->rates[RATE_STEP]); } else { - unsigned int i; - sort(clkd->rates, clkd->num_rates, sizeof(clkd->rates[0]), rate_cmp_func, NULL); - clkd->info.list.num_rates = clkd->num_rates; - for (i = 0; i < clkd->num_rates; i++) - clkd->info.list.rates[i] = clkd->rates[i]; clkd->info.max_rate = clkd->rates[clkd->num_rates - 1]; } clkd->info.min_rate = clkd->rates[RATE_MIN]; diff --git a/include/linux/scmi_protocol.h b/include/linux/scmi_protocol.h index f82747adc8ebe..9913b4f097d88 100644 --- a/include/linux/scmi_protocol.h +++ b/include/linux/scmi_protocol.h @@ -44,7 +44,6 @@ struct scmi_base_info { struct scmi_clock_info { char name[SCMI_MAX_STR_SIZE]; unsigned int enable_latency; - bool rate_discrete; bool rate_changed_notifications; bool rate_change_requested_notifications; bool state_ctrl_forbidden; @@ -53,17 +52,6 @@ struct scmi_clock_info { bool extended_config; u64 min_rate; u64 max_rate; - union { - struct { - int num_rates; - u64 rates[SCMI_MAX_NUM_RATES]; - } list; - struct { - u64 min_rate; - u64 max_rate; - u64 step_size; - } range; - }; int num_parents; u32 *parents; };