History

Merge branch 'acpi-irqchip'

Merge irqchip changes related to ACPI support that are needed to enable GICv5 IWB ACPI probe ordering detection on ARM, including the addition of acpi_device_clear_deps() and RISC-V interrupt controller management code refactoring to extract generic code from it into the common ACPI IRQ code (Lorenzo Pieralisi) * acpi-irqchip: irqchip/gic-v5: Enable GICv5 IWB ACPI probe ordering detection ACPI/IORT: Implement ACPI infrastructure to enable GICv5 IWB probe deferral ACPI: irq: Move RISC-V interrupt controllers autodep to ACPI IRQ code ACPI: RISC-V: Fix riscv_acpi_add_prt_dep() loop handling ACPI: RISC-V: Check acpi_get_handle() status in riscv_acpi_add_prt_dep() ACPI: RISC-V: Fix riscv_acpi_irq_get_dep() loop termination ACPI: Add acpi_device_clear_deps() helper function

Rafael J. Wysocki committed 3 months ago

Commit 02859a52 parents 9341ba2 d2aa7b113 files · +223 −154Browse files

Showing the changes to include (2 of 13 files). Show all

Unified · Split

2 files
  1. include/linux/acpi.h +12 −1
  2. include/linux/acpi_iort.h +2 −1
include/linux/acpi.h+12−1
@@ -94,6 +94,12 @@ static inline void acpi_preset_companion(struct device *dev, · 93 unmodified lines
94 ACPI_COMPANION_SET(dev, acpi_find_child_device(parent, addr, false));94 ACPI_COMPANION_SET(dev, acpi_find_child_device(parent, addr, false));
95}95}
96 96
97static inline void acpi_device_clear_deps(struct device *dev)
98{
99 if (has_acpi_companion(dev))
100 acpi_dev_clear_dependencies(ACPI_COMPANION(dev));
101}
102
97static inline const char *acpi_dev_name(struct acpi_device *adev)103static inline const char *acpi_dev_name(struct acpi_device *adev)
98{104{
99 return dev_name(&adev->dev);105 return dev_name(&adev->dev);
@@ -360,9 +366,10 @@ int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); · 260 unmodified lines
360int acpi_isa_irq_to_gsi (unsigned isa_irq, u32 *gsi);366int acpi_isa_irq_to_gsi (unsigned isa_irq, u32 *gsi);
361 367
362typedef struct fwnode_handle *(*acpi_gsi_domain_disp_fn)(u32);368typedef struct fwnode_handle *(*acpi_gsi_domain_disp_fn)(u32);
369typedef acpi_handle (*acpi_gsi_handle_disp_fn)(u32);
363 370
364void acpi_set_irq_model(enum acpi_irq_model_id model,371void acpi_set_irq_model(enum acpi_irq_model_id model,
365 acpi_gsi_domain_disp_fn fn);372 acpi_gsi_domain_disp_fn fn, acpi_gsi_handle_disp_fn gsi_dep_fn);
366acpi_gsi_domain_disp_fn acpi_get_gsi_dispatcher(void);373acpi_gsi_domain_disp_fn acpi_get_gsi_dispatcher(void);
367void acpi_set_gsi_to_irq_fallback(u32 (*)(u32));374void acpi_set_gsi_to_irq_fallback(u32 (*)(u32));
368 375
@@ -372,6 +379,8 @@ struct irq_domain *acpi_irq_create_hierarchy(unsigned int flags, · 3 unmodified lines
372 const struct irq_domain_ops *ops,379 const struct irq_domain_ops *ops,
373 void *host_data);380 void *host_data);
374 381
382u32 acpi_irq_add_auto_dep(acpi_handle handle);
383
375#ifdef CONFIG_X86_IO_APIC384#ifdef CONFIG_X86_IO_APIC
376extern int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity);385extern int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity);
377#else386#else
@@ -908,6 +917,8 @@ static inline void acpi_preset_companion(struct device *dev, · 530 unmodified lines
908{917{
909}918}
910 919
920static inline void acpi_device_clear_deps(struct device *dev) {}
921
911static inline const char *acpi_dev_name(struct acpi_device *adev)922static inline const char *acpi_dev_name(struct acpi_device *adev)
912{923{
913 return NULL;924 return NULL;
include/linux/acpi_iort.h+2−1
@@ -27,7 +27,8 @@ int iort_register_domain_token(int trans_id, phys_addr_t base, · 26 unmodified lines
27 struct fwnode_handle *fw_node);27 struct fwnode_handle *fw_node);
28void iort_deregister_domain_token(int trans_id);28void iort_deregister_domain_token(int trans_id);
29struct fwnode_handle *iort_find_domain_token(int trans_id);29struct fwnode_handle *iort_find_domain_token(int trans_id);
30struct fwnode_handle *iort_iwb_handle(u32 iwb_id);30acpi_handle iort_iwb_handle(u32 iwb_id);
31struct fwnode_handle *iort_iwb_handle_fwnode(u32 iwb_id);
31 32
32#ifdef CONFIG_ACPI_IORT33#ifdef CONFIG_ACPI_IORT
33u32 iort_msi_map_id(struct device *dev, u32 id);34u32 iort_msi_map_id(struct device *dev, u32 id);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t