Skip to content

Clean up obsoleted x86 interrupt manangement code and interfaces

Jiang Liu linux-acpi linux-iommu linux-pci linux-pm lkml 2 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest33 patches 0 repliesNew
  2. v433 patches 1 replySuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/33x86/irq: Kill unused old IOAPIC irqdomain interfacesarch/x86/include/asm/io_apic.h arch/x86/kernel/apic/io_apic.c+1 -2050 replies
2/33x86/irq: Kill unused struct mp_pin_infoarch/x86/kernel/apic/io_apic.c+3 -270 replies
3/33x86/irq: Kill x86_io_apic_ops.print_entries and related interfacesarch/x86/include/asm/io_apic.h arch/x86/include/asm/x86_init.h arch/x86/kernel/apic/io_apic.c +2 more+0 -670 replies
4/33x86/irq: Kill x86_io_apic_ops.setup_entry and related interfacesarch/x86/include/asm/io_apic.h arch/x86/include/asm/irq_remapping.h arch/x86/include/asm/x86_init.h +3 more+0 -580 replies
5/33x86/irq: Kill x86_io_apic_ops.set_affinity and related interfacesarch/x86/include/asm/io_apic.h arch/x86/include/asm/x86_init.h arch/x86/kernel/apic/io_apic.c +2 more+1 -470 replies
6/33x86/irq: Kill x86_io_apic_ops.eoi_ioapic_pin and related interfacesarch/x86/include/asm/io_apic.h arch/x86/include/asm/x86_init.h arch/x86/kernel/apic/io_apic.c +2 more+4 -440 replies
7/33x86/irq: Kill GENERIC_IRQ_LEGACY_ALLOC_HWIRQarch/x86/Kconfig arch/x86/kernel/apic/vector.c+0 -350 replies
8/33x86/irq: Clean up unused forward declarations in x86_init.harch/x86/include/asm/x86_init.h+0 -60 replies
9/33irq_remapping: Clean up unsued code to support IOAPICarch/x86/include/asm/irq_remapping.h arch/x86/kernel/apic/vector.c drivers/iommu/irq_remapping.c+0 -570 replies
10/33irq_remapping/vt-d: Clean up unsued codedrivers/iommu/intel_irq_remapping.c+1 -1860 replies
11/33irq_remapping/amd: Clean up unsued codedrivers/iommu/amd_iommu.c+0 -1440 replies
12/33irq_remapping: Clean up unused interfacesdrivers/iommu/irq_remapping.h+0 -160 replies
13/33x86/irq: Kill irq_cfg.irq_remappedarch/x86/include/asm/hw_irq.h drivers/iommu/amd_iommu.c drivers/iommu/intel_irq_remapping.c+0 -40 replies
14/33irq_remapping/vt-d: Move struct irq_2_iommu into intel_irq_remapping.carch/x86/include/asm/hw_irq.h drivers/iommu/intel_irq_remapping.c+7 -90 replies
15/33irq_remapping/amd: Move struct irq_2_irte into amd_iommu.carch/x86/include/asm/hw_irq.h drivers/iommu/amd_iommu.c+5 -130 replies
16/33x86/irq: Move irq_cfg.irq_2_pin into io_apic.carch/x86/include/asm/hw_irq.h arch/x86/kernel/apic/io_apic.c arch/x86/kernel/apic/vector.c+77 -970 replies
17/33x86/irq: Kill struct io_apic_irq_attrarch/x86/include/asm/io_apic.h arch/x86/kernel/apic/io_apic.c+0 -170 replies
18/33x86/irq: Kill x86_io_apic_ops.write and x86_io_apic_ops.modifyarch/x86/include/asm/io_apic.h arch/x86/include/asm/x86_init.h arch/x86/kernel/apic/io_apic.c +1 more+4 -190 replies
19/33x86/irq: Clean up io_apic.harch/x86/include/asm/io_apic.h arch/x86/kernel/apic/io_apic.c+10 -260 replies
20/33x86/irq: Use cached IOAPIC entry instead of reading from hardwarearch/x86/kernel/apic/io_apic.c+21 -570 replies
21/33x86/irq: Remove sis apic bug workaroundarch/x86/include/asm/io_apic.h arch/x86/kernel/apic/io_apic.c drivers/pci/quirks.c+10 -350 replies
22/33x86/irq: Kill unused alloc_irq_and_cfg_at()arch/x86/include/asm/hw_irq.h arch/x86/kernel/apic/vector.c+0 -220 replies
23/33x86/irq: Change functions only used in vector.c as staticarch/x86/include/asm/hw_irq.h arch/x86/kernel/apic/vector.c+4 -60 replies
24/33x86/irq: Kill function apic_set_affinity()arch/x86/include/asm/hw_irq.h arch/x86/kernel/apic/vector.c+3 -390 replies
25/33x86/irq: Move check of cfg->move_in_progress into send_cleanup_vector()arch/x86/kernel/apic/vector.c arch/x86/platform/uv/uv_irq.c drivers/iommu/amd_iommu.c +1 more+11 -80 replies
26/33x86/irq: Move private data in struct irq_cfg into dedicated data structurearch/x86/include/asm/hw_irq.h arch/x86/kernel/apic/vector.c+119 -1050 replies
27/33x86/irq: Refine the way to calculate NR_IRQSarch/x86/include/asm/irq_vectors.h+11 -70 replies
28/33x86/irq, ACPI: Kill private function mp_register_gsi()/ mp_unregister_gsi()arch/x86/kernel/acpi/boot.c+18 -390 replies
29/33x86, ioapic: Use proper defines for the entry fieldsarch/x86/include/asm/io_apic.h arch/x86/kernel/apic/io_apic.c+63 -530 replies
30/33x86,ioapic: Cleanup irq_trigger/polarity()arch/x86/kernel/apic/io_apic.c+50 -880 replies
31/33x86: Cleanup irq_domain opsarch/x86/include/asm/io_apic.h arch/x86/include/asm/irqdomain.h arch/x86/kernel/acpi/boot.c +4 more+56 -600 replies
32/33x86/irq: Move irqdomain specific code into asm/irqdomain.harch/x86/include/asm/hw_irq.h arch/x86/include/asm/irq_remapping.h arch/x86/include/asm/irqdomain.h +5 more+38 -330 replies
33/33x86/irq: Avoid memory allocation in __assign_irq_vector()arch/x86/kernel/apic/vector.c+17 -160 replies

Reviews trailers per patch

None of the 33 patches has a Reviewed-by or Acked-by.

PatchJoerg Roedel
1/33T-b
2/33T-b
3/33T-b
4/33T-b
5/33T-b
6/33T-b
7/33
8/33T-b
9/33T-b
10/33T-b
11/33T-b
12/33T-b
13/33T-b
14/33T-b
15/33T-b
16/33T-b
17/33T-b
18/33T-b
19/33T-b
20/33T-b
21/33
22/33T-b
23/33T-b
24/33T-b
25/33T-b
26/33T-b
27/33T-b
28/33T-b
29/33
30/33
31/33
32/33
33/33

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [Patch Part2 v5 00/33] Clean up obsoleted x86 interrupt manangement code and interfaces

The patch set "[Patch Part1 v8 00/37] Convert x86 to hierarchy irqdomain and stacked irqchip" at http://www.spinics.net/lists/kernel/msg1967024.html
has converted x86 interrupt managment to use hierarchy irqdomain and stacked irqchip. And this is the following-on patch set to clean up code and interfaces obseleted by previous patch set.

With the these two patch sets combined, we have

63 files changed, 2430 insertions(+), 2613 deletions(-)

That's good, the refactor improves code maintanence with less code.

Main changes since last reviewed version:
1) rebased onto v4.0-rc6
2) add patch 33 to avoid memory allocation/free when assigning CPU vector

Regards,
Gerry

Jiang Liu (29):
x86/irq: Kill unused old IOAPIC irqdomain interfaces x86/irq: Kill unused struct mp_pin_info
x86/irq: Kill x86_io_apic_ops.print_entries and related interfaces x86/irq: Kill x86_io_apic_ops.setup_entry and related interfaces x86/irq: Kill x86_io_apic_ops.set_affinity and related interfaces x86/irq: Kill x86_io_apic_ops.eoi_ioapic_pin and related interfaces x86/irq: Kill GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
x86/irq: Clean up unused forward declarations in x86_init.h
irq_remapping: Clean up unsued code to support IOAPIC irq_remapping/vt-d: Clean up unsued code irq_remapping/amd: Clean up unsued code
irq_remapping: Clean up unused interfaces
x86/irq: Kill irq_cfg.irq_remapped
irq_remapping/vt-d: Move struct irq_2_iommu into
intel_irq_remapping.c
irq_remapping/amd: Move struct irq_2_irte into amd_iommu.c x86/irq: Move irq_cfg.irq_2_pin into io_apic.c
x86/irq: Kill struct io_apic_irq_attr
x86/irq: Kill x86_io_apic_ops.write and x86_io_apic_ops.modify x86/irq: Clean up io_apic.h
x86/irq: Use cached IOAPIC entry instead of reading from hardware x86/irq: Kill unused alloc_irq_and_cfg_at()
x86/irq: Change functions only used in vector.c as static x86/irq: Kill function apic_set_affinity()
x86/irq: Move check of cfg->move_in_progress into
send_cleanup_vector()
x86/irq: Move private data in struct irq_cfg into dedicated data
structure
x86/irq: Refine the way to calculate NR_IRQS
x86/irq, ACPI: Kill private function mp_register_gsi()/
mp_unregister_gsi()
x86/irq: Move irqdomain specific code into asm/irqdomain.h x86/irq: Avoid memory allocation in __assign_irq_vector()

Thomas Gleixner (4):
x86/irq: Remove sis apic bug workaround x86, ioapic: Use proper defines for the entry fields x86,ioapic: Cleanup irq_trigger/polarity()
x86: Cleanup irq_domain ops

 arch/x86/Kconfig                     |    1 -
 arch/x86/include/asm/hw_irq.h        |   63 ---
 arch/x86/include/asm/io_apic.h       |  103 +---
 arch/x86/include/asm/irq_remapping.h |   38 +-
 arch/x86/include/asm/irq_vectors.h   |   18 +-
 arch/x86/include/asm/irqdomain.h     |   63 +++
 arch/x86/include/asm/x86_init.h      |   16 -
 arch/x86/kernel/acpi/boot.c          |   70 +--
 arch/x86/kernel/apic/htirq.c         |    2 +-
 arch/x86/kernel/apic/io_apic.c       |  869 +++++++++-------------------------
 arch/x86/kernel/apic/msi.c           |    2 +-
 arch/x86/kernel/apic/vector.c        |  342 ++++++-------
 arch/x86/kernel/devicetree.c         |   12 +-
 arch/x86/kernel/hpet.c               |    2 +-
 arch/x86/kernel/mpparse.c            |    9 +-
 arch/x86/kernel/x86_init.c           |    6 -
 arch/x86/platform/sfi/sfi.c          |   10 +-
 arch/x86/platform/uv/uv_irq.c        |    5 +-
 drivers/iommu/amd_iommu.c            |  153 +-----
 drivers/iommu/intel_irq_remapping.c  |  206 +-------
 drivers/iommu/irq_remapping.c        |   80 ----
 drivers/iommu/irq_remapping.h        |   16 -
 drivers/pci/quirks.c                 |    7 -
 23 files changed, 491 insertions(+), 1602 deletions(-)
 create mode 100644 arch/x86/include/asm/irqdomain.h
Signature · 1 line
1.7.10.4