diff mbox

[2/2] ssb: add Kconfig entry for compiling SoC related code

Message ID 1445797963-5968-2-git-send-email-zajec5@gmail.com (mailing list archive)
State Accepted
Delegated to: Kalle Valo
Headers show

Commit Message

Rafał Miłecki Oct. 25, 2015, 6:32 p.m. UTC
This allows saving a little of space when not using ssb on Broadcom SoC.

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
 arch/mips/bcm47xx/Kconfig | 1 +
 drivers/ssb/Kconfig       | 9 +++++++++
 drivers/ssb/Makefile      | 2 +-
 drivers/ssb/main.c        | 2 ++
 drivers/ssb/ssb_private.h | 2 ++
 5 files changed, 15 insertions(+), 1 deletion(-)

Comments

Michael Büsch Oct. 27, 2015, 7:11 p.m. UTC | #1
On Sun, 25 Oct 2015 19:32:43 +0100
Rafa? Mi?ecki <zajec5@gmail.com> wrote:

> This allows saving a little of space when not using ssb on Broadcom SoC.

I'm not sure whether it's worth it.
But I don't mind having this anyway.

Acked-by: Michael Buesch <m@bues.ch>
diff mbox

Patch

diff --git a/arch/mips/bcm47xx/Kconfig b/arch/mips/bcm47xx/Kconfig
index 51ed599..e970fd9 100644
--- a/arch/mips/bcm47xx/Kconfig
+++ b/arch/mips/bcm47xx/Kconfig
@@ -4,6 +4,7 @@  config BCM47XX_SSB
 	bool "SSB Support for Broadcom BCM47XX"
 	select SYS_HAS_CPU_BMIPS32_3300
 	select SSB
+	select SSB_HOST_SOC
 	select SSB_DRIVER_MIPS
 	select SSB_DRIVER_EXTIF
 	select SSB_EMBEDDED
diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
index f0d22cd..149214b 100644
--- a/drivers/ssb/Kconfig
+++ b/drivers/ssb/Kconfig
@@ -80,6 +80,15 @@  config SSB_SDIOHOST
 
 	  If unsure, say N
 
+config SSB_HOST_SOC
+	bool "Support for SSB bus on SoC"
+	depends on SSB
+	help
+	  Host interface for a SSB directly mapped into memory. This is
+	  for some Broadcom SoCs from the BCM47xx and BCM53xx lines.
+
+	  If unsure, say N
+
 config SSB_SILENT
 	bool "No SSB kernel messages"
 	depends on SSB && EXPERT
diff --git a/drivers/ssb/Makefile b/drivers/ssb/Makefile
index 30194c5..64a0968 100644
--- a/drivers/ssb/Makefile
+++ b/drivers/ssb/Makefile
@@ -7,7 +7,7 @@  ssb-$(CONFIG_SSB_SPROM)			+= sprom.o
 ssb-$(CONFIG_SSB_PCIHOST)		+= pci.o pcihost_wrapper.o
 ssb-$(CONFIG_SSB_PCMCIAHOST)		+= pcmcia.o bridge_pcmcia_80211.o
 ssb-$(CONFIG_SSB_SDIOHOST)		+= sdio.o
-ssb-y					+= host_soc.o
+ssb-$(CONFIG_SSB_HOST_SOC)		+= host_soc.o
 
 # built-in drivers
 ssb-y					+= driver_chipcommon.o
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index bea823e..5d1e9a0 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -761,6 +761,7 @@  int ssb_bus_sdiobus_register(struct ssb_bus *bus, struct sdio_func *func,
 EXPORT_SYMBOL(ssb_bus_sdiobus_register);
 #endif /* CONFIG_SSB_PCMCIAHOST */
 
+#ifdef CONFIG_SSB_HOST_SOC
 int ssb_bus_ssbbus_register(struct ssb_bus *bus, unsigned long baseaddr,
 			    ssb_invariants_func_t get_invariants)
 {
@@ -777,6 +778,7 @@  int ssb_bus_ssbbus_register(struct ssb_bus *bus, unsigned long baseaddr,
 
 	return err;
 }
+#endif
 
 int __ssb_driver_register(struct ssb_driver *drv, struct module *owner)
 {
diff --git a/drivers/ssb/ssb_private.h b/drivers/ssb/ssb_private.h
index 0a756c2..15bfd5c 100644
--- a/drivers/ssb/ssb_private.h
+++ b/drivers/ssb/ssb_private.h
@@ -161,7 +161,9 @@  static inline int ssb_sdio_init(struct ssb_bus *bus)
  * host_soc.c
  **************************************************/
 
+#ifdef CONFIG_SSB_HOST_SOC
 extern const struct ssb_bus_ops ssb_host_soc_ops;
+#endif
 
 /* scan.c */
 extern const char *ssb_core_name(u16 coreid);