From: "David E. Box" <david.e.box@linux.intel.com>
To: david.e.box@linux.intel.com, jacob.jun.pan@linux.intel.com,
linux-pm@vger.kernel.org, rafael.j.wysocki@intel.com,
linux-kernel@vger.kernel.org, hpa@linux.intel.com
Cc: alan@linux.intel.com, durgadoss.r@intel.com, kristen.c.accardi@intel.com
Subject: [PATCH v2 3/4] x86/iosf: Make IOSF driver modular and usable by more drivers
Date: Tue, 29 Apr 2014 15:33:08 -0700 [thread overview]
Message-ID: <1398810789-2301-4-git-send-email-david.e.box@linux.intel.com> (raw)
In-Reply-To: <1398810789-2301-1-git-send-email-david.e.box@linux.intel.com>
From: "David E. Box" <david.e.box@linux.intel.com>
Currently drivers that work on big core can't use the mailbox driver without
selecting it which forces an unneeded dependency. Provides dummy fucntions to
allow these modules to conditionally use the mailbox on soc's without limiting
their ability to compile and load on big core systems. Make mailbox driver
build default m to ensure availability on x86 SOC's.
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
---
arch/x86/Kconfig | 7 ++-----
arch/x86/include/asm/iosf_mbi.h | 33 +++++++++++++++++++++++++++++++++
arch/x86/kernel/iosf_mbi.c | 6 ++++++
3 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 25d2c6f..f1304d3 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2375,12 +2375,9 @@ config X86_DMA_REMAP
depends on STA2X11
config IOSF_MBI
- bool
+ tristate
+ default m
depends on PCI
- ---help---
- To be selected by modules requiring access to the Intel OnChip System
- Fabric (IOSF) Sideband MailBox Interface (MBI). For MBI platforms
- enumerable by PCI.
source "net/Kconfig"
diff --git a/arch/x86/include/asm/iosf_mbi.h b/arch/x86/include/asm/iosf_mbi.h
index 8e71c79..9e92d65 100644
--- a/arch/x86/include/asm/iosf_mbi.h
+++ b/arch/x86/include/asm/iosf_mbi.h
@@ -50,6 +50,10 @@
#define BT_MBI_PCIE_READ 0x00
#define BT_MBI_PCIE_WRITE 0x01
+#if defined(CONFIG_IOSF_MBI) || defined(CONFIG_IOSF_MBI_MODULE)
+
+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(1, "MBI driver not available");
+ return -EPERM;
+}
+
+static inline
+int iosf_mbi_write(u8 port, u8 opcode, u32 offset, u32 mdr)
+{
+ WARN(1, "MBI driver not available");
+ return -EPERM;
+}
+
+static inline
+int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask)
+{
+ WARN(1, "MBI driver not available");
+ 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
next prev parent reply other threads:[~2014-04-29 22:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-28 14:04 [PATCH 0/5] RAPL driver updates Jacob Pan
2014-04-28 14:04 ` [PATCH 1/5] powercap/rapl: further relax energy counter checks Jacob Pan
2014-04-28 14:04 ` [PATCH 2/5] powercap/rapl: add new cpu ids Jacob Pan
2014-04-28 14:04 ` [PATCH 3/5] x86, iosf: Add dummy functions for loadable modules Jacob Pan
2014-04-28 14:04 ` [PATCH 4/5] x86/iosf: kconfig and used by other drivers Jacob Pan
2014-04-28 14:04 ` [PATCH 5/5] powercap/rapl: change floor frequency for vallewview Jacob Pan
2014-04-29 2:45 ` R, Durgadoss
2014-04-29 13:02 ` Jacob Pan
2014-04-29 14:40 ` R, Durgadoss
2014-04-29 8:23 ` Jacob Pan
2014-04-29 22:33 ` [PATCH v2 0/4] RAPL driver updates David E. Box
2014-04-29 22:33 ` [PATCH v2 1/4] powercap/rapl: further relax energy counter checks David E. Box
2014-04-30 5:29 ` R, Durgadoss
2014-04-29 22:33 ` [PATCH v2 2/4] powercap/rapl: add new cpu ids David E. Box
2014-04-29 22:33 ` David E. Box [this message]
2014-04-29 22:33 ` [PATCH v2 4/4] powercap/rapl: change floor frequency for vallewview David E. Box
2014-04-29 23:02 ` [PATCH v2 0/4] RAPL driver updates Rafael J. Wysocki
2014-04-29 23:38 ` Jacob Pan
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=1398810789-2301-4-git-send-email-david.e.box@linux.intel.com \
--to=david.e.box@linux.intel.com \
--cc=alan@linux.intel.com \
--cc=durgadoss.r@intel.com \
--cc=hpa@linux.intel.com \
--cc=jacob.jun.pan@linux.intel.com \
--cc=kristen.c.accardi@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
/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).