mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 04:55:14 +07:00
net: ethernet: ti: ale: move static initialization in cpsw_ale_create()
Move static initialization from cpsw_ale_start() to cpsw_ale_create() as it does not make much sence to perform static initializtion in cpsw_ale_start() which is called everytime netif[s] is opened. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b5d31f2940
commit
fb1a732dd5
@ -779,8 +779,36 @@ static void cpsw_ale_timer(struct timer_list *t)
|
||||
|
||||
void cpsw_ale_start(struct cpsw_ale *ale)
|
||||
{
|
||||
cpsw_ale_control_set(ale, 0, ALE_ENABLE, 1);
|
||||
cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1);
|
||||
|
||||
timer_setup(&ale->timer, cpsw_ale_timer, 0);
|
||||
if (ale->ageout) {
|
||||
ale->timer.expires = jiffies + ale->ageout;
|
||||
add_timer(&ale->timer);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpsw_ale_start);
|
||||
|
||||
void cpsw_ale_stop(struct cpsw_ale *ale)
|
||||
{
|
||||
del_timer_sync(&ale->timer);
|
||||
cpsw_ale_control_set(ale, 0, ALE_ENABLE, 0);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpsw_ale_stop);
|
||||
|
||||
struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)
|
||||
{
|
||||
struct cpsw_ale *ale;
|
||||
u32 rev, ale_entries;
|
||||
|
||||
ale = kzalloc(sizeof(*ale), GFP_KERNEL);
|
||||
if (!ale)
|
||||
return NULL;
|
||||
|
||||
ale->params = *params;
|
||||
ale->ageout = ale->params.ale_ageout * HZ;
|
||||
|
||||
rev = readl_relaxed(ale->params.ale_regs + ALE_IDVER);
|
||||
if (!ale->params.major_ver_mask)
|
||||
ale->params.major_ver_mask = 0xff;
|
||||
@ -849,35 +877,6 @@ void cpsw_ale_start(struct cpsw_ale *ale)
|
||||
ALE_UNKNOWNVLAN_FORCE_UNTAG_EGRESS;
|
||||
}
|
||||
|
||||
cpsw_ale_control_set(ale, 0, ALE_ENABLE, 1);
|
||||
cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1);
|
||||
|
||||
timer_setup(&ale->timer, cpsw_ale_timer, 0);
|
||||
if (ale->ageout) {
|
||||
ale->timer.expires = jiffies + ale->ageout;
|
||||
add_timer(&ale->timer);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpsw_ale_start);
|
||||
|
||||
void cpsw_ale_stop(struct cpsw_ale *ale)
|
||||
{
|
||||
del_timer_sync(&ale->timer);
|
||||
cpsw_ale_control_set(ale, 0, ALE_ENABLE, 0);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpsw_ale_stop);
|
||||
|
||||
struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)
|
||||
{
|
||||
struct cpsw_ale *ale;
|
||||
|
||||
ale = kzalloc(sizeof(*ale), GFP_KERNEL);
|
||||
if (!ale)
|
||||
return NULL;
|
||||
|
||||
ale->params = *params;
|
||||
ale->ageout = ale->params.ale_ageout * HZ;
|
||||
|
||||
return ale;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cpsw_ale_create);
|
||||
|
Loading…
Reference in New Issue
Block a user