14 Dec, 2011

3 commits


01 Nov, 2011

1 commit

  • The original implementations reference THIS_MODULE in an inline.
    We could include , but it is better to avoid chaining.

    Fortunately someone else already thought of this, and made a similar
    inline into a #define in for device_schedule_callback(),
    [see commit 523ded71de0] so follow that precedent here.

    Also bubble up any __must_check that were used on the prev. wrapper inline
    functions up one to the real __register functions, to preserve any prev.
    sanity checks that were used in those instances.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

20 Sep, 2011

1 commit


23 Aug, 2011

1 commit


09 Aug, 2011

5 commits

  • Add method to return the clock of the CPU. This is needed by the arch
    code to calculate the mips_hpt_frequency.

    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • This adds support for serial console to bcma, when operating on an SoC.

    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • 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
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • 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
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • 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
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

22 Jul, 2011

1 commit


20 Jul, 2011

6 commits


21 Jun, 2011

1 commit

  • 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
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

11 Jun, 2011

1 commit

  • In the brcm80211 driver we disable the 80211 core when the driver is
    'down'. The bcma_core_disable() function exactly does the same as
    our implementation so exporting this function makes sense.

    Cc: linux-wireless@vger.kernel.org
    Cc: Rafal Milecki
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Arend van Spriel
     

04 Jun, 2011

1 commit

  • 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
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

02 Jun, 2011

2 commits


12 May, 2011

1 commit


11 May, 2011

1 commit

  • 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
    Cc: Michael Büsch
    Cc: Larry Finger
    Cc: George Kashperko
    Cc: Arend van Spriel
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Russell King
    Cc: Arnd Bergmann
    Cc: Andy Botting
    Cc: linuxdriverproject
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki