public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "David E. Box" <david.e.box@linux.intel.com>
To: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com
Cc: "David E. Box" <david.e.box@linux.intel.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH V5 1/2] x86: IOSF: add dummy functions for loadable modules
Date: Fri, 28 Feb 2014 18:40:51 -0800	[thread overview]
Message-ID: <1393641652-7222-2-git-send-email-david.e.box@linux.intel.com> (raw)
In-Reply-To: <1393641652-7222-1-git-send-email-david.e.box@linux.intel.com>
In-Reply-To: <1393609674-2999-1-git-send-email-david.e.box@linux.intel.com>

From: "David E. Box" <david.e.box@linux.intel.com>

Some loadable modules only need IOSF access on the platforms where it exists.
Provide dummy functions to allow these modules to compile and load on the
platforms where it doesn't exist.

Signed-off-by: David E. Box <david.e.box@linux.intel.com>
---
 arch/x86/include/asm/iosf_mbi.h |   33 +++++++++++++++++++++++++++++++++
 arch/x86/kernel/iosf_mbi.c      |    6 ++++++
 2 files changed, 39 insertions(+)

diff --git a/arch/x86/include/asm/iosf_mbi.h b/arch/x86/include/asm/iosf_mbi.h
index 8e71c79..9fc5402 100644
--- a/arch/x86/include/asm/iosf_mbi.h
+++ b/arch/x86/include/asm/iosf_mbi.h
@@ -5,6 +5,8 @@
 #ifndef IOSF_MBI_SYMS_H
 #define IOSF_MBI_SYMS_H
 
+#ifdef CONFIG_IOSF_MBI
+
 #define MBI_MCR_OFFSET		0xD0
 #define MBI_MDR_OFFSET		0xD4
 #define MBI_MCRX_OFFSET		0xD8
@@ -50,6 +52,8 @@
 #define BT_MBI_PCIE_READ	0x00
 #define BT_MBI_PCIE_WRITE	0x01
 
+bool iosf_mbi_available(void);
+
 /**
  * iosf_mbi_read() - MailBox Interface read command
  * @port:	port indicating subunit being accessed
@@ -87,4 +91,33 @@ int iosf_mbi_write(u8 port, u8 opcode, u32 offset, u32 mdr);
  */
 int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask);
 
+#else /* CONFIG_IOSF_MBI is not enabled */
+static inline
+bool iosf_mbi_available(void)
+{
+	return false;
+}
+
+static inline
+int iosf_mbi_read(u8 port, u8 opcode, u32 offset, u32 *mdr)
+{
+	WARN();
+	return -EPERM;
+}
+
+static inline
+int iosf_mbi_write(u8 port, u8 opcode, u32 offset, u32 mdr)
+{
+	WARN();
+	return -EPERM;
+}
+
+static inline
+int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask)
+{
+	WARN();
+	return -EPERM;
+}
+#endif /* CONFIG_IOSF_MBI */
+
 #endif /* IOSF_MBI_SYMS_H */
diff --git a/arch/x86/kernel/iosf_mbi.c b/arch/x86/kernel/iosf_mbi.c
index c3aae66..d3803c6 100644
--- a/arch/x86/kernel/iosf_mbi.c
+++ b/arch/x86/kernel/iosf_mbi.c
@@ -177,6 +177,12 @@ int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask)
 }
 EXPORT_SYMBOL(iosf_mbi_modify);
 
+bool iosf_mbi_available(void)
+{
+	return mbi_pdev;
+}
+EXPORT_SYMBOL(iosf_mbi_available);
+
 static int iosf_mbi_probe(struct pci_dev *pdev,
 			  const struct pci_device_id *unused)
 {
-- 
1.7.10.4


  parent reply	other threads:[~2014-03-01  2:43 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-12 23:34 [PATCH] x86: iosf_mbi: Provide dummy functions if CONFIG_IOSF_MBI not set David E. Box
2014-02-23  1:02 ` [PATCH RESEND] " David E. Box
2014-02-24 13:19   ` One Thousand Gnomes
2014-02-24 13:21     ` H. Peter Anvin
2014-02-24 13:29       ` One Thousand Gnomes
2014-02-25  2:47   ` [PATCH V2 0/2] x86: IOSF: Add loadable module support David E. Box
2014-02-26 19:40     ` [PATCH V3 " David E. Box
2014-02-28 17:47       ` [PATCH V4 " David E. Box
2014-02-28 18:01         ` H. Peter Anvin
2014-03-01  2:40         ` [PATCH V5 " David E. Box
2014-03-03  7:01           ` Li, Aubrey
2014-03-03 15:58             ` David E. Box
2014-03-03 22:15               ` Li, Aubrey
2014-03-03 23:01                 ` David E. Box
2014-03-01  2:40         ` David E. Box [this message]
2014-03-01 20:34           ` [tip:x86/platform] x86, iosf: Add dummy functions for loadable modules tip-bot for David E. Box
2014-03-03  7:21           ` [PATCH V5 1/2] x86: IOSF: add " Li, Aubrey
2014-03-03 12:20             ` One Thousand Gnomes
2014-03-01  2:40         ` [PATCH V5 2/2] x86: IOSF: Change IOSF_MBI Kconfig to default y David E. Box
2014-03-03  7:07           ` Li, Aubrey
2014-03-03 16:25             ` David E. Box
2014-02-28 17:47       ` [PATCH V4 1/2] x86: IOSF: add dummy functions for loadable modules David E. Box
2014-02-28 17:47       ` [PATCH V4 2/2] x86: IOSF: Change IOSF_MBI Kconfig to default y David E. Box
2014-02-26 19:40     ` [PATCH V3 1/2] x86: IOSF: add dummy functions for loadable modules David E. Box
2014-02-26 19:40     ` [PATCH V3 2/2] x86: IOSF: Change IOSF_MBI Kconfig to default y David E. Box
2014-02-27  3:26       ` H. Peter Anvin
2014-02-27 16:50       ` [PATCH RESEND " David E. Box
2014-02-25  2:47   ` [PATCH V2 1/2] x86: IOSF: add dummy functions for loadable modules David E. Box
2014-02-25  2:47   ` [PATCH V2 2/2] x86: IOSF: Change IOSF_MBI Kconfig to default y David E. Box
2014-03-01 20:34     ` [tip:x86/platform] x86, iosf: " tip-bot for David E. Box

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=1393641652-7222-2-git-send-email-david.e.box@linux.intel.com \
    --to=david.e.box@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@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