platform: Drop IPI warm init and exit hooks

Now that the SBI IPI core clears IPIs at warm boot in a generic way,
none of the drivers or platforms use these hooks, and we can remove
them. Platforms need only to initialize the driver once during cold
init. If other hooks are needed in the future, they can be added to
struct sbi_ipi_device.

Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Samuel Holland
2024-10-25 11:59:48 -07:00
committed by Anup Patel
parent 693afc818f
commit 86d2c1797a
12 changed files with 26 additions and 123 deletions

View File

@@ -131,19 +131,11 @@ static int ariane_irqchip_init(bool cold_boot)
}
/*
* Initialize IPI for current HART.
* Initialize IPI during cold boot.
*/
static int ariane_ipi_init(bool cold_boot)
static int ariane_ipi_init(void)
{
int ret;
if (cold_boot) {
ret = aclint_mswi_cold_init(&mswi);
if (ret)
return ret;
}
return 0;
return aclint_mswi_cold_init(&mswi);
}
/*

View File

@@ -162,19 +162,11 @@ static int openpiton_irqchip_init(bool cold_boot)
}
/*
* Initialize IPI for current HART.
* Initialize IPI during cold boot.
*/
static int openpiton_ipi_init(bool cold_boot)
static int openpiton_ipi_init(void)
{
int ret;
if (cold_boot) {
ret = aclint_mswi_cold_init(&mswi);
if (ret)
return ret;
}
return 0;
return aclint_mswi_cold_init(&mswi);
}
/*

View File

@@ -421,7 +421,6 @@ const struct sbi_platform_operations platform_ops = {
.irqchip_init = fdt_irqchip_init,
.irqchip_exit = fdt_irqchip_exit,
.ipi_init = fdt_ipi_init,
.ipi_exit = fdt_ipi_exit,
.pmu_init = generic_pmu_init,
.pmu_xlate_to_mhpmevent = generic_pmu_xlate_to_mhpmevent,
.get_tlbr_flush_limit = generic_tlbr_flush_limit,

View File

@@ -146,17 +146,9 @@ static int k210_irqchip_init(bool cold_boot)
return plic_warm_irqchip_init(&plic, hartid * 2, hartid * 2 + 1);
}
static int k210_ipi_init(bool cold_boot)
static int k210_ipi_init(void)
{
int rc;
if (cold_boot) {
rc = aclint_mswi_cold_init(&mswi);
if (rc)
return rc;
}
return 0;
return aclint_mswi_cold_init(&mswi);
}
static int k210_timer_init(void)

View File

@@ -202,17 +202,9 @@ static int ux600_irqchip_init(bool cold_boot)
(hartid) ? (2 * hartid) : -1);
}
static int ux600_ipi_init(bool cold_boot)
static int ux600_ipi_init(void)
{
int rc;
if (cold_boot) {
rc = aclint_mswi_cold_init(&mswi);
if (rc)
return rc;
}
return 0;
return aclint_mswi_cold_init(&mswi);
}
static int ux600_timer_init(void)

View File

@@ -99,20 +99,12 @@ static int platform_irqchip_init(bool cold_boot)
}
/*
* Initialize IPI for current HART.
* Initialize IPI during cold boot.
*/
static int platform_ipi_init(bool cold_boot)
static int platform_ipi_init(void)
{
int ret;
/* Example if the generic ACLINT driver is used */
if (cold_boot) {
ret = aclint_mswi_cold_init(&mswi);
if (ret)
return ret;
}
return 0;
return aclint_mswi_cold_init(&mswi);
}
/*