Commit 81f335e1 authored by Vladimir Kondratiev's avatar Vladimir Kondratiev Committed by Thomas Gleixner
Browse files

irqchip/riscv-aplic: Use riscv_get_hart_index()



Use the global helper function instead of the local implementation.

Signed-off-by: default avatarVladimir Kondratiev <vladimir.kondratiev@mobileye.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250612143911.3224046-3-vladimir.kondratiev@mobileye.com
parent 5fe331cd
Loading
Loading
Loading
Loading
+1 −15
Original line number Diff line number Diff line
@@ -219,20 +219,6 @@ static int aplic_direct_parse_parent_hwirq(struct device *dev, u32 index,
	return 0;
}

static int aplic_direct_get_hart_index(struct device *dev, u32 logical_index,
				       u32 *hart_index)
{
	const char *prop_hart_index = "riscv,hart-indexes";
	struct device_node *np = to_of_node(dev->fwnode);

	if (!np || !of_property_present(np, prop_hart_index)) {
		*hart_index = logical_index;
		return 0;
	}

	return of_property_read_u32_index(np, prop_hart_index, logical_index, hart_index);
}

int aplic_direct_setup(struct device *dev, void __iomem *regs)
{
	int i, j, rc, cpu, current_cpu, setup_count = 0;
@@ -279,7 +265,7 @@ int aplic_direct_setup(struct device *dev, void __iomem *regs)
		cpumask_set_cpu(cpu, &direct->lmask);

		idc = per_cpu_ptr(&aplic_idcs, cpu);
		rc = aplic_direct_get_hart_index(dev, i, &idc->hart_index);
		rc = riscv_get_hart_index(dev->fwnode, i, &idc->hart_index);
		if (rc) {
			dev_warn(dev, "hart index not found for IDC%d\n", i);
			continue;