1. 16 Jun, 2016 5 commits
    • Daniel Axtens's avatar
      powerpc: Introduce asm-prototypes.h · 42f5b4ca
      Daniel Axtens authored
      Sparse picked up a number of functions that are implemented in C and
      then only referred to in asm code.
      
      This introduces asm-prototypes.h, which provides a place for
      prototypes of these functions.
      
      This silences some sparse warnings.
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      [mpe: Add include guards, clean up copyright & GPL text]
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      42f5b4ca
    • Daniel Axtens's avatar
      powerpc/sparse: make some things static · 34852ed5
      Daniel Axtens authored
      This is just a smattering of things picked up by sparse that should
      be made static.
      Signed-off-by: default avatarDaniel Axtens <dja@axtens.net>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      34852ed5
    • Suraj Jitindar Singh's avatar
      powerpc: Add array bounds checking to crash_shutdown_handlers · 1d145165
      Suraj Jitindar Singh authored
      The array crash_shutdown_handles is an array of size CRASH_HANDLER_MAX+1
      containing up to CRASH_HANDLER_MAX shutdown_handlers. It is assumed to
      be NULL terminated, which it is under normal circumstances. Array
      accesses in the functions crash_shutdown_unregister() and
      default_machine_crash_shutdown() rely on this NULL termination property
      when traversing this list and don't protect again out of bounds accesses.
      If the NULL terminator were somehow overwritten these functions could
      potentially access out of the bounds of the array.
      
      Shrink the array to size CRASH_HANDLER_MAX and implement explicit array
      bounds checking when accessing the elements of the
      crash_shutdown_handles[] array in crash_shutdown_unregister() and
      default_machine_crash_shutdown().
      Signed-off-by: default avatarSuraj Jitindar Singh <sjitindarsingh@gmail.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      1d145165
    • Oliver O'Halloran's avatar
      powerpc/mm: Ensure "special" zones are empty · 3079abe5
      Oliver O'Halloran authored
      The mm zone mechanism was traditionally used by arch specific code to
      partition memory into allocation zones. However there are several zones
      that are managed by the mm subsystem rather than the architecture. Most
      architectures set the max PFN of these special zones to zero, however on
      powerpc we set them to ~0ul. This, in conjunction with a bug in
      free_area_init_nodes() results in all of system memory being placed in
      ZONE_DEVICE when enabled. Device memory cannot be used for regular kernel
      memory allocations so this will cause a kernel panic at boot. Given the
      planned addition of more mm managed zones (ZONE_CMA) we should aim to be
      consistent with every other architecture and set the max PFN for these
      zones to zero.
      Signed-off-by: default avatarOliver O'Halloran <oohall@gmail.com>
      Reviewed-by: default avatarBalbir Singh <bsingharora@gmail.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      3079abe5
    • Rashmica Gupta's avatar
      powerpc/asm: Remove unused symbols in asm-offsets.c · aac6a91f
      Rashmica Gupta authored
      THREAD_DSCR:
        Added in efcac658 "powerpc: Per process DSCR + some fixes (try#4)"
        Last usage removed in 152d523e "powerpc: Create context switch helpers save_sprs() and restore_sprs()"
      
      THREAD_DSCR_INHERIT:
        Added in 71433285 "powerpc: Restore correct DSCR in context switch"
        Last usage removed in 152d523e "powerpc: Create context switch helpers save_sprs() and restore_sprs()"
      
      THREAD_TAR:
        Added in 2468dcf6 "powerpc: Add support for context switching the TAR register"
        Last usage removed in 152d523e "powerpc: Create context switch helpers save_sprs() and restore_sprs()"
      
      THREAD_BESCR, THREAD_EBBHR and THREAD_EBBRR:
        Added in 9353374b "powerpc: Context switch the new EBB SPRs"
        Last usage removed in 152d523e "powerpc: Create context switch helpers save_sprs() and restore_sprs()"
      
      THREAD_SIAR, THREAD_SDAR, THREAD_SIER, THREAD_MMCR0, and THREAD_MMCR2:
        Added in 59affcd3 "powerpc: Context switch more PMU related SPRs"
        Last usage removed in b11ae951 "powerpc: Partial revert of "Context switch more PMU related SPRs""
      
      PACA_LOCK_TOKEN:
        Added in 9e368f29 "KVM: PPC: book3s_hv: Add support for PPC970-family processors"
        Last usage removed in c17b98cf "KVM: PPC: Book3S HV: Remove code for PPC970 processors"
      
      HCALL_STAT_SIZE, HCALL_STAT_CALLS, HCALL_STAT_TB and HCALL_STAT_PURR:
        Added in 57852a85 "[POWERPC] powerpc: Instrument Hypervisor Calls"
        Last usage removed in c8cd093a "powerpc: tracing: Add hypervisor call tracepoints"
      
      VCPU_EPLC:
        Added in d30f6e48 "KVM: PPC: booke: category E.HV (GS-mode) support"
        Never used.
      
      CPU_DOWN_FLUSH:
        Added in e7affb1d "powerpc/cache: add cache flush operation for various e500"
        Never used.
      
      CFG_STAMP_XSEC:
        Added in 14cf11af "powerpc: Merge enough to start building in arch/powerpc."
        Last usage removed in 0e469db8 "powerpc: Rework VDSO gettimeofday to prevent time going backwards"
      
      KVM_LPCR:
        Added in aa04b4cc "KVM: PPC: Allocate RMAs (Real Mode Areas) at boot for use by guests"
        Last usage removed in a0144e2a "KVM: PPC: Book3S HV: Store LPCR value for each virtual core"
      
      GPR15, GPR16, GPR17, GPR18, GPR19, GPR20, GPR21, GPR22, GPR23, GPR24,
      GPR25, GPR26, GPR27, GPR28, GPR29, GPR30 and GPR31:
        Added in 14cf11af "powerpc: Merge enough to start building in arch/powerpc."
        Never used.
      
      VCPU_SHADOW_FSCR:
        Added in 616dff86 "KVM: PPC: Book3S PR: Handle Facility interrupt and FSCR"
        Never used.
      
      VCPU_SHADOW_SRR1:
        Added in a2d56020 "KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu"
        Never used.
      
      KVM_SPLIT_SIZE:
        Added in b4deba5c "KVM: PPC: Book3S HV: Implement dynamicmicro-threading on POWER8"
        Never used.
      
      VCPU_VCPUID:
        Added in de56a948 "KVM: PPC: Add support for Book3S processors in hypervisor mode"
        Last usage removed 1b400ba0 "KVM: PPC: Book3S HV: Improve handling of local vs. global TLB invalidations"
      
      _MQ:
        Added in 14cf11af "powerpc: Merge enough to start building in arch/powerpc."
        Never used.
      
      AUDITCONTEXT:
        Added in 14cf11af "powerpc: Merge enough to start building in arch/powerpc."
        Last usage removed in 401d1f02 "[PATCH] syscall entry/exit revamp"
      
      CLONE_VM:
        Added in 14cf11af "powerpc: Merge enough to start building in arch/powerpc."
        Currently unused.
      
      CLONE_UNTRACED:
        Added in 14cf11af "powerpc: Merge enough to start building in arch/powerpc."
        Currently unused.
      Signed-off-by: default avatarRashmica Gupta <rashmicy@gmail.com>
      [mpe: Munge change log]
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      aac6a91f
  2. 14 Jun, 2016 17 commits
  3. 12 Jun, 2016 4 commits
    • Linus Torvalds's avatar
      Linux 4.7-rc3 · 5edb5649
      Linus Torvalds authored
      5edb5649
    • Linus Torvalds's avatar
      Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 57120fac
      Linus Torvalds authored
      Pull thermal management fixes from Zhang Rui:
      
       - fix an ordering issue in cpu cooling that cooling device is
         registered before it's ready (freq_table being populated).
         (Lukasz Luba)
      
       - fix a missing comment update (Caesar Wang)
      
      * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal: add the note for set_trip_temp
        thermal: cpu_cooling: fix improper order during initialization
      57120fac
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 8714f8f5
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "A small collection of fixes for the current series.  This contains:
      
         - Two fixes for xen-blkfront, from Bob Liu.
      
         - A bug fix for NVMe, releasing only the specific resources we
           requested.
      
         - Fix for a debugfs flags entry for nbd, from Josef.
      
         - Plug fix from Omar, fixing up a case of code being switched between
           two functions.
      
         - A missing bio_put() for the new discard callers of
           submit_bio_wait(), fixing a regression causing a leak of the bio.
           From Shaun.
      
         - Improve dirty limit calculation precision in the writeback code,
           fixing a case where setting a limit lower than 1% of memory would
           end up being zero.  From Tejun"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        NVMe: Only release requested regions
        xen-blkfront: fix resume issues after a migration
        xen-blkfront: don't call talk_to_blkback when already connected to blkback
        nbd: pass the nbd pointer for flags debugfs
        block: missing bio_put following submit_bio_wait
        blk-mq: really fix plug list flushing for nomerge queues
        writeback: use higher precision calculation in domain_dirty_limits()
      8714f8f5
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 3a7c114d
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "A new bunch of GPIO fixes for v4.7.
      
        This time I am very grateful that Ricardo Ribalda Delgado went in and
        fixed my stupid refcounting mistakes in the removal path for GPIO
        chips.  I had a feeling something was wrong here and so it was.  It
        exploded on OMAP and it fixes their problem.  Now it should be (more)
        solid.
      
        The rest i compilation, Kconfig and driver fixes.  Some tagged for
        stable.
      
        Summary:
      
         - Fix a NULL pointer dereference when we are searching the GPIO
           device list but one of the devices have been removed (struct
           gpio_chip pointer is NULL).
      
         - Fix unaligned reference counters: we were ending on +3 after all
           said and done.  It should be 0.  Remove an extraneous get_device(),
           and call cdev_del() followed by device_del() in gpiochip_remove()
           instead and the count goes to zero and calls the release() function
           properly.
      
         - Fix a compile warning due to a missing #include in the OF/device
           tree portions.
      
         - Select ANON_INODES for GPIOLIB, we're using that for our character
           device.  Some randconfig tests disclosed the problem.
      
         - Make sure the Zynq driver clock runs also without CONFIG_PM enabled
      
         - Fix an off-by-one error in the 104-DIO-48E driver
      
         - Fix warnings in bcm_kona_gpio_reset()"
      
      * tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: bcm-kona: fix bcm_kona_gpio_reset() warnings
        gpio: select ANON_INODES
        gpio: include <linux/io-mapping.h> in gpiolib-of
        gpiolib: Fix unaligned used of reference counters
        gpiolib: Fix NULL pointer deference
        gpio: zynq: initialize clock even without CONFIG_PM
        gpio: 104-dio-48e: Fix control port offset computation off-by-one error
      3a7c114d
  4. 11 Jun, 2016 4 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 45b00c94
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two current fixes:
      
         - one affects Qemu CD ROM emulation, which stopped working after the
           updates in SCSI to require VPD pages from all conformant devices.
      
           Fix temporarily by blacklisting Qemu (we can relax later when they
           come into compliance).
      
         - The other is a fix to the optimal transfer size.  We set up a
           minefield for ourselves by being confused about whether the limits
           are in bytes or sectors (SCSI optimal is in blocks and the queue
           parameter is in bytes).
      
           This tries to fix the problem (wrong setting for queue limits
           max_sectors) and make the problem more obvious by introducing a
           wrapper function"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        sd: Fix rw_max for devices that report an optimal xfer size
        scsi: Add QEMU CD-ROM to VPD Inquiry Blacklist
      45b00c94
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 5d1f7023
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
      
       - a bigger fix for i801 to finally be able to be loaded on some
         machines again
      
       - smaller driver fixes
      
       - documentation update because of a renamed file
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mux: reg: Provide of_match_table
        i2c: mux: refer to i2c-mux.txt
        i2c: octeon: Avoid printk after too long SMBUS message
        i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
        i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR
      5d1f7023
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 90735c99
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
      
       - fix unflatten_dt_nodes when dad parameter is set.
      
       - add vendor prefixes for TechNexion and UniWest
      
       - documentation fix for Marvell BT
      
       - OF IRQ kerneldoc fixes
      
       - restrict CMA alignment adjustments to non dma-coherent
      
       - a couple of warning fixes in reserved-memory code
      
       - DT maintainers updates
      
      * tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch
        drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
        drivers: of: Fix of_pci.h header guard
        dt-bindings: Add vendor prefix for TechNexion
        of: add vendor prefix for UniWest
        dt: bindings: fix documentation for MARVELL's bt-sd8xxx wireless device
        of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF
        of: silence warnings due to max() usage
        drivers: of: of_reserved_mem: fixup the CMA alignment not to affect dma-coherent
        of: irq: fix of_irq_get[_byname]() kernel-doc
        MAINTAINERS: DeviceTree maintainer updates
      90735c99
    • Linus Torvalds's avatar
      Merge tag '20160610_uvc_compat_for_linus' of... · f1c32afd
      Linus Torvalds authored
      Merge tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux
      
      Pull uvc compat XU ioctl fixes from Andy Lutomirski:
       "uvc's compat XU ioctls go through tons of potentially buggy
        indirection.  The first patch removes the indirection.  The second one
        cleans up the code.
      
        Compile-tested only.  I have the hardware, but I have absolutely no
        idea what XU does, how to use it, what software to recompile as
        32-bit, or what to test in that software"
      
      * tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
        uvc_v4l2: Simplify compat ioctl implementation
        uvc: Forward compat ioctls to their handlers directly
      f1c32afd
  5. 10 Jun, 2016 10 commits