08 Jun, 2017

1 commit


23 Feb, 2017

2 commits

  • When CONFIG_MMC=m, compile error shows up

    ERROR: "of_alias_max_index" [drivers/mmc/core/mmc_core.ko] undefined!
    ERROR: "mmc_get_reserved_index" [drivers/mmc/card/mmc_block.ko] undefined!
    ERROR: "mmc_first_nonreserved_index" [drivers/mmc/card/mmc_block.ko] undefined!
    make[1]: *** [__modpost] Error 1
    make: *** [modules] Error 2
    make: *** Waiting for unfinished jobs....

    This patch export the upper three symbol for module runtime load.

    Signed-off-by: Haibo Chen
    (cherry picked from commit 3b2520f17d427b8fa8db37a6d9a4311f20c29036)

    Haibo Chen
     
  • of_alias_max_index will return the maximum number for which an
    alias of a given stem exists. This is useful for frameworks
    whishing to reserve a number of device slots from dynamic
    allocation.

    Signed-off-by: Sascha Hauer
    (cherry picked from commit 5ce2ad39b36fd48b9f77249198655da7cbcc7ee5)

    Conflicts:
    include/linux/of.h

    Sascha Hauer
     

09 Jan, 2017

1 commit

  • commit b6cc9474e2dd9f0c19b694b40961d81117f1e918 upstream.

    On arm64 NUMA kernels we can pass "numa=off" on the command line to
    disable NUMA. A side effect of this is that kmalloc_node() calls to
    non-zero nodes will crash the system with an OOPS:

    [ 0.000000] ITS@0x0000901000020000: allocated 2097152 Devices @10002000000 (flat, esz 8, psz 64K, shr 1)
    [ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00001680
    [ 0.000000] pgd = fffffc0009470000
    [ 0.000000] [00001680] *pgd=0000010ffff90003, *pud=0000010ffff90003, *pmd=0000010ffff90003, *pte=0000000000000000
    [ 0.000000] Internal error: Oops: 96000006 [#1] SMP
    .
    .
    .
    [ 0.000000] [] __alloc_pages_nodemask+0xa4/0xe68
    [ 0.000000] [] new_slab+0xd0/0x564
    [ 0.000000] [] ___slab_alloc+0x2e4/0x514
    [ 0.000000] [] __slab_alloc+0x48/0x58
    [ 0.000000] [] __kmalloc_node+0xd0/0x2dc
    [ 0.000000] [] __irq_domain_add+0x7c/0x164
    [ 0.000000] [] its_probe+0x784/0x81c
    [ 0.000000] [] its_init+0x48/0x1b0
    [ 0.000000] [] gic_init_bases+0x228/0x360
    [ 0.000000] [] gic_of_init+0x148/0x1cc
    [ 0.000000] [] of_irq_init+0x184/0x298
    [ 0.000000] [] irqchip_init+0x14/0x38
    [ 0.000000] [] init_IRQ+0xc/0x30
    [ 0.000000] [] start_kernel+0x240/0x3b8
    [ 0.000000] [] __primary_switched+0x30/0x6c
    [ 0.000000] Code: 912ec2a0 b9403809 0a0902fb 37b007db (f9400300)
    .
    .
    .

    This is caused by code like this in kernel/irq/irqdomain.c

    domain = kzalloc_node(sizeof(*domain) + (sizeof(unsigned int) * size),
    GFP_KERNEL, of_node_to_nid(of_node));

    When NUMA is disabled, the concept of a node is really undefined, so
    of_node_to_nid() should unconditionally return NUMA_NO_NODE.

    Fix by returning NUMA_NO_NODE when the nid is not in the set of
    possible nodes.

    Reported-by: Gilbert Netzer
    Signed-off-by: David Daney
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    David Daney
     

30 Nov, 2016

1 commit

  • Add helper to deregister fixed-link PHYs registered using
    of_phy_register_fixed_link().

    Convert the two drivers that care to deregister their fixed-link PHYs to
    use the new helper, but note that most drivers currently fail to do so.

    Signed-off-by: Johan Hovold
    Signed-off-by: David S. Miller

    Johan Hovold
     

18 Nov, 2016

2 commits


12 Nov, 2016

1 commit

  • This reverts commit 05fd007e4629 ("console: don't prefer first
    registered if DT specifies stdout-path").

    The reverted commit changes existing behavior on which many ARM boards
    rely. Many ARM small-board-computers, like e.g. the Raspberry Pi have
    both a video output and a serial console. Depending on whether the user
    is using the device as a more regular computer; or as a headless device
    we need to have the console on either one or the other.

    Many users rely on the kernel behavior of the console being present on
    both outputs, before the reverted commit the console setup with no
    console= kernel arguments on an ARM board which sets stdout-path in dt
    would look like this:

    [root@localhost ~]# cat /proc/consoles
    ttyS0 -W- (EC p a) 4:64
    tty0 -WU (E p ) 4:1

    Where as after the reverted commit, it looks like this:

    [root@localhost ~]# cat /proc/consoles
    ttyS0 -W- (EC p a) 4:64

    This commit reverts commit 05fd007e4629 ("console: don't prefer first
    registered if DT specifies stdout-path") restoring the original
    behavior.

    Fixes: 05fd007e4629 ("console: don't prefer first registered if DT specifies stdout-path")
    Link: http://lkml.kernel.org/r/20161104121135.4780-2-hdegoede@redhat.com
    Signed-off-by: Hans de Goede
    Cc: Paul Burton
    Cc: Rob Herring
    Cc: Frank Rowand
    Cc: Thorsten Leemhuis
    Cc: Greg Kroah-Hartman
    Cc: Tejun Heo
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hans de Goede
     

16 Oct, 2016

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main MIPS pull request for 4.9:

    MIPS core arch code:
    - traps: 64bit kernels should read CP0_EBase 64bit
    - traps: Convert ebase to KSEG0
    - c-r4k: Drop bc_wback_inv() from icache flush
    - c-r4k: Split user/kernel flush_icache_range()
    - cacheflush: Use __flush_icache_user_range()
    - uprobes: Flush icache via kernel address
    - KVM: Use __local_flush_icache_user_range()
    - c-r4k: Fix flush_icache_range() for EVA
    - Fix -mabi=64 build of vdso.lds
    - VDSO: Drop duplicated -I*/-E* aflags
    - tracing: move insn_has_delay_slot to a shared header
    - tracing: disable uprobe/kprobe on compact branch instructions
    - ptrace: Fix regs_return_value for kernel context
    - Squash lines for simple wrapper functions
    - Move identification of VP(E) into proc.c from smp-mt.c
    - Add definitions of SYNC barrierstype values
    - traps: Ensure full EBase is written
    - tlb-r4k: If there are wired entries, don't use TLBINVF
    - Sanitise coherentio semantics
    - dma-default: Don't check hw_coherentio if device is non-coherent
    - Support per-device DMA coherence
    - Adjust MIPS64 CAC_BASE to reflect Config.K0
    - Support generating Flattened Image Trees (.itb)
    - generic: Introduce generic DT-based board support
    - generic: Convert SEAD-3 to a generic board
    - Enable hardened usercopy
    - Don't specify STACKPROTECTOR in defconfigs

    Octeon:
    - Delete dead code and files across the platform.
    - Change to use all memory into use by default.
    - Rename upper case variables in setup code to lowercase.
    - Delete legacy hack for broken bootloaders.
    - Leave maintaining the link state to the actual ethernet/PHY drivers.
    - Add DTS for D-Link DSR-500N.
    - Fix PCI interrupt routing on D-Link DSR-500N.

    Pistachio:
    - Remove ANDROID_TIMED_OUTPUT from defconfig

    TX39xx:
    - Move GPIO setup from .mem_setup() to .arch_init()
    - Convert to Common Clock Framework

    TX49xx:
    - Move GPIO setup from .mem_setup() to .arch_init()
    - Convert to Common Clock Framework

    txx9wdt:
    - Add missing clock (un)prepare calls for CCF

    BMIPS:
    - Add PW, GPIO SDHCI and NAND device node names
    - Support APPENDED_DTB
    - Add missing bcm97435svmb to DT_NONE
    - Rename bcm96358nb4ser to bcm6358-neufbox4-sercom
    - Add DT examples for BCM63268, BCM3368 and BCM6362
    - Add support for BCM3368 and BCM6362

    PCI
    - Reduce stack frame usage
    - Use struct list_head lists
    - Support for CONFIG_PCI_DOMAINS_GENERIC
    - Make pcibios_set_cache_line_size an initcall
    - Inline pcibios_assign_all_busses
    - Split pci.c into pci.c & pci-legacy.c
    - Introduce CONFIG_PCI_DRIVERS_LEGACY
    - Support generic drivers

    CPC
    - Convert bare 'unsigned' to 'unsigned int'
    - Avoid lock when MIPS CM >= 3 is present

    GIC:
    - Delete unused file smp-gic.c

    mt7620:
    - Delete unnecessary assignment for the field "owner" from PCI

    BCM63xx:
    - Let clk_disable() return immediately if clk is NULL

    pm-cps:
    - Change FSB workaround to CPU blacklist
    - Update comments on barrier instructions
    - Use MIPS standard lightweight ordering barrier
    - Use MIPS standard completion barrier
    - Remove selection of sync types
    - Add MIPSr6 CPU support
    - Support CM3 changes to Coherence Enable Register

    SMP:
    - Wrap call to mips_cpc_lock_other in mips_cm_lock_other
    - Introduce mechanism for freeing and allocating IPIs

    cpuidle:
    - cpuidle-cps: Enable use with MIPSr6 CPUs.

    SEAD3:
    - Rewrite to use DT and generic kernel feature.

    USB:
    - host: ehci-sead3: Remove SEAD-3 EHCI code

    FBDEV:
    - cobalt_lcdfb: Drop SEAD3 support

    dt-bindings:
    - Document a binding for simple ASCII LCDs

    auxdisplay:
    - img-ascii-lcd: driver for simple ASCII LCD displays

    irqchip i8259:
    - i8259: Add domain before mapping parent irq
    - i8259: Allow platforms to override poll function
    - i8259: Remove unused i8259A_irq_pending

    Malta:
    - Rewrite to use DT

    of/platform:
    - Probe "isa" busses by default

    CM:
    - Print CM error reports upon bus errors

    Module:
    - Migrate exception table users off module.h and onto extable.h
    - Make various drivers explicitly non-modular:
    - Audit and remove any unnecessary uses of module.h

    mailmap:
    - Canonicalize to Qais' current email address.

    Documentation:
    - MIPS supports HAVE_REGS_AND_STACK_ACCESS_API

    Loongson1C:
    - Add CPU support for Loongson1C
    - Add board support
    - Add defconfig
    - Add RTC support for Loongson1C board

    All this except one Documentation fix has sat in linux-next and has
    survived Imagination's automated build test system"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (127 commits)
    Documentation: MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
    MIPS: ptrace: Fix regs_return_value for kernel context
    MIPS: VDSO: Drop duplicated -I*/-E* aflags
    MIPS: Fix -mabi=64 build of vdso.lds
    MIPS: Enable hardened usercopy
    MIPS: generic: Convert SEAD-3 to a generic board
    MIPS: generic: Introduce generic DT-based board support
    MIPS: Support generating Flattened Image Trees (.itb)
    MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0
    MIPS: Print CM error reports upon bus errors
    MIPS: Support per-device DMA coherence
    MIPS: dma-default: Don't check hw_coherentio if device is non-coherent
    MIPS: Sanitise coherentio semantics
    MIPS: PCI: Support generic drivers
    MIPS: PCI: Introduce CONFIG_PCI_DRIVERS_LEGACY
    MIPS: PCI: Split pci.c into pci.c & pci-legacy.c
    MIPS: PCI: Inline pcibios_assign_all_busses
    MIPS: PCI: Make pcibios_set_cache_line_size an initcall
    MIPS: PCI: Support for CONFIG_PCI_DOMAINS_GENERIC
    MIPS: PCI: Use struct list_head lists
    ...

    Linus Torvalds
     

12 Oct, 2016

1 commit

  • Pull IOMMU updates from Joerg Roedel:

    - support for interrupt virtualization in the AMD IOMMU driver. These
    patches were shared with the KVM tree and are already merged through
    that tree.

    - generic DT-binding support for the ARM-SMMU driver. With this the
    driver now makes use of the generic DMA-API code. This also required
    some changes outside of the IOMMU code, but these are acked by the
    respective maintainers.

    - more cleanups and fixes all over the place.

    * tag 'iommu-updates-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (40 commits)
    iommu/amd: No need to wait iommu completion if no dte irq entry change
    iommu/amd: Free domain id when free a domain of struct dma_ops_domain
    iommu/amd: Use standard bitmap operation to set bitmap
    iommu/amd: Clean up the cmpxchg64 invocation
    iommu/io-pgtable-arm: Check for v7s-incapable systems
    iommu/dma: Avoid PCI host bridge windows
    iommu/dma: Add support for mapping MSIs
    iommu/arm-smmu: Set domain geometry
    iommu/arm-smmu: Wire up generic configuration support
    Docs: dt: document ARM SMMU generic binding usage
    iommu/arm-smmu: Convert to iommu_fwspec
    iommu/arm-smmu: Intelligent SMR allocation
    iommu/arm-smmu: Add a stream map entry iterator
    iommu/arm-smmu: Streamline SMMU data lookups
    iommu/arm-smmu: Refactor mmu-masters handling
    iommu/arm-smmu: Keep track of S2CR state
    iommu/arm-smmu: Consolidate stream map entry state
    iommu/arm-smmu: Handle stream IDs more dynamically
    iommu/arm-smmu: Set PRIVCFG in stage 1 STEs
    iommu/arm-smmu: Support non-PCI devices with SMMUv3
    ...

    Linus Torvalds
     

11 Oct, 2016

1 commit

  • Pull MTD updates from Brian Norris:
    "I've not been very active this cycle, so these are mostly from Boris,
    for the NAND flash subsystem.

    NAND:

    - Add the infrastructure to automate NAND timings configuration

    - Provide a generic DT property to maximize ECC strength

    - Some refactoring in the core bad block table handling, to help with
    improving some of the logic in error cases.

    - Minor cleanups and fixes

    MTD:

    - Add APIs for handling page pairing; this is necessary for reliably
    supporting MLC and TLC NAND flash, where paired-page disturbance
    affects reliability. Upper layers (e.g., UBI) should make use of
    these in the near future"

    * tag 'for-linus-20161008' of git://git.infradead.org/linux-mtd: (35 commits)
    mtd: nand: fix trivial spelling error
    mtdpart: Propagate _get/put_device()
    mtd: nand: Provide nand_cleanup() function to free NAND related resources
    mtd: Kill the OF_MTD Kconfig option
    mtd: nand: mxc: Test CONFIG_OF instead of CONFIG_OF_MTD
    mtd: nand: Fix nand_command_lp() for 8bits opcodes
    mtd: nand: sunxi: Support ECC maximization
    mtd: nand: Support maximizing ECC when using software BCH
    mtd: nand: Add an option to maximize the ECC strength
    mtd: nand: mxc: Add timing setup for v2 controllers
    mtd: nand: mxc: implement onfi get/set features
    mtd: nand: sunxi: switch from manual to automated timing config
    mtd: nand: automate NAND timings selection
    mtd: nand: Expose data interface for ONFI mode 0
    mtd: nand: Add function to convert ONFI mode to data_interface
    mtd: nand: convert ONFI mode into data interface
    mtd: nand: Introduce nand_data_interface
    mtd: nand: Create a NAND reset function
    mtd: nand: remove unnecessary 'extern' from function declarations
    MAINTAINERS: Add maintainer entry for Ingenic JZ4780 NAND driver
    ...

    Linus Torvalds
     

08 Oct, 2016

1 commit

  • If a device tree specifies a preferred device for kernel console output
    via the stdout-path or linux,stdout-path chosen node properties or the
    stdout alias then the kernel ought to honor it & output the kernel
    console to that device. As it stands, this isn't the case. Whilst we
    parse the stdout-path properties & set an of_stdout variable from
    of_alias_scan(), and use that from of_console_check() to determine
    whether to add a console device as a preferred console whilst
    registering it, we also prefer the first registered console if no other
    has been selected at the time of its registration.

    This means that if a console other than the one the device tree selects
    via stdout-path is registered first, we will switch to using it & when
    the stdout-path console is later registered the call to
    add_preferred_console() via of_console_check() is too late to do
    anything useful. In practice this seems to mean that we switch to the
    dummy console device fairly early & see no further console output:

    Console: colour dummy device 80x25
    console [tty0] enabled
    bootconsole [ns16550a0] disabled

    Fix this by not automatically preferring the first registered console if
    one is specified by the device tree. This allows consoles to be
    registered but not enabled, and once the driver for the console selected
    by stdout-path calls of_console_check() the driver will be added to the
    list of preferred consoles before any other console has been enabled.
    When that console is then registered via register_console() it will be
    enabled as expected.

    Link: http://lkml.kernel.org/r/20160809151937.26118-1-paul.burton@imgtec.com
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: Paul Burton
    Cc: Tejun Heo
    Cc: Sergey Senozhatsky
    Cc: Jiri Slaby
    Cc: Daniel Vetter
    Cc: Ivan Delalande
    Cc: Thierry Reding
    Cc: Borislav Petkov
    Cc: Jan Kara
    Cc: Petr Mladek
    Cc: Joe Perches
    Cc: Greg Kroah-Hartman
    Cc: Rob Herring
    Cc: Frank Rowand
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Burton
     

06 Oct, 2016

2 commits

  • Since commit 44a7185c2ae6 ("of/platform: Add common method to populate
    default bus") platforms calling of_platform_bus_probe from an initcall
    is either a rather unsafe race with of_platform_default_populate_init or
    a no-op. The MIPS Malta board needs to probe devices under an ISA bus,
    which we do support in the of_busses array but until now haven't
    included in of_default_bus_match_table.

    Add an "isa" entry to of_default_bus_match_table such that we can just
    accept use of of_platform_default_populate_init & remove the
    Malta-specific match table in a later patch.

    Signed-off-by: Paul Burton
    Acked-by: Rob Herring
    Cc: Frank Rowand
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14275/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • Pull DeviceTree updates from Rob Herring:

    - update changeset documentation on locking to reflect current code

    - fix alphabetizing of vendor-prefixes.txt

    - add various vendor prefixes

    - add ESP8089 WiFi binding

    - add new variable sized array parsing functions

    * tag 'devicetree-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (21 commits)
    DT: irqchip: renesas-irqc: document R8A7743/5 support
    dt-bindings: Add Keith&Koep vendor prefix
    dt-bindings: add vendor prefix for Auvidea GmbH
    of: Add vendor prefix for Engicam s.r.l company
    devicetree: Add vendor-prefix for Silead Inc.
    devicetree: bindings: Add vendor prefix for Topeet.
    dt-bindings: Add summit vendor id
    of/platform: Initialise dev->fwnode appropriately
    of: Add array read functions with min/max size limits
    of: Make of_find_property_value_of_size take a length range
    dt: net: enhance DWC EQoS binding to support Tegra186
    bindings: PCI: artpec: correct pci binding example
    Documentation: devicetree: Fix max77693 spelling errors
    dt: bindings: Add binding for ESP8089 wifi chips
    PCI: Xilinx NWL PCIe: Updating device tree documentation with prefetchable memory space
    Documentation: devicetree: spi: fix wrong spi-bus documentation
    dt-bindings: Add Japan Display Inc vendor id
    dt-bindings: vendor-prefixes: Add Sierra Wireless
    devicetree: Add vendor prefix for Shenzhen Sunchip Technology Co., Ltd
    devicetree: Sort vendor prefixes in alphabetical order
    ...

    Linus Torvalds
     

04 Oct, 2016

1 commit

  • Pull tty and serial updates from Greg KH:
    "Here is the big tty and serial patch set for 4.9-rc1.

    It also includes some drivers/dma/ changes, as those were needed by
    some serial drivers, and they were all acked by the DMA maintainer.

    Also in here is the long-suffering ACPI SPCR patchset, which was
    passed around from maintainer to maintainer like a hot-potato. Seems I
    was the sucker^Wlucky one. All of those patches have been acked by the
    various subsystem maintainers as well.

    All of this has been in linux-next with no reported issues"

    * tag 'tty-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (111 commits)
    Revert "serial: pl011: add console matching function"
    MAINTAINERS: update entry for atmel_serial driver
    serial: pl011: add console matching function
    ARM64: ACPI: enable ACPI_SPCR_TABLE
    ACPI: parse SPCR and enable matching console
    of/serial: move earlycon early_param handling to serial
    Revert "drivers/tty: Explicitly pass current to show_stack"
    tty: amba-pl011: Don't complain on -EPROBE_DEFER when no irq
    nios2: dts: 10m50: Add tx-threshold parameter
    serial: 8250: Set Altera 16550 TX FIFO Threshold
    serial: 8250: of: Load TX FIFO Threshold from DT
    Documentation: dt: serial: Add TX FIFO threshold parameter
    drivers/tty: Explicitly pass current to show_stack
    serial: imx: Fix DCD reading
    serial: stm32: mark symbols static where possible
    serial: xuartps: Add some register initialisation to cdns_early_console_setup()
    serial: xuartps: Removed unwanted checks while reading the error conditions
    serial: xuartps: Rewrite the interrupt handling logic
    serial: stm32: use mapbase instead of membase for DMA
    tty/serial: atmel: fix fractional baud rate computation
    ...

    Linus Torvalds
     

28 Sep, 2016

1 commit

  • We have multiple "earlycon" early_param handlers - merge the DT one into
    the main earlycon one. It's a cleanup that also will be useful
    to defer setting up DT console until ACPI/DT decision is made.

    Rename the exported function to avoid clashing with the function from
    arch/microblaze/kernel/prom.c

    Signed-off-by: Leif Lindholm
    Signed-off-by: Aleksey Makarov
    Acked-by: Rob Herring
    Acked-by: Greg Kroah-Hartman
    Reviewed-by: Peter Hurley
    Tested-by: Kefeng Wang
    Tested-by: Christopher Covington
    Signed-off-by: Greg Kroah-Hartman

    Leif Lindholm
     

23 Sep, 2016

1 commit


16 Sep, 2016

1 commit

  • The PCI msi-map code is already doing double-duty translating IDs and
    retrieving MSI parents, which unsurprisingly is the same functionality
    we need for the identically-formatted PCI iommu-map property. Drag the
    core parsing routine up yet another layer into the general OF-PCI code,
    and further generalise it for either kind of lookup in either flavour
    of map property.

    Acked-by: Rob Herring
    Acked-by: Marc Zyngier
    Tested-by: Lorenzo Pieralisi
    Signed-off-by: Robin Murphy
    Signed-off-by: Will Deacon

    Robin Murphy
     

15 Sep, 2016

3 commits

  • Whilst we're some of the way towards a universal firmware property
    interface, drivers which deal with both OF and ACPI probing end up
    having to do things like this:

    dev->of_node ? &dev->of_node->fwnode : dev->fwnode

    This seems unnecessary, when the OF code could instead simply fill in
    the device's fwnode when binding the of_node, and let the drivers use
    dev->fwnode either way. Let's give it a go and see what falls out.

    Signed-off-by: Robin Murphy
    Signed-off-by: Rob Herring

    Robin Murphy
     
  • Add a new set of array reading functions that take a minimum and
    maximum size limit and will fail if the property size is not within
    the size limits. This makes it more convenient for drivers that
    use variable-size DT arrays which must be bounded at both ends -
    data must be at least N entries but must not overflow the array
    it is being copied into. It is also more efficient than making this
    functionality out of existing public functions and avoids duplication.

    The existing array functions have been left in the API, since there
    are a very large number of clients of those functions and their
    existing functionality is still useful. This avoids turning a small
    API improvement into a major kernel rework.

    The old functions have been turned into mininmal static inlines calling
    the new functions. The old functions had no upper limit on the actual
    size of the dts entry, to preserve this functionality rather than keeping
    two near-identical implementations, if the new function is called with
    max=0 there is no limit on the size of the dts entry but only the min
    number of elements are read.

    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Rob Herring

    Richard Fitzgerald
     
  • In preparation for adding variable-length array reads, change
    of_find_property_value_of_size so that it takes an optional
    maximum length. If the maximum is passed as 0, the behaviour is
    unchanged and it will return a property if it's >= the requested
    minimum length. If maximum is non-zero it will only return a
    property whose length is min
    Signed-off-by: Rob Herring

    Richard Fitzgerald
     

09 Sep, 2016

6 commits


16 Aug, 2016

1 commit

  • The called of_graph_get_next_endpoint() already decrements the refcount
    of the prev node, so it is wrong to do it again in the calling function.

    Use the for_each_endpoint_of_node() helper to interate through the
    endpoint OF nodes, which already does the right thing and simplifies
    the code a bit.

    Fixes: 8ccd0d0ca041
    (of: add helper for getting endpoint node of specific identifiers)
    Cc: stable@vger.kernel.org
    Reported-by: David Jander
    Signed-off-by: Lucas Stach
    Acked-by: Philipp Zabel
    Signed-off-by: Rob Herring

    Lucas Stach
     

13 Aug, 2016

1 commit

  • With the commit 44a7185c2ae6 ("of/platform: Add common method to
    populate default bus"), a default function is introduced to populate
    the default bus and this function is invoked at the arch_initcall_sync
    level. But a lot of ppc boards use machine_device_initcall() to
    populate the default bus. This means that the default populate function
    has higher priority and would override the arch specific population of
    the bus. The side effect is that some arch specific bus are not probed,
    then cause various malfunction due to the miss of some devices. Since
    it is very possible to introduce bugs if we simply change the initcall
    level for all these boards(about 30+). This just disable this default
    function for all the ppc boards.

    Signed-off-by: Kevin Hao
    Signed-off-by: Rob Herring

    Kevin Hao
     

10 Aug, 2016

3 commits

  • That way the init callback may clear the flag again, in case of drivers
    split between early irq chip and a normal platform driver.

    Fixes: 15cc2ed6dcf9 ("of/irq: Mark initialised interrupt controllers as populated")
    Suggested-by: Rob Herring
    Signed-off-by: Philipp Zabel
    Acked-by: Jon Hunter
    Signed-off-by: Rob Herring

    Philipp Zabel
     
  • @mynodes is set to NULL when __unflatten_device_tree() is called
    to unflatten device sub-tree in PCI hot add scenario on PowerPC
    PowerNV platform. Marking @mynodes detached unconditionally causes
    kernel crash as below backtrace shows:

    Unable to handle kernel paging request for data at address 0x00000000
    Faulting instruction address: 0xc000000000b26f64
    cpu 0x0: Vector: 300 (Data Access) at [c000003fcc7cf740]
    pc: c000000000b26f64: __unflatten_device_tree+0xf4/0x190
    lr: c000000000b26f40: __unflatten_device_tree+0xd0/0x190
    sp: c000003fcc7cf9c0
    msr: 900000000280b033
    dar: 0
    dsisr: 40000000
    current = 0xc000003fcc281680
    paca = 0xc00000000ff00000 softe: 0 irq_happened: 0x01
    pid = 2724, comm = sh
    Linux version 4.7.0-gavin-07754-g92a6836 (gwshan@gwshan) (gcc version \
    4.9.3 (Buildroot 2016.02-rc2-00093-g5ea3bce) ) #539 SMP Mon Aug 1 \
    12:40:29 AEST 2016
    enter ? for help
    [c000003fcc7cfa50] c000000000b27060 of_fdt_unflatten_tree+0x60/0x90
    [c000003fcc7cfaa0] c0000000004c6288 pnv_php_set_slot_power_state+0x118/0x440
    [c000003fcc7cfb80] c0000000004c6a10 pnv_php_enable+0xc0/0x170
    [c000003fcc7cfbd0] c0000000004c4d80 power_write_file+0xa0/0x190
    [c000003fcc7cfc50] c0000000004be93c pci_slot_attr_store+0x3c/0x60
    [c000003fcc7cfc70] c0000000002d3fd4 sysfs_kf_write+0x94/0xc0
    [c000003fcc7cfcb0] c0000000002d2c30 kernfs_fop_write+0x180/0x260
    [c000003fcc7cfd00] c000000000230fe0 __vfs_write+0x40/0x190
    [c000003fcc7cfd90] c000000000232278 vfs_write+0xc8/0x240
    [c000003fcc7cfde0] c000000000233d90 SyS_write+0x60/0x110
    [c000003fcc7cfe30] c000000000009524 system_call+0x38/0x108

    This avoids the kernel crash by marking @mynodes detached only when
    @mynodes is dereferencing valid device node in __unflatten_device_tree().

    Fixes: 1d1bde550ea3 ("of: fdt: mark unflattened tree as detached")
    Reported-by: Meng Li
    Signed-off-by: Gavin Shan
    Signed-off-by: Rob Herring

    Gavin Shan
     
  • The of_node_put() function tests whether its argument is NULL
    and then returns immediately.
    Thus the test around the call is not needed.

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring
    Signed-off-by: Rob Herring

    Markus Elfring
     

06 Aug, 2016

1 commit

  • Instead of a ramoops-specific node, use a child node of /reserved-memory.
    This requires that of_platform_device_create() be explicitly called
    for the node, though, since "/reserved-memory" does not have its own
    "compatible" property.

    Suggested-by: Rob Herring
    Signed-off-by: Kees Cook
    Acked-by: Rob Herring

    Kees Cook
     

31 Jul, 2016

2 commits

  • Pull powerpc updates from Michael Ellerman:
    "Highlights:
    - PowerNV PCI hotplug support.
    - Lots more Power9 support.
    - eBPF JIT support on ppc64le.
    - Lots of cxl updates.
    - Boot code consolidation.

    Bug fixes:
    - Fix spin_unlock_wait() from Boqun Feng
    - Fix stack pointer corruption in __tm_recheckpoint() from Michael
    Neuling
    - Fix multiple bugs in memory_hotplug_max() from Bharata B Rao
    - mm: Ensure "special" zones are empty from Oliver O'Halloran
    - ftrace: Separate the heuristics for checking call sites from
    Michael Ellerman
    - modules: Never restore r2 for a mprofile-kernel style mcount() call
    from Michael Ellerman
    - Fix endianness when reading TCEs from Alexey Kardashevskiy
    - start rtasd before PCI probing from Greg Kurz
    - PCI: rpaphp: Fix slot registration for multiple slots under a PHB
    from Tyrel Datwyler
    - powerpc/mm: Add memory barrier in __hugepte_alloc() from Sukadev
    Bhattiprolu

    Cleanups & fixes:
    - Drop support for MPIC in pseries from Rashmica Gupta
    - Define and use PPC64_ELF_ABI_v2/v1 from Michael Ellerman
    - Remove unused symbols in asm-offsets.c from Rashmica Gupta
    - Fix SRIOV not building without EEH enabled from Russell Currey
    - Remove kretprobe_trampoline_holder from Thiago Jung Bauermann
    - Reduce log level of PCI I/O space warning from Benjamin
    Herrenschmidt
    - Add array bounds checking to crash_shutdown_handlers from Suraj
    Jitindar Singh
    - Avoid -maltivec when using clang integrated assembler from Anton
    Blanchard
    - Fix array overrun in ppc_rtas() syscall from Andrew Donnellan
    - Fix error return value in cmm_mem_going_offline() from Rasmus
    Villemoes
    - export cpu_to_core_id() from Mauricio Faria de Oliveira
    - Remove old symbols from defconfigs from Andrew Donnellan
    - Update obsolete comments in setup_32.c about entry conditions from
    Benjamin Herrenschmidt
    - Add comment explaining the purpose of setup_kdump_trampoline() from
    Benjamin Herrenschmidt
    - Merge the RELOCATABLE config entries for ppc32 and ppc64 from Kevin
    Hao
    - Remove RELOCATABLE_PPC32 from Kevin Hao
    - Fix .long's in tlb-radix.c to more meaningful from Balbir Singh

    Minor cleanups & fixes:
    - Andrew Donnellan, Anna-Maria Gleixner, Anton Blanchard, Benjamin
    Herrenschmidt, Bharata B Rao, Christophe Leroy, Colin Ian King,
    Geliang Tang, Greg Kurz, Madhavan Srinivasan, Michael Ellerman,
    Michael Ellerman, Stephen Rothwell, Stewart Smith.

    Freescale updates from Scott:
    - "Highlights include more 8xx optimizations, device tree updates,
    and MVME7100 support."

    PowerNV PCI hotplug from Gavin Shan:
    - PCI: Add pcibios_setup_bridge()
    - Override pcibios_setup_bridge()
    - Remove PCI_RESET_DELAY_US
    - Move pnv_pci_ioda_setup_opal_tce_kill() around
    - Increase PE# capacity
    - Allocate PE# in reverse order
    - Create PEs in pcibios_setup_bridge()
    - Setup PE for root bus
    - Extend PCI bridge resources
    - Make pnv_ioda_deconfigure_pe() visible
    - Dynamically release PE
    - Update bridge windows on PCI plug
    - Delay populating pdn
    - Support PCI slot ID
    - Use PCI slot reset infrastructure
    - Introduce pnv_pci_get_slot_id()
    - Functions to get/set PCI slot state
    - PCI/hotplug: PowerPC PowerNV PCI hotplug driver
    - Print correct PHB type names

    Power9 idle support from Shreyas B. Prabhu:
    - set power_save func after the idle states are initialized
    - Use PNV_THREAD_WINKLE macro while requesting for winkle
    - make hypervisor state restore a function
    - Rename idle_power7.S to idle_book3s.S
    - Rename reusable idle functions to hardware agnostic names
    - Make pnv_powersave_common more generic
    - abstraction for saving SPRs before entering deep idle states
    - Add platform support for stop instruction
    - cpuidle/powernv: Use CPUIDLE_STATE_MAX instead of MAX_POWERNV_IDLE_STATES
    - cpuidle/powernv: cleanup cpuidle-powernv.c
    - cpuidle/powernv: Add support for POWER ISA v3 idle states
    - Use deepest stop state when cpu is offlined

    Power9 PMU from Madhavan Srinivasan:
    - factor out power8 pmu macros and defines
    - factor out power8 pmu functions
    - factor out power8 __init_pmu code
    - Add power9 event list macros for generic and cache events
    - Power9 PMU support
    - Export Power9 generic and cache events to sysfs

    Power9 preliminary interrupt & PCI support from Benjamin Herrenschmidt:
    - Add XICS emulation APIs
    - Move a few exception common handlers to make room
    - Add support for HV virtualization interrupts
    - Add mechanism to force a replay of interrupts
    - Add ICP OPAL backend
    - Discover IODA3 PHBs
    - pci: Remove obsolete SW invalidate
    - opal: Add real mode call wrappers
    - Rename TCE invalidation calls
    - Remove SWINV constants and obsolete TCE code
    - Rework accessing the TCE invalidate register
    - Fallback to OPAL for TCE invalidations
    - Use the device-tree to get available range of M64's
    - Check status of a PHB before using it
    - pci: Don't try to allocate resources that will be reassigned

    Other Power9:
    - Send SIGBUS on unaligned copy and paste from Chris Smart
    - Large Decrementer support from Oliver O'Halloran
    - Load Monitor Register Support from Jack Miller

    Performance improvements from Anton Blanchard:
    - Avoid load hit store in __giveup_fpu() and __giveup_altivec()
    - Avoid load hit store in setup_sigcontext()
    - Remove assembly versions of strcpy, strcat, strlen and strcmp
    - Align hot loops of some string functions

    eBPF JIT from Naveen N. Rao:
    - Fix/enhance 32-bit Load Immediate implementation
    - Optimize 64-bit Immediate loads
    - Introduce rotate immediate instructions
    - A few cleanups
    - Isolate classic BPF JIT specifics into a separate header
    - Implement JIT compiler for extended BPF

    Operator Panel driver from Suraj Jitindar Singh:
    - devicetree/bindings: Add binding for operator panel on FSP machines
    - Add inline function to get rc from an ASYNC_COMP opal_msg
    - Add driver for operator panel on FSP machines

    Sparse fixes from Daniel Axtens:
    - make some things static
    - Introduce asm-prototypes.h
    - Include headers containing prototypes
    - Use #ifdef __BIG_ENDIAN__ #else for REG_BYTE
    - kvm: Clarify __user annotations
    - Pass endianness to sparse
    - Make ppc_md.{halt, restart} __noreturn

    MM fixes & cleanups from Aneesh Kumar K.V:
    - radix: Update LPCR HR bit as per ISA
    - use _raw variant of page table accessors
    - Compile out radix related functions if RADIX_MMU is disabled
    - Clear top 16 bits of va only on older cpus
    - Print formation regarding the the MMU mode
    - hash: Update SDR1 size encoding as documented in ISA 3.0
    - radix: Update PID switch sequence
    - radix: Update machine call back to support new HCALL.
    - radix: Add LPID based tlb flush helpers
    - radix: Add a kernel command line to disable radix
    - Cleanup LPCR defines

    Boot code consolidation from Benjamin Herrenschmidt:
    - Move epapr_paravirt_early_init() to early_init_devtree()
    - cell: Don't use flat device-tree after boot
    - ge_imp3a: Don't use the flat device-tree after boot
    - mpc85xx_ds: Don't use the flat device-tree after boot
    - mpc85xx_rdb: Don't use the flat device-tree after boot
    - Don't test for machine type in rtas_initialize()
    - Don't test for machine type in smp_setup_cpu_maps()
    - dt: Add of_device_compatible_match()
    - Factor do_feature_fixup calls
    - Move 64-bit feature fixup earlier
    - Move 64-bit memory reserves to setup_arch()
    - Use a cachable DART
    - Move FW feature probing out of pseries probe()
    - Put exception configuration in a common place
    - Remove early allocation of the SMU command buffer
    - Move MMU backend selection out of platform code
    - pasemi: Remove IOBMAP allocation from platform probe()
    - mm/hash: Don't use machine_is() early during boot
    - Don't test for machine type to detect HEA special case
    - pmac: Remove spurrious machine type test
    - Move hash table ops to a separate structure
    - Ensure that ppc_md is empty before probing for machine type
    - Move 64-bit probe_machine() to later in the boot process
    - Move 32-bit probe() machine to later in the boot process
    - Get rid of ppc_md.init_early()
    - Move the boot time info banner to a separate function
    - Move setting of {i,d}cache_bsize to initialize_cache_info()
    - Move the content of setup_system() to setup_arch()
    - Move cache info inits to a separate function
    - Re-order the call to smp_setup_cpu_maps()
    - Re-order setup_panic()
    - Make a few boot functions __init
    - Merge 32-bit and 64-bit setup_arch()

    Other new features:
    - tty/hvc: Use IRQF_SHARED for OPAL hvc consoles from Sam Mendoza-Jonas
    - tty/hvc: Use opal irqchip interface if available from Sam Mendoza-Jonas
    - powerpc: Add module autoloading based on CPU features from Alastair D'Silva
    - crypto: vmx - Convert to CPU feature based module autoloading from Alastair D'Silva
    - Wake up kopald polling thread before waiting for events from Benjamin Herrenschmidt
    - xmon: Dump ISA 2.06 SPRs from Michael Ellerman
    - xmon: Dump ISA 2.07 SPRs from Michael Ellerman
    - Add a parameter to disable 1TB segs from Oliver O'Halloran
    - powerpc/boot: Add OPAL console to epapr wrappers from Oliver O'Halloran
    - Assign fixed PHB number based on device-tree properties from Guilherme G. Piccoli
    - pseries: Add pseries hotplug workqueue from John Allen
    - pseries: Add support for hotplug interrupt source from John Allen
    - pseries: Use kernel hotplug queue for PowerVM hotplug events from John Allen
    - pseries: Move property cloning into its own routine from Nathan Fontenot
    - pseries: Dynamic add entires to associativity lookup array from Nathan Fontenot
    - pseries: Auto-online hotplugged memory from Nathan Fontenot
    - pseries: Remove call to memblock_add() from Nathan Fontenot

    cxl:
    - Add set and get private data to context struct from Michael Neuling
    - make base more explicitly non-modular from Paul Gortmaker
    - Use for_each_compatible_node() macro from Wei Yongjun
    - Frederic Barrat
    - Abstract the differences between the PSL and XSL
    - Make vPHB device node match adapter's
    - Philippe Bergheaud
    - Add mechanism for delivering AFU driver specific events
    - Ignore CAPI adapters misplaced in switched slots
    - Refine slice error debug messages
    - Andrew Donnellan
    - static-ify variables to fix sparse warnings
    - PCI/hotplug: pnv_php: export symbols and move struct types needed by cxl
    - PCI/hotplug: pnv_php: handle OPAL_PCI_SLOT_OFFLINE power state
    - Add cxl_check_and_switch_mode() API to switch bi-modal cards
    - remove dead Kconfig options
    - fix potential NULL dereference in free_adapter()
    - Ian Munsie
    - Update process element after allocating interrupts
    - Add support for CAPP DMA mode
    - Fix allowing bogus AFU descriptors with 0 maximum processes
    - Fix allocating a minimum of 2 pages for the SPA
    - Fix bug where AFU disable operation had no effect
    - Workaround XSL bug that does not clear the RA bit after a reset
    - Fix NULL pointer dereference on kernel contexts with no AFU interrupts
    - powerpc/powernv: Split cxl code out into a separate file
    - Add cxl_slot_is_supported API
    - Enable bus mastering for devices using CAPP DMA mode
    - Move cxl_afu_get / cxl_afu_put to base
    - Allow a default context to be associated with an external pci_dev
    - Do not create vPHB if there are no AFU configuration records
    - powerpc/powernv: Add support for the cxl kernel api on the real phb
    - Add support for using the kernel API with a real PHB
    - Add kernel APIs to get & set the max irqs per context
    - Add preliminary workaround for CX4 interrupt limitation
    - Add support for interrupts on the Mellanox CX4
    - Workaround PE=0 hardware limitation in Mellanox CX4
    - powerpc/powernv: Fix pci-cxl.c build when CONFIG_MODULES=n

    selftests:
    - Test unaligned copy and paste from Chris Smart
    - Load Monitor Register Tests from Jack Miller
    - Cyril Bur
    - exec() with suspended transaction
    - Use signed long to read perf_event_paranoid
    - Fix usage message in context_switch
    - Fix generation of vector instructions/types in context_switch
    - Michael Ellerman
    - Use "Delta" rather than "Error" in normal output
    - Import Anton's mmap & futex micro benchmarks
    - Add a test for PROT_SAO"

    * tag 'powerpc-4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (263 commits)
    powerpc/mm: Parenthesise IS_ENABLED() in if condition
    tty/hvc: Use opal irqchip interface if available
    tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
    selftests/powerpc: exec() with suspended transaction
    powerpc: Improve comment explaining why we modify VRSAVE
    powerpc/mm: Drop unused externs for hpte_init_beat[_v3]()
    powerpc/mm: Rename hpte_init_lpar() and move the fallback to a header
    powerpc/mm: Fix build break when PPC_NATIVE=n
    crypto: vmx - Convert to CPU feature based module autoloading
    powerpc: Add module autoloading based on CPU features
    powerpc/powernv/ioda: Fix endianness when reading TCEs
    powerpc/mm: Add memory barrier in __hugepte_alloc()
    powerpc/modules: Never restore r2 for a mprofile-kernel style mcount() call
    powerpc/ftrace: Separate the heuristics for checking call sites
    powerpc: Merge 32-bit and 64-bit setup_arch()
    powerpc/64: Make a few boot functions __init
    powerpc: Re-order setup_panic()
    powerpc: Re-order the call to smp_setup_cpu_maps()
    powerpc/32: Move cache info inits to a separate function
    powerpc/64: Move the content of setup_system() to setup_arch()
    ...

    Linus Torvalds
     
  • Pull DeviceTree updates from Rob Herring:

    - remove most of_platform_populate() calls in arch code. Now the DT
    core code calls it in the default case and platforms only need to
    call it if they have special needs

    - use pr_fmt on all the DT core print statements

    - CoreSight binding doc improvements to block name descriptions

    - add dt_to_config script which can parse dts files and list
    corresponding kernel config options

    - fix memory leak hit with a PowerMac DT

    - correct a bunch of STMicro compatible strings to use the correct
    vendor prefix

    - fix DA9052 PMIC binding doc to match what is actually used in dts
    files

    * tag 'devicetree-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (35 commits)
    documentation: da9052: Update regulator bindings names to match DA9052/53 DTS expectations
    xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
    xtensa: Fix build error due to missing include file
    MIPS: ath79: Add missing include file
    Fix spelling errors in Documentation/devicetree
    ARM: dts: fix STMicroelectronics compatible strings
    powerpc/dts: fix STMicroelectronics compatible strings
    Documentation: dt: i2c: use correct STMicroelectronics vendor prefix
    scripts/dtc: dt_to_config - kernel config options for a devicetree
    of: fdt: mark unflattened tree as detached
    of: overlay: add resolver error prints
    coresight: document binding acronyms
    Documentation/devicetree: document cavium-pip rx-delay/tx-delay properties
    of: use pr_fmt prefix for all console printing
    of/irq: Mark initialised interrupt controllers as populated
    of: fix memory leak related to safe_name()
    Revert "of/platform: export of_default_bus_match_table"
    of: unittest: use of_platform_default_populate() to populate default bus
    memory: omap-gpmc: use of_platform_default_populate() to populate default bus
    bus: uniphier-system-bus: use of_platform_default_populate() to populate default bus
    ...

    Linus Torvalds
     

28 Jul, 2016

2 commits

  • Pull networking updates from David Miller:

    1) Unified UDP encapsulation offload methods for drivers, from
    Alexander Duyck.

    2) Make DSA binding more sane, from Andrew Lunn.

    3) Support QCA9888 chips in ath10k, from Anilkumar Kolli.

    4) Several workqueue usage cleanups, from Bhaktipriya Shridhar.

    5) Add XDP (eXpress Data Path), essentially running BPF programs on RX
    packets as soon as the device sees them, with the option to mirror
    the packet on TX via the same interface. From Brenden Blanco and
    others.

    6) Allow qdisc/class stats dumps to run lockless, from Eric Dumazet.

    7) Add VLAN support to b53 and bcm_sf2, from Florian Fainelli.

    8) Simplify netlink conntrack entry layout, from Florian Westphal.

    9) Add ipv4 forwarding support to mlxsw spectrum driver, from Ido
    Schimmel, Yotam Gigi, and Jiri Pirko.

    10) Add SKB array infrastructure and convert tun and macvtap over to it.
    From Michael S Tsirkin and Jason Wang.

    11) Support qdisc packet injection in pktgen, from John Fastabend.

    12) Add neighbour monitoring framework to TIPC, from Jon Paul Maloy.

    13) Add NV congestion control support to TCP, from Lawrence Brakmo.

    14) Add GSO support to SCTP, from Marcelo Ricardo Leitner.

    15) Allow GRO and RPS to function on macsec devices, from Paolo Abeni.

    16) Support MPLS over IPV4, from Simon Horman.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
    xgene: Fix build warning with ACPI disabled.
    be2net: perform temperature query in adapter regardless of its interface state
    l2tp: Correctly return -EBADF from pppol2tp_getname.
    net/mlx5_core/health: Remove deprecated create_singlethread_workqueue
    net: ipmr/ip6mr: update lastuse on entry change
    macsec: ensure rx_sa is set when validation is disabled
    tipc: dump monitor attributes
    tipc: add a function to get the bearer name
    tipc: get monitor threshold for the cluster
    tipc: make cluster size threshold for monitoring configurable
    tipc: introduce constants for tipc address validation
    net: neigh: disallow transition to NUD_STALE if lladdr is unchanged in neigh_update()
    MAINTAINERS: xgene: Add driver and documentation path
    Documentation: dtb: xgene: Add MDIO node
    dtb: xgene: Add MDIO node
    drivers: net: xgene: ethtool: Use phy_ethtool_gset and sset
    drivers: net: xgene: Use exported functions
    drivers: net: xgene: Enable MDIO driver
    drivers: net: xgene: Add backward compatibility
    drivers: net: phy: xgene: Add MDIO driver
    ...

    Linus Torvalds
     
  • Pull xen updates from David Vrabel:
    "Features and fixes for 4.8-rc0:

    - ACPI support for guests on ARM platforms.
    - Generic steal time support for arm and x86.
    - Support cases where kernel cpu is not Xen VCPU number (e.g., if
    in-guest kexec is used).
    - Use the system workqueue instead of a custom workqueue in various
    places"

    * tag 'for-linus-4.8-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (47 commits)
    xen: add static initialization of steal_clock op to xen_time_ops
    xen/pvhvm: run xen_vcpu_setup() for the boot CPU
    xen/evtchn: use xen_vcpu_id mapping
    xen/events: fifo: use xen_vcpu_id mapping
    xen/events: use xen_vcpu_id mapping in events_base
    x86/xen: use xen_vcpu_id mapping when pointing vcpu_info to shared_info
    x86/xen: use xen_vcpu_id mapping for HYPERVISOR_vcpu_op
    xen: introduce xen_vcpu_id mapping
    x86/acpi: store ACPI ids from MADT for future usage
    x86/xen: update cpuid.h from Xen-4.7
    xen/evtchn: add IOCTL_EVTCHN_RESTRICT
    xen-blkback: really don't leak mode property
    xen-blkback: constify instance of "struct attribute_group"
    xen-blkfront: prefer xenbus_scanf() over xenbus_gather()
    xen-blkback: prefer xenbus_scanf() over xenbus_gather()
    xen: support runqueue steal time on xen
    arm/xen: add support for vm_assist hypercall
    xen: update xen headers
    xen-pciback: drop superfluous variables
    xen-pciback: short-circuit read path used for merging write values
    ...

    Linus Torvalds
     

27 Jul, 2016

1 commit

  • Pull media updates from Mauro Carvalho Chehab:

    - new framework support for HDMI CEC and remote control support

    - new encoding codec driver for Mediatek SoC

    - new frontend driver: helene tuner

    - added support for NetUp almost universal devices, with supports
    DVB-C/S/S2/T/T2 and ISDB-T

    - the mn88472 frontend driver got promoted from staging

    - a new driver for RCar video input

    - some soc_camera legacy drivers got removed: timb, omap1, mx2, mx3

    - lots of driver cleanups, improvements and fixups

    * tag 'media/v4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (377 commits)
    [media] cec: always check all_device_types and features
    [media] cec: poll should check if there is room in the tx queue
    [media] vivid: support monitor all mode
    [media] cec: fix test for unconfigured adapter in main message loop
    [media] cec: limit the size of the transmit queue
    [media] cec: zero unused msg part after msg->len
    [media] cec: don't set fh to NULL in CEC_TRANSMIT
    [media] cec: clear all status fields before transmit and always fill in sequence
    [media] cec: CEC_RECEIVE overwrote the timeout field
    [media] cxd2841er: Reading SNR for DVB-C added
    [media] cxd2841er: Reading BER and UCB for DVB-C added
    [media] cxd2841er: fix switch-case for DVB-C
    [media] cxd2841er: fix signal strength scale for ISDB-T
    [media] cxd2841er: adjust the dB scale for DVB-C
    [media] cxd2841er: provide signal strength for DVB-C
    [media] cxd2841er: fix BER report via DVBv5 stats API
    [media] mb86a20s: apply mask to val after checking for read failure
    [media] airspy: fix error logic during device register
    [media] s5p-cec/TODO: add TODO item
    [media] cec/TODO: drop comment about sphinx documentation
    ...

    Linus Torvalds
     

25 Jul, 2016

1 commit

  • * acpi-numa:
    ACPI / NUMA: Enable ACPI based NUMA on ARM64
    arm64, ACPI, NUMA: NUMA support based on SRAT and SLIT
    ACPI / processor: Add acpi_map_madt_entry()
    ACPI / NUMA: Improve SRAT error detection and add messages
    ACPI / NUMA: Move acpi_numa_memory_affinity_init() to drivers/acpi/numa.c
    ACPI / NUMA: remove unneeded acpi_numa=1
    ACPI / NUMA: move bad_srat() and srat_disabled() to drivers/acpi/numa.c
    x86 / ACPI / NUMA: cleanup acpi_numa_processor_affinity_init()
    arm64, NUMA: Cleanup NUMA disabled messages
    arm64, NUMA: rework numa_add_memblk()
    ACPI / NUMA: move acpi_numa_slit_init() to drivers/acpi/numa.c
    ACPI / NUMA: Move acpi_numa_arch_fixup() to ia64 only
    ACPI / NUMA: remove duplicate NULL check
    ACPI / NUMA: Replace ACPI_DEBUG_PRINT() with pr_debug()
    ACPI / NUMA: Use pr_fmt() instead of printk

    Rafael J. Wysocki
     

20 Jul, 2016

1 commit

  • This provides an equivalent of of_fdt_match() for non-flat trees.

    This is more practical than matching an array of of_device_id structs
    when converting a bunch of existing users of of_fdt_match().

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Rob Herring
    Signed-off-by: Michael Ellerman

    Benjamin Herrenschmidt