FROMLIST: clocksource/drivers/timer-of: Remove __init markings
Remove __init markings to allow timer drivers can be compiled as modules. Link: https://lore.kernel.org/lkml/20230421034649.15247-5-walter.chang@mediatek.com/T/ Bug: 161675989 Change-Id: I74c9d1b4bc6f49dc5a69b4502ca68cb8cc3cbf02 Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
This commit is contained in:
parent
bc213daa95
commit
4625c2b602
@ -19,7 +19,7 @@
|
||||
*
|
||||
* Free the irq resource
|
||||
*/
|
||||
static __init void timer_of_irq_exit(struct of_timer_irq *of_irq)
|
||||
static void timer_of_irq_exit(struct of_timer_irq *of_irq)
|
||||
{
|
||||
struct timer_of *to = container_of(of_irq, struct timer_of, of_irq);
|
||||
|
||||
@ -47,8 +47,8 @@ static __init void timer_of_irq_exit(struct of_timer_irq *of_irq)
|
||||
*
|
||||
* Returns 0 on success, < 0 otherwise
|
||||
*/
|
||||
static __init int timer_of_irq_init(struct device_node *np,
|
||||
struct of_timer_irq *of_irq)
|
||||
static int timer_of_irq_init(struct device_node *np,
|
||||
struct of_timer_irq *of_irq)
|
||||
{
|
||||
int ret;
|
||||
struct timer_of *to = container_of(of_irq, struct timer_of, of_irq);
|
||||
@ -91,7 +91,7 @@ static __init int timer_of_irq_init(struct device_node *np,
|
||||
*
|
||||
* Disables and releases the refcount on the clk
|
||||
*/
|
||||
static __init void timer_of_clk_exit(struct of_timer_clk *of_clk)
|
||||
static void timer_of_clk_exit(struct of_timer_clk *of_clk)
|
||||
{
|
||||
of_clk->rate = 0;
|
||||
clk_disable_unprepare(of_clk->clk);
|
||||
@ -107,8 +107,8 @@ static __init void timer_of_clk_exit(struct of_timer_clk *of_clk)
|
||||
*
|
||||
* Returns 0 on success, < 0 otherwise
|
||||
*/
|
||||
static __init int timer_of_clk_init(struct device_node *np,
|
||||
struct of_timer_clk *of_clk)
|
||||
static int timer_of_clk_init(struct device_node *np,
|
||||
struct of_timer_clk *of_clk)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@ -146,13 +146,13 @@ static __init int timer_of_clk_init(struct device_node *np,
|
||||
goto out;
|
||||
}
|
||||
|
||||
static __init void timer_of_base_exit(struct of_timer_base *of_base)
|
||||
static void timer_of_base_exit(struct of_timer_base *of_base)
|
||||
{
|
||||
iounmap(of_base->base);
|
||||
}
|
||||
|
||||
static __init int timer_of_base_init(struct device_node *np,
|
||||
struct of_timer_base *of_base)
|
||||
static int timer_of_base_init(struct device_node *np,
|
||||
struct of_timer_base *of_base)
|
||||
{
|
||||
of_base->base = of_base->name ?
|
||||
of_io_request_and_map(np, of_base->index, of_base->name) :
|
||||
@ -165,7 +165,7 @@ static __init int timer_of_base_init(struct device_node *np,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __init timer_of_init(struct device_node *np, struct timer_of *to)
|
||||
int timer_of_init(struct device_node *np, struct timer_of *to)
|
||||
{
|
||||
int ret = -EINVAL;
|
||||
int flags = 0;
|
||||
@ -209,6 +209,7 @@ int __init timer_of_init(struct device_node *np, struct timer_of *to)
|
||||
timer_of_base_exit(&to->of_base);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(timer_of_init);
|
||||
|
||||
/**
|
||||
* timer_of_cleanup - release timer_of resources
|
||||
@ -217,7 +218,7 @@ int __init timer_of_init(struct device_node *np, struct timer_of *to)
|
||||
* Release the resources that has been used in timer_of_init().
|
||||
* This function should be called in init error cases
|
||||
*/
|
||||
void __init timer_of_cleanup(struct timer_of *to)
|
||||
void timer_of_cleanup(struct timer_of *to)
|
||||
{
|
||||
if (to->flags & TIMER_OF_IRQ)
|
||||
timer_of_irq_exit(&to->of_irq);
|
||||
|
@ -66,9 +66,9 @@ static inline unsigned long timer_of_period(struct timer_of *to)
|
||||
return to->of_clk.period;
|
||||
}
|
||||
|
||||
extern int __init timer_of_init(struct device_node *np,
|
||||
struct timer_of *to);
|
||||
extern int timer_of_init(struct device_node *np,
|
||||
struct timer_of *to);
|
||||
|
||||
extern void __init timer_of_cleanup(struct timer_of *to);
|
||||
extern void timer_of_cleanup(struct timer_of *to);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user