History log of /drivers/bcma/main.c
Revision Date Author Comments
1c9351cf2180924c91bb85e5ba607f24a3d875b1 28-Feb-2012 Hauke Mehrtens <hauke@hauke-m.de> bcma: export bcma_find_core

This function is needed by the bcm47xx arch code to get the number of
the ieee80211 core.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8f9ada4fa1926e540b1562cb9bacb3e51a698c35 31-Jan-2012 Hauke Mehrtens <hauke@hauke-m.de> bcma: add bus num counter

If we have two bcma buses on one computer the second will not work
without this patch. Now each bus gets an own number.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d1a7a8e1d367e34e5adce91f48cae07dc08d9e6c 31-Jan-2012 Hauke Mehrtens <hauke@hauke-m.de> bcma: make some functions __devinit

bcma_core_pci_hostmode_init() has to be in __devinit as it will call a
function in that section and so all functions calling it also have to
be in __devinit.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2e6b411971de727a5bcea4323331fdaa70a81b11 31-Jan-2012 Henrik Rydberg <rydberg@euromail.se> bcma: don't fail for bad SPROM CRC

The brcmsmac driver is now using the bcma SPROM CRC check, which does
not recognize all chipsets that were functional prior to the switch. In
particular, the current code bails out on odd CRC errors in recent
Macbooks. This patch ignores those errors, with the argument that an
unrecognized SPROM should be treated similarly to a non-existing one.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
7d5869e78f4c9d32f834dadefbb7dcb3c9d4d85f 13-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> bcma: connect the bcma bus suspend/resume to the bcma driver suspend/resume

Now the low-level driver actually gets informed that it is getting suspended and resumed.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
685a4ef0df23b97eea1842c2698da9a2e35fc976 13-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> bcma: add stub for bcma_bus_suspend()

.. and connect it up with the pci host bcma driver.

Now, the next step is to connect those bcma bus-level suspend/resume
functions to the actual bcma device suspend resume functions.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
775ab52142b02237a54184238e922251c59a2b5c 09-Dec-2011 Rafał Miłecki <zajec5@gmail.com> bcma: support for suspend and resume

bcma used to lock up machine without enabling PCI or initializing CC.

Cc: stable@vger.kernel.org
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
200351c77d6aa7fc36d3a49132c68e95ad9654c8 01-Jul-2011 Paul Gortmaker <paul.gortmaker@windriver.com> bcma: add module.h to the modular portions of this driver

This will ensure that it continues to build once we remove
the implicit module.h presence from everywhere later on.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
886b66ef2f2d4984f6c72d86a9d8a3ffe4344fa5 19-Aug-2011 David Woodhouse <David.Woodhouse@intel.com> bcma: add uevent to the bus, to autoload drivers

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Acked-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
21e0534ad7415559bb8dee0dc00e39646fed83c9 23-Jul-2011 Hauke Mehrtens <hauke@hauke-m.de> bcma: add mips driver

This adds a mips driver to bcma. This is only found on embedded
devices. For now the driver just initializes the irqs used on this
system.

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>
ecd177c21640e92b059a71139f5850243a8f0942 23-Jul-2011 Hauke Mehrtens <hauke@hauke-m.de> 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>
517f43e5a922d51ac960424de4f72676fe6a7390 23-Jul-2011 Hauke Mehrtens <hauke@hauke-m.de> bcma: add functions to scan cores needed on SoCs

The chip common and mips core have to be setup early in the boot
process to get the cpu clock.
bcma_bus_early_register() gets pointers to some space to store the core
data and searches for the chip common and mips core and initializes
chip common. After that was done and the kernel is out of early boot we
just have to run bcma_bus_register() and it will search for the other
cores, initialize and register them.
The cores are getting the same numbers as before.

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>
534e7a4566ca5fd3c0c92a655bcbaa6f9bd13042 09-Jul-2011 Hauke Mehrtens <hauke@hauke-m.de> bcma: add check if sprom is available before accessing it.

The SoCs like the bcm4716 do not have a sprom on the bcma bus like a
pcie device. It stores the values in some partition on flash memory.
For ssb this informations are read out in the bcm47xx arch code,
something like that should also be implemented for bcma. Without this
patch bcma panics on SoCs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
eef726994fc4ce2f9d0c880016bd104628ef44c9 26-Jun-2011 Geert Uytterhoeven <geert@linux-m68k.org> bcma: main.c needs to include <linux/slab.h>

m68k allmodconfig:

drivers/bcma/main.c: In function ‘bcma_release_core_dev’:
drivers/bcma/main.c:68: error: implicit declaration of function ‘kfree’

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
--
http://kisskb.ellerman.id.au/kisskb/buildresult/4243344/

drivers/bcma/main.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Signed-off-by: John W. Linville <linville@tuxdriver.com>
440ca98fe8407808a9ad8e934f6e28408f546313 18-Jun-2011 Rafał Miłecki <zajec5@gmail.com> bcma: clean exports of functions

Function managing IRQs is needed for external drivers like b43.
On the other side we do not expect writing any hosts drivers outside of
bcma, so this is safe to do not export functions related to this.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
27f18dc2dafe66a93c7101fc94201b8c83903597 02-Jun-2011 Rafał Miłecki <zajec5@gmail.com> bcma: read SPROM and extract MAC from it

In case of BCMA cards SPROM is located in the ChipCommon core, it is
not mapped as separated host window. So far we have met only SPROMs rev
8.
SPROM layout seems to be the same as for SSB buses, so we decided to
share SPROM struct and some defines.
For now we extract MAC address only, this can be improved of course.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
1bdcd095e39a789135f8638a2ff76f74e3071d46 18-May-2011 Rafał Miłecki <zajec5@gmail.com> bcma: add IRQ number and pointer to DMA dev

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8369ae33b705222aa05ab53c7d6b4458f4ed161b 09-May-2011 Rafał Miłecki <zajec5@gmail.com> bcma: add Broadcom specific AMBA bus driver

Broadcom has released cards based on a new AMBA-based bus type. From a
programming point of view, this new bus type differs from AMBA and does
not use AMBA common registers. It also differs enough from SSB. We
decided that a new bus driver is needed to keep the code clean.

In its current form, the driver detects devices present on the bus and
registers them in the system. It allows registering BCMA drivers for
specified bus devices and provides them basic operations. The bus driver
itself includes two important bus managing drivers: ChipCommon core
driver and PCI(c) core driver. They are early used to allow correct
initialization.

Currently code is limited to supporting buses on PCI(e) devices, however
the driver is designed to be used also on other hosts. The host
abstraction layer is implemented and already used for PCI(e).

Support for PCI(e) hosts is working and seems to be stable (access to
80211 core was tested successfully on a few devices). We can still
optimize it by using some fixed windows, but this can be done later
without affecting any external code. Windows are just ranges in MMIO
used for accessing cores on the bus.

Cc: Greg KH <greg@kroah.com>
Cc: Michael Büsch <mb@bu3sch.de>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: George Kashperko <george@znau.edu.ua>
Cc: Arend van Spriel <arend@broadcom.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andy Botting <andy@andybotting.com>
Cc: linuxdriverproject <devel@linuxdriverproject.org>
Cc: linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>