|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2] xen/common: Move gic_preinit() to common code
On 31.10.2024 16:13, oleksii.kurochko@xxxxxxxxx wrote:
> On Thu, 2024-10-31 at 11:29 +0100, Michal Orzel wrote:
>>
>>
>> On 31/10/2024 10:34, Jan Beulich wrote:
>>>
>>>
>>> On 30.10.2024 14:14, Oleksii Kurochko wrote:
>>>> Introduce ic_preinit() in the common codebase, as it is not
>>>> architecture-specific and can be reused by both PPC and RISC-V.
>>>> This function identifies the node with the interrupt-controller
>>>> property
>>>> in the device tree and calls device_init() to handle
>>>> architecture-specific
>>>> initialization of the interrupt controller.
>>>>
>>>> Additionally, rename gic_acpi_preinit() to ic_acpi_preinit() as
>>>> it is used
>>>> by ic_preinit(), while keeping it defined in architecture-
>>>> specific as this
>>>> part is architecture-specific. In case if CONFIG_ACPI=n a stub
>>>> for
>>>> ic_acpi_preinit() is provided. To declaration/defintion of
>>>> ic_acpi_preint()
>>>> is added `inline` to deal with the compilation issue:
>>>> error: 'ic_acpi_preinit' defined but not used [-Werror=unused-
>>>> function]
>>>>
>>>> Make minor adjustments compared to the original ARM
>>>> implementation of
>>>> gic_dt_preinit():
>>>> - Remove the local rc variable in gic_dt_preinit() since it is
>>>> only used once.
>>>> - Change the prefix from gic to ic to clarify that the function
>>>> is not
>>>> specific to ARM’s GIC, making it suitable for other
>>>> architectures as well.
>>>>
>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
>>>> ---
>>>> Changes in v2:
>>>> - Revert changes connected to moving of gic_acpi_preinit() to
>>>> common code as
>>>> it isn't really architecture indepent part.
>>>> - Update the commit message.
>>>> - Move stub of ic_acpi_preinit() to <asm-generic/device.h> for
>>>> the case when
>>>> CONFIG_ACPI=n.
>>>> ---
>>>> xen/arch/arm/gic.c | 45 +-------------------------
>>>> -----
>>>> xen/arch/arm/setup.c | 3 ++-
>>>> xen/common/device.c | 46
>>>> ++++++++++++++++++++++++++++++++
>>>> xen/include/asm-generic/device.h | 10 +++++++
>>>> 4 files changed, 59 insertions(+), 45 deletions(-)
>>>
>>> Looks largely okay to me now, with a question and a nit at the
>>> bottom. The
>>> question is mainly to Arm folks, where the code is coming from, and
>>> DT
>>> maintainers: Is a file named device.c really an appropriate "home"
>>> for
>>> IC-related code? If IC is a common thing in the DT world, would
>>> such code
>>> maybe better live under common/device-tree/?
>> I think we will have more interrupt related dt stuff common, so it
>> would make sense to create
>> device-tree/irq.c or intc.c.
> What about the part of the code in common/device.c:
> void __init ic_preinit(void)
> {
> if ( acpi_disabled )
> ic_dt_preinit();
> else
> ic_acpi_preinit();
> }
>
> Should it be also moved to device-tree/intc.c even ic_acpi_preinit() is
> used?
Maybe best left to each arch? device.[ch] aren't a good home for this,
just like they aren't for the actual DT implementation.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |