Re: [PATCH v5 0/3] drivers/acpi: Remove function callback casts

From: Marc Zyngier
Date: Fri Jun 26 2020 - 09:07:32 EST


Hi Rafael,

On 2020-05-30 15:34, Oscar Carter wrote:
In an effort to enable -Wcast-function-type in the top-level Makefile to
support Control Flow Integrity builds, there are the need to remove all
the function callback casts in the acpi driver.

The first patch creates a macro called ACPI_DECLARE_SUBTABLE_PROBE_ENTRY
to initialize the acpi_probe_entry struct using the probe_subtbl field
instead of the probe_table field to avoid function cast mismatches.

The second patch modifies the IRQCHIP_ACPI_DECLARE macro to use the new
defined macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY instead of the macro
ACPI_DECLARE_PROBE_ENTRY. Also, modifies the prototype of the functions
used by the invocation of the IRQCHIP_ACPI_DECLARE macro to match all the
parameters.

The third patch removes the function cast in the ACPI_DECLARE_PROBE_ENTRY
macro to ensure that the functions passed as a last parameter to this macro
have the right prototype. This macro is used only in another macro
called "TIMER_ACPI_DECLARE". An this is used only in the file:

drivers/clocksource/arm_arch_timer.c

In this file, the function used in the last parameter of the
TIMER_ACPI_DECLARE macro already has the right prototype. So there is no
need to modify its prototype.

I'd like to see this into 5.9. Can you please let me know if
you are OK with the acpi.h changes? I can queue it via the irqchip
tree.

Thanks,

M.
--
Jazz is not dead. It just smells funny...