linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Yinghai Lu <yinghai@kernel.org>, Borislav Petkov <bp@alien8.de>,
	Grant Likely <grant.likely@linaro.org>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Tony Luck <tony.luck@intel.com>, Joerg Roedel <joro@8bytes.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: [RFC v1 22/28] x86, irq: Kill x86_io_apic_ops.write and x86_io_apic_ops.modify
Date: Fri, 26 Sep 2014 22:57:52 +0800	[thread overview]
Message-ID: <1411743478-31435-23-git-send-email-jiang.liu@linux.intel.com> (raw)
In-Reply-To: <1411743478-31435-1-git-send-email-jiang.liu@linux.intel.com>

x86_io_apic_ops.write is always set to native_io_apic_write(),
and nobody overrides it. So get rid of the indirection by changing
native_io_apic_write() as io_apic_write() and killing
x86_io_apic_ops.write.

Do the same for x86_io_apic_ops.modify and native_io_apic_modify().

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
 arch/x86/include/asm/io_apic.h  |   13 -------------
 arch/x86/include/asm/x86_init.h |    2 --
 arch/x86/kernel/apic/io_apic.c  |    6 ++++--
 arch/x86/kernel/x86_init.c      |    2 --
 4 files changed, 4 insertions(+), 19 deletions(-)

diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index c2c1a8b7f39d..e978dc335eea 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -209,8 +209,6 @@ extern void disable_ioapic_support(void);
 
 extern void __init native_io_apic_init_mappings(void);
 extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
-extern void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int val);
-extern void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
 extern void native_disable_io_apic(void);
 
 static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
@@ -218,15 +216,6 @@ static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
 	return x86_io_apic_ops.read(apic, reg);
 }
 
-static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
-{
-	x86_io_apic_ops.write(apic, reg, value);
-}
-static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
-{
-	x86_io_apic_ops.modify(apic, reg, value);
-}
-
 extern void setup_IO_APIC(void);
 extern void enable_IO_APIC(void);
 extern void disable_IO_APIC(void);
@@ -268,8 +257,6 @@ static inline void mp_save_irq(struct mpc_intsrc *m) { };
 static inline void disable_ioapic_support(void) { }
 #define native_io_apic_init_mappings	NULL
 #define native_io_apic_read		NULL
-#define native_io_apic_write		NULL
-#define native_io_apic_modify		NULL
 #define native_disable_io_apic		NULL
 #endif
 
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 3755cd2bbb94..398717e7493d 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -185,8 +185,6 @@ struct x86_msi_ops {
 struct x86_io_apic_ops {
 	void		(*init)   (void);
 	unsigned int	(*read)   (unsigned int apic, unsigned int reg);
-	void		(*write)  (unsigned int apic, unsigned int reg, unsigned int value);
-	void		(*modify) (unsigned int apic, unsigned int reg, unsigned int value);
 	void		(*disable)(void);
 };
 
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 2ccccfdbb682..f55ab3a8de08 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -299,7 +299,8 @@ unsigned int native_io_apic_read(unsigned int apic, unsigned int reg)
 	return readl(&io_apic->data);
 }
 
-void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
+static void io_apic_write(unsigned int apic, unsigned int reg,
+			  unsigned int value)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 
@@ -313,7 +314,8 @@ void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int valu
  *
  * Older SiS APIC requires we rewrite the index register
  */
-void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
+static void io_apic_modify(unsigned int apic, unsigned int reg,
+			   unsigned int value)
 {
 	struct io_apic __iomem *io_apic = io_apic_base(apic);
 
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index ac2b604c00ec..30140bdf6d62 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -151,7 +151,5 @@ u32 arch_msix_mask_irq(struct msi_desc *desc, u32 flag)
 struct x86_io_apic_ops x86_io_apic_ops = {
 	.init			= native_io_apic_init_mappings,
 	.read			= native_io_apic_read,
-	.write			= native_io_apic_write,
-	.modify			= native_io_apic_modify,
 	.disable		= native_disable_io_apic,
 };
-- 
1.7.10.4


  parent reply	other threads:[~2014-09-26 14:57 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-26 14:57 [RFC Part3 v1 00/28] Enable hierarchy irqdomian on x86 platforms Jiang Liu
2014-09-26 14:57 ` [RFC v1 01/28] x86, irq: Kill unused setup_timer_IRQ0_pin() Jiang Liu
2014-10-09  2:16   ` Jiang Liu
2014-09-26 14:57 ` [RFC v1 02/28] x86, irq: Prepare IOAPIC interfaces to support hierarchy irqdomain Jiang Liu
2014-09-26 14:57 ` [RFC v1 03/28] x86, irq: Implement callbacks to enable hierarchy irqdomain on IOAPICs Jiang Liu
2014-09-26 14:57 ` [RFC v1 04/28] x86, irq: Refine the way to allocate irq_cfg for legacy IRQs Jiang Liu
2014-09-26 14:57 ` [RFC v1 05/28] x86, irq: Convert IOAPIC to use hierarchy irqdomain interfaces Jiang Liu
2014-09-26 14:57 ` [RFC v1 06/28] x86, irq: Kill unused old IOAPIC " Jiang Liu
2014-09-26 14:57 ` [RFC v1 07/28] x86, irq: Kill x86_io_apic_ops.print_entries and related interfaces Jiang Liu
2014-09-26 14:57 ` [RFC v1 08/28] x86, irq: Kill x86_io_apic_ops.setup_entry " Jiang Liu
2014-09-26 14:57 ` [RFC v1 09/28] x86, irq: Kill x86_io_apic_ops.set_affinity " Jiang Liu
2014-09-26 14:57 ` [RFC v1 10/28] x86, irq: Kill x86_io_apic_ops.eoi_ioapic_pin " Jiang Liu
2014-09-26 14:57 ` [RFC v1 11/28] x86, irq: Kill GENERIC_IRQ_LEGACY_ALLOC_HWIRQ Jiang Liu
2014-09-26 14:57 ` [RFC v1 12/28] x86: Clean up unused forward declarations in x86_init.h Jiang Liu
2014-09-26 14:57 ` [RFC v1 13/28] x86: irq_remapping: Clean up unsued code Jiang Liu
2014-09-26 14:57 ` [RFC v1 14/28] iommu/vt-d: " Jiang Liu
2014-09-26 14:57 ` [RFC v1 15/28] iommu/amd: " Jiang Liu
2014-09-26 14:57 ` [RFC v1 16/28] x86: irq_remapping: Clean up unused interfaces Jiang Liu
2014-09-26 14:57 ` [RFC v1 17/28] x86, irq: Kill irq_cfg.irq_remapped Jiang Liu
2014-09-26 14:57 ` [RFC v1 18/28] iommu/vt-d: Move struct irq_2_iommu into intel_irq_remapping.c Jiang Liu
2014-09-26 14:57 ` [RFC v1 19/28] iommu/amd: Move struct irq_2_irte into amd_iommu.c Jiang Liu
2014-09-26 14:57 ` [RFC v1 20/28] x86, irq: Move irq_cfg.irq_2_pin into io_apic.c Jiang Liu
2014-09-26 14:57 ` [RFC v1 21/28] x86, irq: Kill struct io_apic_irq_attr Jiang Liu
2014-09-26 14:57 ` Jiang Liu [this message]
2014-09-26 14:57 ` [RFC v1 23/28] x86, irq: Clean up io_apic.h Jiang Liu
2014-09-26 14:57 ` [RFC v1 24/28] x86, irq: Kill unused alloc_irq_and_cfg_at() Jiang Liu
2014-09-26 14:57 ` [RFC v1 25/28] x86, irq: Change functions only used in vector.c as static Jiang Liu
2014-09-26 14:57 ` [RFC v1 26/28] x86, irq: Kill function apic_set_affinity() Jiang Liu
2014-09-26 14:57 ` [RFC v1 27/28] x86, irq: Introduce mechanism to support different vector allocation policies Jiang Liu
2014-09-26 14:57 ` [RFC v1 28/28] x86, irq: Add kernel parameter vector_alloc to set CPU vector allocation policy Jiang Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1411743478-31435-23-git-send-email-jiang.liu@linux.intel.com \
    --to=jiang.liu@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=joro@8bytes.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rdunlap@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).