14 Mar, 2018

1 commit


28 Feb, 2018

2 commits


01 Feb, 2018

1 commit


26 Jan, 2018

1 commit

  • After upgrading an old laptop to 4.15-rc9, I found that the eth0 and
    wlan0 interfaces had disappeared. It turns out that the b43 and b44
    drivers require SSB_PCIHOST_POSSIBLE which depends on
    PCI_DRIVERS_LEGACY, a config option that only exists on Mips.

    Fixes: 58eae1416b80 ("ssb: Disable PCI host for PCI_DRIVERS_GENERIC")
    Cc: stable@vger.org
    Signed-off-by: Sven Joachim
    Reviewed-by: James Hogan
    Signed-off-by: Kalle Valo

    Sven Joachim
     

20 Jan, 2018

1 commit


17 Jan, 2018

1 commit

  • Since commit d41e6858ba58 ("MIPS: Kconfig: Set default MIPS system type
    as generic") changed the default MIPS platform to the "generic"
    platform, which uses PCI_DRIVERS_GENERIC instead of PCI_DRIVERS_LEGACY,
    various files in drivers/ssb/ have failed to build.

    This is particularly due to the existence of struct pci_controller being
    dependent on PCI_DRIVERS_LEGACY since commit c5611df96804 ("MIPS: PCI:
    Introduce CONFIG_PCI_DRIVERS_LEGACY"), so add that dependency to Kconfig
    to prevent these files being built for the "generic" platform including
    all{yes,mod}config builds.

    Fixes: c5611df96804 ("MIPS: PCI: Introduce CONFIG_PCI_DRIVERS_LEGACY")
    Signed-off-by: James Hogan
    Cc: Michael Buesch
    Cc: Ralf Baechle
    Cc: Paul Burton
    Cc: Matt Redfearn
    Cc: Guenter Roeck
    Cc: linux-wireless@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Tested-by: Guenter Roeck
    Signed-off-by: Kalle Valo

    James Hogan
     

07 Dec, 2017

1 commit

  • No need to get into the submenu to disable all SSB-related
    config entries.

    This makes it easier to disable all SSB config options
    without entering the submenu. It will also enable one
    to see that en/dis-abled state from the outside menu.

    This is only intended to change menuconfig UI, not change
    the config dependencies.

    Signed-off-by: Vincent Legoll
    Signed-off-by: Kalle Valo

    Vincent Legoll
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

24 May, 2017

1 commit


17 Nov, 2016

1 commit


06 Jul, 2016

1 commit


26 Apr, 2016

1 commit


26 Feb, 2016

1 commit

  • Drivers that use the SSB sprom functionality typically 'select SSB_SPROM'
    from Kconfig, but CONFIG_SSB_HOST_SOC misses this, which results in
    a build failure unless at least one of the other drivers that selects
    it is enabled:

    drivers/built-in.o: In function `ssb_host_soc_get_invariants':
    (.text+0x459494): undefined reference to `ssb_fill_sprom_with_fallback'

    This adds the same select statement that is used elsewhere.

    Signed-off-by: Arnd Bergmann
    Fixes: 541c9a84cd85 ("ssb: pick SoC invariants code from MIPS BCM47xx arch")
    Signed-off-by: Kalle Valo

    Arnd Bergmann
     

20 Jan, 2016

1 commit

  • The SoC variant of the ssb code is now optional like the other
    ones, which means we can build the framwork without any
    front-end, but that results in a warning:

    drivers/ssb/main.c:616:12: warning: 'ssb_bus_register' defined but not used [-Wunused-function]

    This annotates the ssb_bus_register function as __maybe_unused to
    shut up the warning. A configuration like this will not work on
    any hardware of course, but we still want this to silently build
    without warnings if the configuration is allowed in the first
    place.

    Signed-off-by: Arnd Bergmann
    Fixes: 845da6e58e19 ("ssb: add Kconfig entry for compiling SoC related code")
    Acked-by: Michael Buesch
    Signed-off-by: Kalle Valo

    Arnd Bergmann
     

16 Dec, 2015

1 commit

  • There is code in ssb fetching "invariants" that is basically a set of
    board specific data. Every host requires its own implementation of
    reading function. In ssb we have support for PCI, PCMCIA & SDIO.
    For some (historical?) reason code reading "invariants" for SoC was
    placed in arch code and provided by a callback. This is not needed
    nowadays, so lets move that into ssb. This way we keep all "invariants"
    functions in a single module making code cleaner.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

29 Oct, 2015

3 commits

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

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     
  • This cleans main.c a bit and will allow us to compile SoC related code
    conditionally in the future.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     
  • ssb bus can be found on various "host" devices like PCI/PCMCIA/SDIO.
    Every ssb bus contains cores AKA devices.
    The main idea is to have ssb driver scan/initialize bus and register
    ready-to-use cores. This way ssb drivers can operate on a single core
    mostly ignoring underlaying details.

    For some reason PCMCIA support was split between ssb and b43. We got
    PCMCIA host device probing in b43, then bus scanning in ssb and then
    wireless core probing back in b43. The truth is it's very unlikely we
    will ever see PCMCIA ssb device with no 802.11 core but I still don't
    see any advantage of the current architecture.

    With proposed change we get the same functionality with a simpler
    architecture, less Kconfig symbols, one killed EXPORT and hopefully
    cleaner b43. Since b43 supports both: ssb & bcma I prefer to keep ssb
    specific code in ssb driver.

    This mostly moves code from b43's pcmcia.c to bridge_pcmcia_80211.c. We
    already use similar solution with b43_pci_bridge.c. I didn't use "b43"
    in name of this new file as in theory any driver can operate on wireless
    core.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

29 Sep, 2015

4 commits


09 Jun, 2015

1 commit

  • Dan Carpenter reported missing brackets which resulted in reading a
    wrong crystalfreq value. I also noticed that the result of this
    function is ignored.

    Reported-By: Dan Carpenter
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: Michael Buesch
    Cc: davem@davemloft.net
    Cc: netdev@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10536/
    Signed-off-by: Ralf Baechle

    Hauke Mehrtens
     

20 May, 2015

1 commit


18 Apr, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for Linux 4.1. Most
    noteworthy:

    - Add more Octeon-optimized crypto functions
    - Octeon crypto preemption and locking fixes
    - Little endian support for Octeon
    - Use correct CSR to soft reset Octeons
    - Support LEDs on the Octeon-based DSR-1000N
    - Fix PCI interrupt mapping for the Octeon-based DSR-1000N
    - Mark prom_free_prom_memory() as __init for a number of systems
    - Support for Imagination's Pistachio SOC. This includes arch and
    CLK bits. I'd like to merge pinctrl bits later
    - Improve parallelism of csum_partial for certain pipelines
    - Organize DTB files in subdirs like other architectures
    - Implement read_sched_clock for all MIPS platforms other than
    Octeon
    - Massive series of 38 fixes and cleanups for the FPU emulator /
    kernel
    - Further FPU remulator work to support new features. This sits on a
    separate branch which also has been pulled into the 4.1 KVM branch
    - Clean up and fixes for the SEAD3 eval board; remove unused file
    - Various updates for Netlogic platforms
    - A number of small updates for Loongson 3 platforms
    - Increase the memory limit for ATH79 platforms to 256MB
    - A fair number of fixes and updates for BCM47xx platforms
    - Finish the implementation of XPA support
    - MIPS FDC support. No, not floppy controller but Fast Debug Channel :)
    - Detect the R16000 used in SGI legacy platforms
    - Fix Kconfig dependencies for the SSB bus support"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (265 commits)
    MIPS: Makefile: Fix MIPS ASE detection code
    MIPS: asm: elf: Set O32 default FPU flags
    MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
    MIPS: Kconfig: Disable SMP/CPS for 64-bit
    MIPS: Hibernate: flush TLB entries earlier
    MIPS: smp-cps: cpu_set FPU mask if FPU present
    MIPS: lose_fpu(): Disable FPU when MSA enabled
    MIPS: ralink: add missing symbol for RALINK_ILL_ACC
    MIPS: ralink: Fix bad config symbol in PCI makefile.
    SSB: fix Kconfig dependencies
    MIPS: Malta: Detect and fix bad memsize values
    Revert "MIPS: Avoid pipeline stalls on some MIPS32R2 cores."
    MIPS: Octeon: Delete override of cpu_has_mips_r2_exec_hazard.
    MIPS: Fix cpu_has_mips_r2_exec_hazard.
    MIPS: kernel: entry.S: Set correct ISA level for mips_ihb
    MIPS: asm: spinlock: Fix addiu instruction for R10000_LLSC_WAR case
    MIPS: r4kcache: Use correct base register for MIPS R6 cache flushes
    MIPS: Kconfig: Fix typo for the r2-to-r6 emulator kernel parameter
    MIPS: unaligned: Fix regular load/store instruction emulation for EVA
    MIPS: unaligned: Surround load/store macros in do {} while statements
    ...

    Linus Torvalds
     

13 Apr, 2015

1 commit


10 Apr, 2015

1 commit

  • The commit 21400f252a97 ("MIPS: BCM47XX: Make ssb init NVRAM instead of
    bcm47xx polling it") introduces a dependency to SSB_SFLASH but did not
    add it to the Kconfig.

    drivers/ssb/driver_mipscore.c:216:36: error: 'struct ssb_mipscore' has no
    member named 'sflash'
    struct ssb_sflash *sflash = &mcore->sflash;
    ^
    drivers/ssb/driver_mipscore.c:249:12: error: dereferencing pointer to
    incomplete type
    if (sflash->present) {
    ^

    Signed-off-by: Adrien Schildknecht
    Cc: m@bues.ch
    Cc: zajec5@gmail.com
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/9598/
    Signed-off-by: Ralf Baechle

    Adrien Schildknecht
     

08 Apr, 2015

1 commit


01 Apr, 2015

1 commit

  • There are two reasons for having this header in the common place:
    1) Simplifying drivers that read NVRAM entries. We will be able to
    safely call bcm47xx_nvram_* functions without #ifdef-s.
    2) Getting NVRAM driver out of MIPS arch code. This is needed to support
    BCM5301X arch which also requires this NVRAM driver. Patch for that
    will follow once we get is reviewed.

    Signed-off-by: Rafał Miłecki
    Acked-by: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Cc: Arnd Bergmann
    Cc: Paul Walmsley
    Cc: linux-soc@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8619/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     

03 Mar, 2015

1 commit

  • When using a BCM4318 in a PCMCIA format, I get a startup message that the
    device uses backplane revision 0xF000000. Next a WARNING is logged. Despite
    the message, the device works fine, This patch silences the warning.

    Cc: Rafał Miłecki
    Signed-off-by: Larry Finger
    Signed-off-by: Kalle Valo

    Larry Finger
     

12 Feb, 2015

1 commit


29 Jan, 2015

1 commit

  • This change fixes below sparse error:
    drivers/ssb/main.c:94:16: warning: symbol 'ssb_sdio_func_to_bus'
    was not declared. Should it be static?

    Acked-by: Michael Buesch
    Signed-off-by: Pramod Gurav
    Signed-off-by: Kalle Valo

    Pramod Gurav
     

12 Dec, 2014

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is an unusually large pull request for MIPS - in parts because
    lots of patches missed the 3.18 deadline but primarily because some
    folks opened the flood gates.

    - Retire the MIPS-specific phys_t with the generic phys_addr_t.
    - Improvments for the backtrace code used by oprofile.
    - Better backtraces on SMP systems.
    - Cleanups for the Octeon platform code.
    - Cleanups and fixes for the Loongson platform code.
    - Cleanups and fixes to the firmware library.
    - Switch ATH79 platform to use the firmware library.
    - Grand overhault to the SEAD3 and Malta interrupt code.
    - Move the GIC interrupt code to drivers/irqchip
    - Lots of GIC cleanups and updates to the GIC code to use modern IRQ
    infrastructures and features of the kernel.
    - OF documentation updates for the GIC bindings
    - Move GIC clocksource driver to drivers/clocksource
    - Merge GIC clocksource driver with clockevent driver.
    - Further updates to bring the GIC clocksource driver up to date.
    - R3000 TLB code cleanups
    - Improvments to the Loongson 3 platform code.
    - Convert pr_warning to pr_warn.
    - Merge a bunch of small lantiq and ralink fixes that have been
    staged/lingering inside the openwrt tree for a while.
    - Update archhelp for IP22/IP32
    - Fix a number of issues for Loongson 1B.
    - New clocksource and clockevent driver for Loongson 1B.
    - Further work on clk handling for Loongson 1B.
    - Platform work for Broadcom BMIPS.
    - Error handling cleanups for TurboChannel.
    - Fixes and optimization to the microMIPS support.
    - Option to disable the FTLB.
    - Dump more relevant information on machine check exception
    - Change binfmt to allow arch to examine PT_*PROC headers
    - Support for new style FPU register model in O32
    - VDSO randomization.
    - BCM47xx cleanups
    - BCM47xx reimplement the way the kernel accesses NVRAM information.
    - Random cleanups
    - Add support for ATH25 platforms
    - Remove pointless locking code in some PCI platforms.
    - Some improvments to EVA support
    - Minor Alchemy cleanup"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (185 commits)
    MIPS: Add MFHC0 and MTHC0 instructions to uasm.
    MIPS: Cosmetic cleanups of page table headers.
    MIPS: Add CP0 macros for extended EntryLo registers
    MIPS: Remove now unused definition of phys_t.
    MIPS: Replace use of phys_t with phys_addr_t.
    MIPS: Replace MIPS-specific 64BIT_PHYS_ADDR with generic PHYS_ADDR_T_64BIT
    PCMCIA: Alchemy Don't select 64BIT_PHYS_ADDR in Kconfig.
    MIPS: lib: memset: Clean up some MIPS{EL,EB} ifdefery
    MIPS: iomap: Use __mem_{read,write}{b,w,l} for MMIO
    MIPS: fix indentation.
    MAINTAINERS: Add entry for BMIPS multiplatform kernel
    MIPS: Enable VDSO randomization
    MIPS: Remove a temporary hack for debugging cache flushes in SMTC configuration
    MIPS: Remove declaration of obsolete arch_init_clk_ops()
    MIPS: atomic.h: Reformat to fit in 79 columns
    MIPS: Apply `.insn' to fixup labels throughout
    MIPS: Fix microMIPS LL/SC immediate offsets
    MIPS: Kconfig: Only allow 32-bit microMIPS builds
    MIPS: signal.c: Fix an invalid cast in ISA mode bit handling
    MIPS: mm: Only build one microassembler that is suitable
    ...

    Linus Torvalds
     

05 Dec, 2014

1 commit

  • Wake On Lan was not working on laptop DELL Vostro 1500.
    If WOL was turned on, BCM4401 was powered up in suspend mode. LEDs blinked.
    But the laptop could not be woken up with the Magic Packet. The reason for
    that was that PCIE was not enabled as a system wakeup source and
    therefore the host PCI bridge was not powered up in suspend mode.
    PCIE was not enabled in suspend by PM because no child devices were
    registered as wakeup source during suspend process.
    On laptop BCM4401 is connected through the SSB bus, that is connected to the
    PCI-Express bus. SSB and B44 did not use standard PM wakeup functions
    and did not forward wakeup settings to their parents.
    To fix that B44 driver enables PM wakeup and registers new wakeup source
    using device_set_wakeup_enable(). Wakeup is automatically reported to the parent SSB
    bus via power.wakeup_path. SSB bus enables wakeup for the parent PCI bridge, if there is any
    child devices with enabled wakeup functionality. All other steps are
    done by PM core code.

    Signed-off-by: Andrey Skvortsov
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Andrey Skvortsov
     

24 Nov, 2014

1 commit


10 Oct, 2014

1 commit

  • Pull GPIO changes from Linus Walleij:
    "This is the bulk of GPIO changes for the v3.18 development cycle:

    - Increase the default ARCH_NR_GPIO from 256 to 512. This was done
    to avoid having a custom header for the x86
    architecture - GPIO is custom and complicated enough as it is
    already! We want to move to a radix to store the descriptors going
    forward, and finally get rid of this fixed array size altogether.

    - Endgame patching of the gpio_remove() semantics initiated by
    Abdoulaye Berthe. It is not accepted by the system that the
    removal of a GPIO chip fails during eg reboot or shutdown, and
    therefore the return value has now painfully been refactored away.
    For special cases like GPIO expanders on a hot-pluggable bus like
    USB, we may later add some gpiochip_try_remove() call, but for the
    cases we have now, return values are moot.

    - Some incremental refactoring of the gpiolib core and ACPI GPIO
    library for more descriptor usage.

    - Refactor the chained IRQ handler set-up method to handle also
    threaded, nested interrupts and set up the parent IRQ correctly.
    Switch STMPE and TC3589x drivers to use this registration method.

    - Add a .irq_not_threaded flag to the struct gpio_chip, so that also
    GPIO expanders that block but are still not using threaded IRQ
    handlers.

    - New drivers for the ARM64 X-Gene SoC GPIO controller.

    - The syscon GPIO driver has been improved to handle the "DSP GPIO"
    found on the TI Keystone 2 SoC:s.

    - ADNP driver switched to use gpiolib irqchip helpers.

    - Refactor the DWAPB driver to support being instantiated from and
    MFD cell (platform device).

    - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP,
    Xilinx and Crystalcove drivers.

    - Various minor fixes"

    * tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits)
    gpio: pch: Build context save/restore only for PM
    pinctrl: abx500: get rid of unused variable
    gpio: ks8695: fix 'else should follow close brace '}''
    gpio: stmpe: add verbose debug code
    gpio: stmpe: fix up interrupt enable logic
    gpio: staticize xway_stp_init()
    gpio: handle also nested irqchips in the chained handler set-up
    gpio: set parent irq on chained handlers
    gpiolib: irqchip: use irq_find_mapping while removing irqchip
    gpio: crystalcove: support virtual GPIO
    pinctrl: bcm281xx: make Kconfig dependency more strict
    gpio: kona: enable only on BCM_MOBILE or for compile testing
    gpio, bcm-kona, LLVMLinux: Remove use of __initconst
    gpio: Fix ngpio in gpio-xilinx driver
    gpio: dwapb: fix pointer to integer cast
    gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard
    gpio: xgene: Remove unneeded forward declation for struct xgene_gpio
    gpio: xgene: Fix missing spin_lock_init()
    gpio: ks8695: fix switch case indentation
    gpiolib: add irq_not_threaded flag to gpio_chip
    ...

    Linus Torvalds
     

19 Sep, 2014

1 commit


26 Aug, 2014

1 commit


19 Jul, 2014

1 commit