powerpc/512x: Add __init attribute to eligible functions
Some functions defined in 'arch/powerpc/platforms/512x' are deserving of an `__init` macro attribute. These functions are only called by other initialization functions and therefore should inherit the attribute. Also, change function declarations in header files to include `__init`. Signed-off-by: Nick Child <nick.child@ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20211216220035.605465-20-nick.child@ibm.com
This commit is contained in:
Родитель
407454cafd
Коммит
2493a24271
|
@ -97,7 +97,7 @@ static enum soc_type {
|
|||
MPC512x_SOC_MPC5125,
|
||||
} soc;
|
||||
|
||||
static void mpc512x_clk_determine_soc(void)
|
||||
static void __init mpc512x_clk_determine_soc(void)
|
||||
{
|
||||
if (of_machine_is_compatible("fsl,mpc5121")) {
|
||||
soc = MPC512x_SOC_MPC5121;
|
||||
|
@ -113,98 +113,98 @@ static void mpc512x_clk_determine_soc(void)
|
|||
}
|
||||
}
|
||||
|
||||
static bool soc_has_mbx(void)
|
||||
static bool __init soc_has_mbx(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5121)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool soc_has_axe(void)
|
||||
static bool __init soc_has_axe(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool soc_has_viu(void)
|
||||
static bool __init soc_has_viu(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool soc_has_spdif(void)
|
||||
static bool __init soc_has_spdif(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool soc_has_pata(void)
|
||||
static bool __init soc_has_pata(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool soc_has_sata(void)
|
||||
static bool __init soc_has_sata(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool soc_has_pci(void)
|
||||
static bool __init soc_has_pci(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool soc_has_fec2(void)
|
||||
static bool __init soc_has_fec2(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static int soc_max_pscnum(void)
|
||||
static int __init soc_max_pscnum(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return 10;
|
||||
return 12;
|
||||
}
|
||||
|
||||
static bool soc_has_sdhc2(void)
|
||||
static bool __init soc_has_sdhc2(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool soc_has_nfc_5125(void)
|
||||
static bool __init soc_has_nfc_5125(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool soc_has_outclk(void)
|
||||
static bool __init soc_has_outclk(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool soc_has_cpmf_0_bypass(void)
|
||||
static bool __init soc_has_cpmf_0_bypass(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool soc_has_mclk_mux0_canin(void)
|
||||
static bool __init soc_has_mclk_mux0_canin(void)
|
||||
{
|
||||
if (soc == MPC512x_SOC_MPC5125)
|
||||
return true;
|
||||
|
@ -294,7 +294,7 @@ static inline int get_bit_field(uint32_t __iomem *reg, uint8_t pos, uint8_t len)
|
|||
}
|
||||
|
||||
/* get the SPMF and translate it into the "sys pll" multiplier */
|
||||
static int get_spmf_mult(void)
|
||||
static int __init get_spmf_mult(void)
|
||||
{
|
||||
static int spmf_to_mult[] = {
|
||||
68, 1, 12, 16, 20, 24, 28, 32,
|
||||
|
@ -312,7 +312,7 @@ static int get_spmf_mult(void)
|
|||
* values returned from here are a multiple of the real factor since the
|
||||
* divide ratio is fractional
|
||||
*/
|
||||
static int get_sys_div_x2(void)
|
||||
static int __init get_sys_div_x2(void)
|
||||
{
|
||||
static int sysdiv_code_to_x2[] = {
|
||||
4, 5, 6, 7, 8, 9, 10, 14,
|
||||
|
@ -333,7 +333,7 @@ static int get_sys_div_x2(void)
|
|||
* values returned from here are a multiple of the real factor since the
|
||||
* multiplier ratio is fractional
|
||||
*/
|
||||
static int get_cpmf_mult_x2(void)
|
||||
static int __init get_cpmf_mult_x2(void)
|
||||
{
|
||||
static int cpmf_to_mult_x36[] = {
|
||||
/* 0b000 is "times 36" */
|
||||
|
@ -379,7 +379,7 @@ static const struct clk_div_table divtab_1234[] = {
|
|||
{ .div = 0, },
|
||||
};
|
||||
|
||||
static int get_freq_from_dt(char *propname)
|
||||
static int __init get_freq_from_dt(char *propname)
|
||||
{
|
||||
struct device_node *np;
|
||||
const unsigned int *prop;
|
||||
|
@ -396,7 +396,7 @@ static int get_freq_from_dt(char *propname)
|
|||
return val;
|
||||
}
|
||||
|
||||
static void mpc512x_clk_preset_data(void)
|
||||
static void __init mpc512x_clk_preset_data(void)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@ -418,7 +418,7 @@ static void mpc512x_clk_preset_data(void)
|
|||
* SYS -> CSB -> IPS) from the REF clock rate and the returned mul/div
|
||||
* values
|
||||
*/
|
||||
static void mpc512x_clk_setup_ref_clock(struct device_node *np, int bus_freq,
|
||||
static void __init mpc512x_clk_setup_ref_clock(struct device_node *np, int bus_freq,
|
||||
int *sys_mul, int *sys_div,
|
||||
int *ips_div)
|
||||
{
|
||||
|
@ -592,7 +592,7 @@ static struct mclk_setup_data mclk_outclk_data[] = {
|
|||
};
|
||||
|
||||
/* setup the MCLK clock subtree of an individual PSC/MSCAN/SPDIF */
|
||||
static void mpc512x_clk_setup_mclk(struct mclk_setup_data *entry, size_t idx)
|
||||
static void __init mpc512x_clk_setup_mclk(struct mclk_setup_data *entry, size_t idx)
|
||||
{
|
||||
size_t clks_idx_pub, clks_idx_int;
|
||||
u32 __iomem *mccr_reg; /* MCLK control register (mux, en, div) */
|
||||
|
@ -701,7 +701,7 @@ static void mpc512x_clk_setup_mclk(struct mclk_setup_data *entry, size_t idx)
|
|||
|
||||
/* }}} MCLK helpers */
|
||||
|
||||
static void mpc512x_clk_setup_clock_tree(struct device_node *np, int busfreq)
|
||||
static void __init mpc512x_clk_setup_clock_tree(struct device_node *np, int busfreq)
|
||||
{
|
||||
int sys_mul, sys_div, ips_div;
|
||||
int mul, div;
|
||||
|
@ -937,7 +937,7 @@ static void mpc512x_clk_setup_clock_tree(struct device_node *np, int busfreq)
|
|||
* registers the set of public clocks (those listed in the dt-bindings/
|
||||
* header file) for OF lookups, keeps the intermediates private to us
|
||||
*/
|
||||
static void mpc5121_clk_register_of_provider(struct device_node *np)
|
||||
static void __init mpc5121_clk_register_of_provider(struct device_node *np)
|
||||
{
|
||||
clk_data.clks = clks;
|
||||
clk_data.clk_num = MPC512x_CLK_LAST_PUBLIC + 1; /* _not_ ARRAY_SIZE() */
|
||||
|
@ -948,7 +948,7 @@ static void mpc5121_clk_register_of_provider(struct device_node *np)
|
|||
* temporary support for the period of time between introduction of CCF
|
||||
* support and the adjustment of peripheral drivers to OF based lookups
|
||||
*/
|
||||
static void mpc5121_clk_provide_migration_support(void)
|
||||
static void __init mpc5121_clk_provide_migration_support(void)
|
||||
{
|
||||
|
||||
/*
|
||||
|
@ -1009,7 +1009,7 @@ static void mpc5121_clk_provide_migration_support(void)
|
|||
* case of not yet adjusted device tree data, where clock related specs
|
||||
* are missing)
|
||||
*/
|
||||
static void mpc5121_clk_provide_backwards_compat(void)
|
||||
static void __init mpc5121_clk_provide_backwards_compat(void)
|
||||
{
|
||||
enum did_reg_flags {
|
||||
DID_REG_PSC = BIT(0),
|
||||
|
|
|
@ -12,8 +12,8 @@ extern void __init mpc512x_init_early(void);
|
|||
extern void __init mpc512x_init(void);
|
||||
extern void __init mpc512x_setup_arch(void);
|
||||
extern int __init mpc5121_clk_init(void);
|
||||
extern const char *mpc512x_select_psc_compat(void);
|
||||
extern const char *mpc512x_select_reset_compat(void);
|
||||
const char *__init mpc512x_select_psc_compat(void);
|
||||
const char *__init mpc512x_select_reset_compat(void);
|
||||
extern void __noreturn mpc512x_restart(char *cmd);
|
||||
|
||||
#endif /* __MPC512X_H__ */
|
||||
|
|
|
@ -352,7 +352,7 @@ static void __init mpc512x_declare_of_platform_devices(void)
|
|||
|
||||
#define DEFAULT_FIFO_SIZE 16
|
||||
|
||||
const char *mpc512x_select_psc_compat(void)
|
||||
const char *__init mpc512x_select_psc_compat(void)
|
||||
{
|
||||
if (of_machine_is_compatible("fsl,mpc5121"))
|
||||
return "fsl,mpc5121-psc";
|
||||
|
@ -363,7 +363,7 @@ const char *mpc512x_select_psc_compat(void)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
const char *mpc512x_select_reset_compat(void)
|
||||
const char *__init mpc512x_select_reset_compat(void)
|
||||
{
|
||||
if (of_machine_is_compatible("fsl,mpc5121"))
|
||||
return "fsl,mpc5121-reset";
|
||||
|
|
Загрузка…
Ссылка в новой задаче