aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/bcma
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2011-07-22 19:20:08 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-08 14:29:25 -0400
commitecd177c21640e92b059a71139f5850243a8f0942 (patch)
tree70ed92f7b63087bec0a6036dca1c81403d65c86d /include/linux/bcma
parent517f43e5a922d51ac960424de4f72676fe6a7390 (diff)
bcma: add SOC bus
This patch adds support for using bcma on a Broadcom SoC as the system bus. An SoC like the bcm4716 could register this bus and use it to searches for the bcma cores and register the devices on this bus. BCMA_HOSTTYPE_NONE was intended for SoCs at first but BCMA_HOSTTYPE_SOC is a better name. Acked-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/bcma')
-rw-r--r--include/linux/bcma/bcma.h5
-rw-r--r--include/linux/bcma/bcma_soc.h16
2 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h
index e31c9b46222..c70cec59d80 100644
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -14,9 +14,9 @@ struct bcma_device;
14struct bcma_bus; 14struct bcma_bus;
15 15
16enum bcma_hosttype { 16enum bcma_hosttype {
17 BCMA_HOSTTYPE_NONE,
18 BCMA_HOSTTYPE_PCI, 17 BCMA_HOSTTYPE_PCI,
19 BCMA_HOSTTYPE_SDIO, 18 BCMA_HOSTTYPE_SDIO,
19 BCMA_HOSTTYPE_SOC,
20}; 20};
21 21
22struct bcma_chipinfo { 22struct bcma_chipinfo {
@@ -138,6 +138,9 @@ struct bcma_device {
138 u32 addr; 138 u32 addr;
139 u32 wrap; 139 u32 wrap;
140 140
141 void __iomem *io_addr;
142 void __iomem *io_wrap;
143
141 void *drvdata; 144 void *drvdata;
142 struct list_head list; 145 struct list_head list;
143}; 146};
diff --git a/include/linux/bcma/bcma_soc.h b/include/linux/bcma/bcma_soc.h
new file mode 100644
index 00000000000..4203c5593b9
--- /dev/null
+++ b/include/linux/bcma/bcma_soc.h
@@ -0,0 +1,16 @@
1#ifndef LINUX_BCMA_SOC_H_
2#define LINUX_BCMA_SOC_H_
3
4#include <linux/bcma/bcma.h>
5
6struct bcma_soc {
7 struct bcma_bus bus;
8 struct bcma_device core_cc;
9 struct bcma_device core_mips;
10};
11
12int __init bcma_host_soc_register(struct bcma_soc *soc);
13
14int bcma_bus_register(struct bcma_bus *bus);
15
16#endif /* LINUX_BCMA_SOC_H_ */