From nobody Tue Dec 16 21:05:07 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3096813C3C2; Wed, 7 Aug 2024 16:25:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723047933; cv=none; b=DWfwfAb9V68rc4tm4ZycPprM4W+RTfgLgw9FbfUDmSdQqYR2j1mFkBuJBaT0fc6BAwSqIST6P+XP4QiPeQmNSTdT0qDAlajYnwxHDbXp705veP18rSPDsPqOEgvGaGfk4bWamxUwbsnjuubYBKxdMZyEpcJmgZIF9KOiZHCbthY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723047933; c=relaxed/simple; bh=g1YnThktkCMihcbe/19dqOpj0vHK1s8BKz5amUOkzK8=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=XSQpXzILgJzcSufKsolSaCrJ+rc7rFbLJYvPGnPjD0ZMZI1M2ubdBCbQKqefRJ2MD8UD1itDrzAkTUKAzgkvC0FbbgitAQbBvO45HbgywCqevmAfdDiQ2Lt5nrEfVDJZtQGxK/41qmcsMqm8Jt8EB3eGnU11dw4OUn5WxB0wcV8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=MIxvxnlQ; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=pzG0JWjB; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="MIxvxnlQ"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="pzG0JWjB" Date: Wed, 07 Aug 2024 16:25:28 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1723047929; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GJC19AF93kDEIdzEaffckRQVvJ+V2gSwW9zgq3PlDEo=; b=MIxvxnlQp88iMSaf/OWGcgT2oNYZeMBa8bKbp/OCOiJ/NL8x0BbBJntKayc//nPcFs0lvz XzLHvmkJjr0cgtNbY69LYdrKWr39ZJ+VH4KrhGGlrp+gCRWH07qTZG7R6WTVAl7oWF6IFh 8BYCk1OHmOj+l7SqxgEHhehsMW7tuCh+psVJnhvcZY/YouIShh2MRANY6Y3rRwj3US4FCi bpXvhWVknRBnfjfg/ZuXpVvi0zjLPSoiHdg6aTuWWsI8cVblh01FIHOuOmUZMa9elofMSi t2s8XDh3r5iv8DZTeJUSyl/czrjIWepouaw+qf4CKJasmdosfLxgocexkkMlRg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1723047929; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GJC19AF93kDEIdzEaffckRQVvJ+V2gSwW9zgq3PlDEo=; b=pzG0JWjBGuzoG/CtuiGaG3OjDeSQcPY1NqN1PwjeUxpfofyL4G3HQaCHPoMMjgifnk10gT 4hKxzbt+5FHoIQDg== From: "tip-bot2 for Thomas Gleixner" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: x86/apic] x86/ioapic: Cleanup apic_printk()s Cc: Thomas Gleixner , Qiuxu Zhuo , Breno Leitao , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20240802155440.652239904@linutronix.de> References: <20240802155440.652239904@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <172304792875.2215.4552747680409188302.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the x86/apic branch of tip: Commit-ID: f47998da395c1dfa53449bd335db4cf508be5275 Gitweb: https://git.kernel.org/tip/f47998da395c1dfa53449bd335db4cf50= 8be5275 Author: Thomas Gleixner AuthorDate: Fri, 02 Aug 2024 18:15:42 +02:00 Committer: Thomas Gleixner CommitterDate: Wed, 07 Aug 2024 18:13:28 +02:00 x86/ioapic: Cleanup apic_printk()s Replace apic_printk($LEVEL) with the corresponding apic_pr_*() helpers and use pr_info() for APIC_QUIET as that is always printed so the indirection is pointless noise. Signed-off-by: Thomas Gleixner Tested-by: Qiuxu Zhuo Tested-by: Breno Leitao Link: https://lore.kernel.org/all/20240802155440.652239904@linutronix.de --- arch/x86/kernel/apic/io_apic.c | 176 +++++++++++++------------------- 1 file changed, 73 insertions(+), 103 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 4715e2f..b978326 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -201,10 +201,9 @@ void mp_save_irq(struct mpc_intsrc *m) { int i; =20 - apic_printk(APIC_VERBOSE, "Int: type %d, pol %d, trig %d, bus %02x," - " IRQ %02x, APIC ID %x, APIC INT %02x\n", - m->irqtype, m->irqflag & 3, (m->irqflag >> 2) & 3, m->srcbus, - m->srcbusirq, m->dstapic, m->dstirq); + apic_pr_verbose("Int: type %d, pol %d, trig %d, bus %02x, IRQ %02x, APIC = ID %x, APIC INT %02x\n", + m->irqtype, m->irqflag & 3, (m->irqflag >> 2) & 3, m->srcbus, + m->srcbusirq, m->dstapic, m->dstirq); =20 for (i =3D 0; i < mp_irq_entries; i++) { if (!memcmp(&mp_irqs[i], m, sizeof(*m))) @@ -554,28 +553,23 @@ static int pirq_entries[MAX_PIRQS] =3D { =20 static int __init ioapic_pirq_setup(char *str) { - int i, max; - int ints[MAX_PIRQS+1]; + int i, max, ints[MAX_PIRQS+1]; =20 get_options(str, ARRAY_SIZE(ints), ints); =20 - apic_printk(APIC_VERBOSE, KERN_INFO - "PIRQ redirection, working around broken MP-BIOS.\n"); + apic_pr_verbose("PIRQ redirection, working around broken MP-BIOS.\n"); + max =3D MAX_PIRQS; if (ints[0] < MAX_PIRQS) max =3D ints[0]; =20 for (i =3D 0; i < max; i++) { - apic_printk(APIC_VERBOSE, KERN_DEBUG - "... PIRQ%d -> IRQ %d\n", i, ints[i+1]); - /* - * PIRQs are mapped upside down, usually. - */ + apic_pr_verbose("... PIRQ%d -> IRQ %d\n", i, ints[i + 1]); + /* PIRQs are mapped upside down, usually */ pirq_entries[MAX_PIRQS-i-1] =3D ints[i+1]; } return 1; } - __setup("pirq=3D", ioapic_pirq_setup); #endif /* CONFIG_X86_32 */ =20 @@ -737,8 +731,7 @@ static bool EISA_ELCR(unsigned int irq) unsigned int port =3D PIC_ELCR1 + (irq >> 3); return (inb(port) >> (irq & 7)) & 1; } - apic_printk(APIC_VERBOSE, KERN_INFO - "Broken MPtable reports ISA irq %d\n", irq); + apic_pr_verbose("Broken MPtable reports ISA irq %d\n", irq); return false; } =20 @@ -1052,15 +1045,13 @@ static int pin_2_irq(int idx, int ioapic, int pin, = unsigned int flags) * PCI IRQ command line redirection. Yes, limits are hardcoded. */ if ((pin >=3D 16) && (pin <=3D 23)) { - if (pirq_entries[pin-16] !=3D -1) { - if (!pirq_entries[pin-16]) { - apic_printk(APIC_VERBOSE, KERN_DEBUG - "disabling PIRQ%d\n", pin-16); + if (pirq_entries[pin - 16] !=3D -1) { + if (!pirq_entries[pin - 16]) { + apic_pr_verbose("Disabling PIRQ%d\n", pin - 16); } else { int irq =3D pirq_entries[pin-16]; - apic_printk(APIC_VERBOSE, KERN_DEBUG - "using PIRQ%d -> IRQ %d\n", - pin-16, irq); + + apic_pr_verbose("Using PIRQ%d -> IRQ %d\n", pin - 16, irq); return irq; } } @@ -1111,12 +1102,10 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, i= nt pin) { int irq, i, best_ioapic =3D -1, best_idx =3D -1; =20 - apic_printk(APIC_DEBUG, - "querying PCI -> IRQ mapping bus:%d, slot:%d, pin:%d.\n", - bus, slot, pin); + apic_pr_debug("Querying PCI -> IRQ mapping bus:%d, slot:%d, pin:%d.\n", + bus, slot, pin); if (test_bit(bus, mp_bus_not_pci)) { - apic_printk(APIC_VERBOSE, - "PCI BIOS passed nonexistent PCI bus %d!\n", bus); + apic_pr_verbose("PCI BIOS passed nonexistent PCI bus %d!\n", bus); return -1; } =20 @@ -1173,17 +1162,16 @@ static void __init setup_IO_APIC_irqs(void) unsigned int ioapic, pin; int idx; =20 - apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n"); + apic_pr_verbose("Init IO_APIC IRQs\n"); =20 for_each_ioapic_pin(ioapic, pin) { idx =3D find_irq_entry(ioapic, pin, mp_INT); - if (idx < 0) - apic_printk(APIC_VERBOSE, - KERN_DEBUG " apic %d pin %d not connected\n", - mpc_ioapic_id(ioapic), pin); - else - pin_2_irq(idx, ioapic, pin, - ioapic ? 0 : IOAPIC_MAP_ALLOC); + if (idx < 0) { + apic_pr_verbose("apic %d pin %d not connected\n", + mpc_ioapic_id(ioapic), pin); + } else { + pin_2_irq(idx, ioapic, pin, ioapic ? 0 : IOAPIC_MAP_ALLOC); + } } } =20 @@ -1359,29 +1347,24 @@ void __init enable_IO_APIC(void) i8259_apic =3D find_isa_irq_apic(0, mp_ExtINT); /* Trust the MP table if nothing is setup in the hardware */ if ((ioapic_i8259.pin =3D=3D -1) && (i8259_pin >=3D 0)) { - printk(KERN_WARNING "ExtINT not setup in hardware but reported by MP tab= le\n"); + pr_warn("ExtINT not setup in hardware but reported by MP table\n"); ioapic_i8259.pin =3D i8259_pin; ioapic_i8259.apic =3D i8259_apic; } /* Complain if the MP table and the hardware disagree */ if (((ioapic_i8259.apic !=3D i8259_apic) || (ioapic_i8259.pin !=3D i8259_= pin)) && - (i8259_pin >=3D 0) && (ioapic_i8259.pin >=3D 0)) - { - printk(KERN_WARNING "ExtINT in hardware and MP table differ\n"); - } + (i8259_pin >=3D 0) && (ioapic_i8259.pin >=3D 0)) + pr_warn("ExtINT in hardware and MP table differ\n"); =20 - /* - * Do not trust the IO-APIC being empty at bootup - */ + /* Do not trust the IO-APIC being empty at bootup */ clear_IO_APIC(); } =20 void native_restore_boot_irq_mode(void) { /* - * If the i8259 is routed through an IOAPIC - * Put that IOAPIC in virtual wire mode - * so legacy interrupts can be delivered. + * If the i8259 is routed through an IOAPIC Put that IOAPIC in + * virtual wire mode so legacy interrupts can be delivered. */ if (ioapic_i8259.pin !=3D -1) { struct IO_APIC_route_entry entry; @@ -1469,8 +1452,8 @@ static void __init setup_ioapic_ids_from_mpc_nocheck(= void) set_bit(i, phys_id_present_map); ioapics[ioapic_idx].mp_config.apicid =3D i; } else { - apic_printk(APIC_VERBOSE, "Setting %d in the phys_id_present_map\n", - mpc_ioapic_id(ioapic_idx)); + apic_pr_verbose("Setting %d in the phys_id_present_map\n", + mpc_ioapic_id(ioapic_idx)); set_bit(mpc_ioapic_id(ioapic_idx), phys_id_present_map); } =20 @@ -1491,9 +1474,8 @@ static void __init setup_ioapic_ids_from_mpc_nocheck(= void) if (mpc_ioapic_id(ioapic_idx) =3D=3D reg_00.bits.ID) continue; =20 - apic_printk(APIC_VERBOSE, KERN_INFO - "...changing IO-APIC physical APIC ID to %d ...", - mpc_ioapic_id(ioapic_idx)); + apic_pr_verbose("...changing IO-APIC physical APIC ID to %d ...", + mpc_ioapic_id(ioapic_idx)); =20 reg_00.bits.ID =3D mpc_ioapic_id(ioapic_idx); scoped_guard (raw_spinlock_irqsave, &ioapic_lock) { @@ -1504,7 +1486,7 @@ static void __init setup_ioapic_ids_from_mpc_nocheck(= void) if (reg_00.bits.ID !=3D mpc_ioapic_id(ioapic_idx)) pr_cont("could not set ID!\n"); else - apic_printk(APIC_VERBOSE, " ok.\n"); + apic_pr_verbose(" ok.\n"); } } =20 @@ -2136,9 +2118,8 @@ static inline void __init check_timer(void) pin2 =3D ioapic_i8259.pin; apic2 =3D ioapic_i8259.apic; =20 - apic_printk(APIC_QUIET, KERN_INFO "..TIMER: vector=3D0x%02X " - "apic1=3D%d pin1=3D%d apic2=3D%d pin2=3D%d\n", - cfg->vector, apic1, pin1, apic2, pin2); + pr_info("..TIMER: vector=3D0x%02X apic1=3D%d pin1=3D%d apic2=3D%d pin2=3D= %d\n", + cfg->vector, apic1, pin1, apic2, pin2); =20 /* * Some BIOS writers are clueless and report the ExtINTA @@ -2182,13 +2163,10 @@ static inline void __init check_timer(void) panic_if_irq_remap("timer doesn't work through Interrupt-remapped IO-API= C"); clear_IO_APIC_pin(apic1, pin1); if (!no_pin1) - apic_printk(APIC_QUIET, KERN_ERR "..MP-BIOS bug: " - "8254 timer not connected to IO-APIC\n"); + pr_err("..MP-BIOS bug: 8254 timer not connected to IO-APIC\n"); =20 - apic_printk(APIC_QUIET, KERN_INFO "...trying to set up timer " - "(IRQ0) through the 8259A ...\n"); - apic_printk(APIC_QUIET, KERN_INFO - "..... (found apic %d pin %d) ...\n", apic2, pin2); + pr_info("...trying to set up timer (IRQ0) through the 8259A ...\n"); + pr_info("..... (found apic %d pin %d) ...\n", apic2, pin2); /* * legacy devices should be connected to IO APIC #0 */ @@ -2197,7 +2175,7 @@ static inline void __init check_timer(void) irq_domain_activate_irq(irq_data, false); legacy_pic->unmask(0); if (timer_irq_works()) { - apic_printk(APIC_QUIET, KERN_INFO "....... works.\n"); + pr_info("....... works.\n"); goto out; } /* @@ -2205,26 +2183,24 @@ static inline void __init check_timer(void) */ legacy_pic->mask(0); clear_IO_APIC_pin(apic2, pin2); - apic_printk(APIC_QUIET, KERN_INFO "....... failed.\n"); + pr_info("....... failed.\n"); } =20 - apic_printk(APIC_QUIET, KERN_INFO - "...trying to set up timer as Virtual Wire IRQ...\n"); + pr_info("...trying to set up timer as Virtual Wire IRQ...\n"); =20 lapic_register_intr(0); apic_write(APIC_LVT0, APIC_DM_FIXED | cfg->vector); /* Fixed mode */ legacy_pic->unmask(0); =20 if (timer_irq_works()) { - apic_printk(APIC_QUIET, KERN_INFO "..... works.\n"); + pr_info("..... works.\n"); goto out; } legacy_pic->mask(0); apic_write(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | cfg->vector); - apic_printk(APIC_QUIET, KERN_INFO "..... failed.\n"); + pr_info("..... failed.\n"); =20 - apic_printk(APIC_QUIET, KERN_INFO - "...trying to set up timer as ExtINT IRQ...\n"); + pr_info("...trying to set up timer as ExtINT IRQ...\n"); =20 legacy_pic->init(0); legacy_pic->make_irq(0); @@ -2234,14 +2210,15 @@ static inline void __init check_timer(void) unlock_ExtINT_logic(); =20 if (timer_irq_works()) { - apic_printk(APIC_QUIET, KERN_INFO "..... works.\n"); + pr_info("..... works.\n"); goto out; } - apic_printk(APIC_QUIET, KERN_INFO "..... failed :(.\n"); - if (apic_is_x2apic_enabled()) - apic_printk(APIC_QUIET, KERN_INFO - "Perhaps problem with the pre-enabled x2apic mode\n" - "Try booting with x2apic and interrupt-remapping disabled in the bi= os.\n"); + + pr_info("..... failed :\n"); + if (apic_is_x2apic_enabled()) { + pr_info("Perhaps problem with the pre-enabled x2apic mode\n" + "Try booting with x2apic and interrupt-remapping disabled in the bios.\= n"); + } panic("IO-APIC + timer doesn't work! Boot with apic=3Ddebug and send a " "report. Then try booting with the 'noapic' option.\n"); out: @@ -2339,7 +2316,7 @@ void __init setup_IO_APIC(void) =20 io_apic_irqs =3D nr_legacy_irqs() ? ~PIC_IRQS : ~0UL; =20 - apic_printk(APIC_VERBOSE, "ENABLING IO-APIC IRQs\n"); + apic_pr_verbose("ENABLING IO-APIC IRQs\n"); for_each_ioapic(ioapic) BUG_ON(mp_irqdomain_create(ioapic)); =20 @@ -2478,7 +2455,7 @@ static int io_apic_get_unique_id(int ioapic, int apic= _id) } } =20 - apic_printk(APIC_VERBOSE, KERN_INFO "IOAPIC[%d]: Assigned apic_id %d\n", = ioapic, apic_id); + apic_pr_verbose("IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id); =20 return apic_id; } @@ -2514,8 +2491,8 @@ static u8 io_apic_unique_id(int idx, u8 id) =20 new_id =3D reg_00.bits.ID; if (!test_bit(new_id, used)) { - apic_printk(APIC_VERBOSE, KERN_INFO "IOAPIC[%d]: Using reg apic_id %d in= stead of %d\n", - idx, new_id, id); + apic_pr_verbose("IOAPIC[%d]: Using reg apic_id %d instead of %d\n", + idx, new_id, id); return new_id; } =20 @@ -2614,9 +2591,7 @@ void __init io_apic_init_mappings(void) ioapic_phys =3D mpc_ioapic_addr(i); #ifdef CONFIG_X86_32 if (!ioapic_phys) { - printk(KERN_ERR - "WARNING: bogus zero IO-APIC " - "address found in MPTABLE, " + pr_err("WARNING: bogus zero IO-APIC address found in MPTABLE, " "disabling IO/APIC support!\n"); smp_found_config =3D 0; ioapic_is_disabled =3D true; @@ -2635,9 +2610,8 @@ fake_ioapic_page: ioapic_phys =3D __pa(ioapic_phys); } io_apic_set_fixmap(idx, ioapic_phys); - apic_printk(APIC_VERBOSE, "mapped IOAPIC to %08lx (%08lx)\n", - __fix_to_virt(idx) + (ioapic_phys & ~PAGE_MASK), - ioapic_phys); + apic_pr_verbose("mapped IOAPIC to %08lx (%08lx)\n", + __fix_to_virt(idx) + (ioapic_phys & ~PAGE_MASK), ioapic_phys); idx++; =20 ioapic_res->start =3D ioapic_phys; @@ -2648,13 +2622,12 @@ fake_ioapic_page: =20 void __init ioapic_insert_resources(void) { - int i; struct resource *r =3D ioapic_resources; + int i; =20 if (!r) { if (nr_ioapics > 0) - printk(KERN_ERR - "IO APIC resources couldn't be allocated.\n"); + pr_err("IO APIC resources couldn't be allocated.\n"); return; } =20 @@ -2674,11 +2647,12 @@ int mp_find_ioapic(u32 gsi) /* Find the IOAPIC that manages this GSI. */ for_each_ioapic(i) { struct mp_ioapic_gsi *gsi_cfg =3D mp_ioapic_gsi_routing(i); + if (gsi >=3D gsi_cfg->gsi_base && gsi <=3D gsi_cfg->gsi_end) return i; } =20 - printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %d\n", gsi); + pr_err("ERROR: Unable to locate IOAPIC for GSI %d\n", gsi); return -1; } =20 @@ -2745,12 +2719,13 @@ int mp_register_ioapic(int id, u32 address, u32 gsi= _base, pr_warn("Bogus (zero) I/O APIC address found, skipping!\n"); return -EINVAL; } - for_each_ioapic(ioapic) + + for_each_ioapic(ioapic) { if (ioapics[ioapic].mp_config.apicaddr =3D=3D address) { - pr_warn("address 0x%x conflicts with IOAPIC%d\n", - address, ioapic); + pr_warn("address 0x%x conflicts with IOAPIC%d\n", address, ioapic); return -EEXIST; } + } =20 idx =3D find_free_ioapic_entry(); if (idx >=3D MAX_IO_APICS) { @@ -2785,8 +2760,7 @@ int mp_register_ioapic(int id, u32 address, u32 gsi_b= ase, (gsi_end >=3D gsi_cfg->gsi_base && gsi_end <=3D gsi_cfg->gsi_end)) { pr_warn("GSI range [%u-%u] for new IOAPIC conflicts with GSI[%u-%u]\n", - gsi_base, gsi_end, - gsi_cfg->gsi_base, gsi_cfg->gsi_end); + gsi_base, gsi_end, gsi_cfg->gsi_base, gsi_cfg->gsi_end); clear_fixmap(FIX_IO_APIC_BASE_0 + idx); return -ENOSPC; } @@ -2820,8 +2794,7 @@ int mp_register_ioapic(int id, u32 address, u32 gsi_b= ase, ioapics[idx].nr_registers =3D entries; =20 pr_info("IOAPIC[%d]: apic_id %d, version %d, address 0x%x, GSI %d-%d\n", - idx, mpc_ioapic_id(idx), - mpc_ioapic_ver(idx), mpc_ioapic_addr(idx), + idx, mpc_ioapic_id(idx), mpc_ioapic_ver(idx), mpc_ioapic_addr(idx), gsi_cfg->gsi_base, gsi_cfg->gsi_end); =20 return 0; @@ -2850,8 +2823,7 @@ int mp_unregister_ioapic(u32 gsi_base) if (irq >=3D 0) { data =3D irq_get_chip_data(irq); if (data && data->count) { - pr_warn("pin%d on IOAPIC%d is still in use.\n", - pin, ioapic); + pr_warn("pin%d on IOAPIC%d is still in use.\n", pin, ioapic); return -EBUSY; } } @@ -2968,10 +2940,8 @@ int mp_irqdomain_alloc(struct irq_domain *domain, un= signed int virq, legacy_pic->mask(virq); local_irq_restore(flags); =20 - apic_printk(APIC_VERBOSE, KERN_DEBUG - "IOAPIC[%d]: Preconfigured routing entry (%d-%d -> IRQ %d Level:%i A= ctiveLow:%i)\n", - ioapic, mpc_ioapic_id(ioapic), pin, virq, - data->is_level, data->active_low); + apic_pr_verbose("IOAPIC[%d]: Preconfigured routing entry (%d-%d -> IRQ %d= Level:%i ActiveLow:%i)\n", + ioapic, mpc_ioapic_id(ioapic), pin, virq, data->is_level, data->active_= low); return 0; =20 free_irqs: