Skip to content

Commit 4cb53ff

Browse files
committed
clk: amlogic: drop clk_regmap tables
Remove the clk_regmap tables that are used to keep track which clock need to be initialised before being registered. The initialisation is now done by the .init() operation of clk_regmap. This rework saves a bit memory and makes maintenance a bit easier. Link: https://lore.kernel.org/r/20250623-amlogic-clk-drop-clk-regmap-tables-v4-2-ff04918211cc@baylibre.com Signed-off-by: Jerome Brunet <[email protected]>
1 parent 21ed19d commit 4cb53ff

19 files changed

+5
-2191
lines changed

drivers/clk/meson/a1-peripherals.c

Lines changed: 1 addition & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -2055,163 +2055,6 @@ static struct clk_hw *a1_periphs_hw_clks[] = {
20552055
[CLKID_DMC_SEL2] = &dmc_sel2.hw,
20562056
};
20572057

2058-
/* Convenience table to populate regmap in .probe */
2059-
static struct clk_regmap *const a1_periphs_regmaps[] = {
2060-
&xtal_in,
2061-
&fixpll_in,
2062-
&usb_phy_in,
2063-
&usb_ctrl_in,
2064-
&hifipll_in,
2065-
&syspll_in,
2066-
&dds_in,
2067-
&sys,
2068-
&clktree,
2069-
&reset_ctrl,
2070-
&analog_ctrl,
2071-
&pwr_ctrl,
2072-
&pad_ctrl,
2073-
&sys_ctrl,
2074-
&temp_sensor,
2075-
&am2axi_dev,
2076-
&spicc_b,
2077-
&spicc_a,
2078-
&msr,
2079-
&audio,
2080-
&jtag_ctrl,
2081-
&saradc_en,
2082-
&pwm_ef,
2083-
&pwm_cd,
2084-
&pwm_ab,
2085-
&cec,
2086-
&i2c_s,
2087-
&ir_ctrl,
2088-
&i2c_m_d,
2089-
&i2c_m_c,
2090-
&i2c_m_b,
2091-
&i2c_m_a,
2092-
&acodec,
2093-
&otp,
2094-
&sd_emmc_a,
2095-
&usb_phy,
2096-
&usb_ctrl,
2097-
&sys_dspb,
2098-
&sys_dspa,
2099-
&dma,
2100-
&irq_ctrl,
2101-
&nic,
2102-
&gic,
2103-
&uart_c,
2104-
&uart_b,
2105-
&uart_a,
2106-
&sys_psram,
2107-
&rsa,
2108-
&coresight,
2109-
&am2axi_vad,
2110-
&audio_vad,
2111-
&axi_dmc,
2112-
&axi_psram,
2113-
&ramb,
2114-
&rama,
2115-
&axi_spifc,
2116-
&axi_nic,
2117-
&axi_dma,
2118-
&cpu_ctrl,
2119-
&rom,
2120-
&prod_i2c,
2121-
&dspa_sel,
2122-
&dspb_sel,
2123-
&dspa_en,
2124-
&dspa_en_nic,
2125-
&dspb_en,
2126-
&dspb_en_nic,
2127-
&rtc,
2128-
&ceca_32k_out,
2129-
&cecb_32k_out,
2130-
&clk_24m,
2131-
&clk_12m,
2132-
&fclk_div2_divn,
2133-
&gen,
2134-
&saradc_sel,
2135-
&saradc,
2136-
&pwm_a,
2137-
&pwm_b,
2138-
&pwm_c,
2139-
&pwm_d,
2140-
&pwm_e,
2141-
&pwm_f,
2142-
&spicc,
2143-
&ts,
2144-
&spifc,
2145-
&usb_bus,
2146-
&sd_emmc,
2147-
&psram,
2148-
&dmc,
2149-
&sys_a_sel,
2150-
&sys_a_div,
2151-
&sys_a,
2152-
&sys_b_sel,
2153-
&sys_b_div,
2154-
&sys_b,
2155-
&dspa_a_sel,
2156-
&dspa_a_div,
2157-
&dspa_a,
2158-
&dspa_b_sel,
2159-
&dspa_b_div,
2160-
&dspa_b,
2161-
&dspb_a_sel,
2162-
&dspb_a_div,
2163-
&dspb_a,
2164-
&dspb_b_sel,
2165-
&dspb_b_div,
2166-
&dspb_b,
2167-
&rtc_32k_in,
2168-
&rtc_32k_div,
2169-
&rtc_32k_xtal,
2170-
&rtc_32k_sel,
2171-
&cecb_32k_in,
2172-
&cecb_32k_div,
2173-
&cecb_32k_sel_pre,
2174-
&cecb_32k_sel,
2175-
&ceca_32k_in,
2176-
&ceca_32k_div,
2177-
&ceca_32k_sel_pre,
2178-
&ceca_32k_sel,
2179-
&fclk_div2_divn_pre,
2180-
&gen_sel,
2181-
&gen_div,
2182-
&saradc_div,
2183-
&pwm_a_sel,
2184-
&pwm_a_div,
2185-
&pwm_b_sel,
2186-
&pwm_b_div,
2187-
&pwm_c_sel,
2188-
&pwm_c_div,
2189-
&pwm_d_sel,
2190-
&pwm_d_div,
2191-
&pwm_e_sel,
2192-
&pwm_e_div,
2193-
&pwm_f_sel,
2194-
&pwm_f_div,
2195-
&spicc_sel,
2196-
&spicc_div,
2197-
&spicc_sel2,
2198-
&ts_div,
2199-
&spifc_sel,
2200-
&spifc_div,
2201-
&spifc_sel2,
2202-
&usb_bus_sel,
2203-
&usb_bus_div,
2204-
&sd_emmc_sel,
2205-
&sd_emmc_div,
2206-
&sd_emmc_sel2,
2207-
&psram_sel,
2208-
&psram_div,
2209-
&psram_sel2,
2210-
&dmc_sel,
2211-
&dmc_div,
2212-
&dmc_sel2,
2213-
};
2214-
22152058
static const struct regmap_config a1_periphs_regmap_cfg = {
22162059
.reg_bits = 32,
22172060
.val_bits = 32,
@@ -2229,7 +2072,7 @@ static int meson_a1_periphs_probe(struct platform_device *pdev)
22292072
struct device *dev = &pdev->dev;
22302073
void __iomem *base;
22312074
struct regmap *map;
2232-
int clkid, i, err;
2075+
int clkid, err;
22332076

22342077
base = devm_platform_ioremap_resource(pdev, 0);
22352078
if (IS_ERR(base))
@@ -2241,10 +2084,6 @@ static int meson_a1_periphs_probe(struct platform_device *pdev)
22412084
return dev_err_probe(dev, PTR_ERR(map),
22422085
"can't init regmap mmio region\n");
22432086

2244-
/* Populate regmap for the regmap backed clocks */
2245-
for (i = 0; i < ARRAY_SIZE(a1_periphs_regmaps); i++)
2246-
a1_periphs_regmaps[i]->map = map;
2247-
22482087
for (clkid = 0; clkid < a1_periphs_clks.num; clkid++) {
22492088
err = devm_clk_hw_register(dev, a1_periphs_clks.hws[clkid]);
22502089
if (err)

drivers/clk/meson/a1-pll.c

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -295,16 +295,6 @@ static struct clk_hw *a1_pll_hw_clks[] = {
295295
[CLKID_HIFI_PLL] = &hifi_pll.hw,
296296
};
297297

298-
static struct clk_regmap *const a1_pll_regmaps[] = {
299-
&fixed_pll_dco,
300-
&fixed_pll,
301-
&fclk_div2,
302-
&fclk_div3,
303-
&fclk_div5,
304-
&fclk_div7,
305-
&hifi_pll,
306-
};
307-
308298
static const struct regmap_config a1_pll_regmap_cfg = {
309299
.reg_bits = 32,
310300
.val_bits = 32,
@@ -322,7 +312,7 @@ static int meson_a1_pll_probe(struct platform_device *pdev)
322312
struct device *dev = &pdev->dev;
323313
void __iomem *base;
324314
struct regmap *map;
325-
int clkid, i, err;
315+
int clkid, err;
326316

327317
base = devm_platform_ioremap_resource(pdev, 0);
328318
if (IS_ERR(base))
@@ -334,10 +324,6 @@ static int meson_a1_pll_probe(struct platform_device *pdev)
334324
return dev_err_probe(dev, PTR_ERR(map),
335325
"can't init regmap mmio region\n");
336326

337-
/* Populate regmap for the regmap backed clocks */
338-
for (i = 0; i < ARRAY_SIZE(a1_pll_regmaps); i++)
339-
a1_pll_regmaps[i]->map = map;
340-
341327
/* Register clocks */
342328
for (clkid = 0; clkid < a1_pll_clks.num; clkid++) {
343329
err = devm_clk_hw_register(dev, a1_pll_clks.hws[clkid]);

drivers/clk/meson/axg-aoclk.c

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -270,26 +270,6 @@ static const unsigned int axg_aoclk_reset[] = {
270270
[RESET_AO_IR_BLASTER] = 23,
271271
};
272272

273-
static struct clk_regmap *axg_aoclk_regmap[] = {
274-
&axg_aoclk_remote,
275-
&axg_aoclk_i2c_master,
276-
&axg_aoclk_i2c_slave,
277-
&axg_aoclk_uart1,
278-
&axg_aoclk_uart2,
279-
&axg_aoclk_ir_blaster,
280-
&axg_aoclk_saradc,
281-
&axg_aoclk_cts_oscin,
282-
&axg_aoclk_32k_pre,
283-
&axg_aoclk_32k_div,
284-
&axg_aoclk_32k_sel,
285-
&axg_aoclk_32k,
286-
&axg_aoclk_cts_rtc_oscin,
287-
&axg_aoclk_clk81,
288-
&axg_aoclk_saradc_mux,
289-
&axg_aoclk_saradc_div,
290-
&axg_aoclk_saradc_gate,
291-
};
292-
293273
static struct clk_hw *axg_aoclk_hw_clks[] = {
294274
[CLKID_AO_REMOTE] = &axg_aoclk_remote.hw,
295275
[CLKID_AO_I2C_MASTER] = &axg_aoclk_i2c_master.hw,
@@ -314,8 +294,6 @@ static const struct meson_aoclk_data axg_aoclkc_data = {
314294
.reset_reg = AO_RTI_GEN_CNTL_REG0,
315295
.num_reset = ARRAY_SIZE(axg_aoclk_reset),
316296
.reset = axg_aoclk_reset,
317-
.num_clks = ARRAY_SIZE(axg_aoclk_regmap),
318-
.clks = axg_aoclk_regmap,
319297
.hw_clks = {
320298
.hws = axg_aoclk_hw_clks,
321299
.num = ARRAY_SIZE(axg_aoclk_hw_clks),

0 commit comments

Comments
 (0)