26 Jan, 2015

23 commits

  • data->temp[index] has type s16. Because of C's promotion rules,
    (data->temp[index] << 7) >> 7 is exactly the same as
    data->temp[index]. The intention was to use bit 8 as a sign bit, so do
    that using the existing API.

    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Guenter Roeck

    Rasmus Villemoes
     
  • The comment above (data << 2) >> 2 explains what the intention is: To
    use bit 13 of the 14-bit value data as the sign bit. However, this
    doesn't work due to C's promotion rules. data has type s16, but data
    << 2 has type int. To get sign extension, that expression would have
    to be cast back to an s16 before being shifted (at which point C's
    promotion rules would then kick in again and promote the left operand
    to int). As it stands, both expressions are no-ops for any value of
    data.

    Avoid these subtleties by using the existing API for
    this. sign_extend32 works equally well for 8 and 16 bit types.

    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Guenter Roeck

    Rasmus Villemoes
     
  • Fixed the following warnings (reported by cppcheck):
    [drivers/hwmon/abx500.c:224]: (warning) %ld in format string (no. 1)
    requires 'long' but the argument type is 'unsigned long'.
    [drivers/hwmon/abx500.c:233]: (warning) %ld in format string (no. 1)
    requires 'long' but the argument type is 'unsigned long'.
    [drivers/hwmon/abx500.c:242]: (warning) %ld in format string (no. 1)
    requires 'long' but the argument type is 'unsigned long'.

    Signed-off-by: Asaf Vertz
    Signed-off-by: Guenter Roeck

    Asaf Vertz
     
  • Subtracting an unsigned long from a signed value causes an overflow with large
    values. Use clamp_val() to reduce the number range prior to subtracting it
    from the temperature limit.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Jean Delvare

    Guenter Roeck
     
  • Mixed use of long and int caused an integer overflow when writing large limits.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Jean Delvare

    Guenter Roeck
     
  • Despite the name, sign_extend32 works just fine for 16 bit variables,
    so it is safe to use.

    Cc: Martin Kepplinger
    Reviewed-by: Jean Delvare
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     
  • Add support for "ina231" as compatible string, and update
    Documentation and Kconfig accordingly.

    Tested with the Exynos5422-based odroid-xu3 board which has on-board
    INA231 sensors.

    Signed-off-by: Kevin Hilman
    Signed-off-by: Guenter Roeck

    Kevin Hilman
     
  • Use DIV_ROUND_CLOSEST() when dealing with the calibration values to make the
    calculations less error prone.

    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • This attribute allows to configure the update interval of ina226. Although
    the bus and shunt voltage conversion times remain hardcoded to 1.1 ms, we can
    now modify said interval by changing the averaging rate.

    While we're at it - add an additional variable to ina2xx_data, which holds
    the current configuration settings - this way we'll be able to restore the
    configuration in case of an unexpected chip reset.

    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • The shunt resistance can only be set via platform_data or device tree. This
    isn't suitable for devices in which the shunt resistance can change/isn't
    known at boot-time.

    Add a sysfs attribute that allows to read and set the shunt resistance.

    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • Shunt resistance values greater than the chip's calibration factor make no
    sense since the actual value written to the register equals:

    /

    Bail-out from ina2xx_probe() if the configured value is greater than the
    calibration factor.

    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • Chips from the ina family don't like to be uninitialized. In case the power
    is cut-off and restored again the calibration register will be reset
    to 0 and both the power and current registers will remain at 0.

    Check the calibration register in ina2xx_update_device() and reinitialize
    the chip if needed.

    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Guenter Roeck

    Bartosz Golaszewski
     
  • The regmap_config struct may be const because it is not modified by the
    driver and regmap_init() accepts pointer to const.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Guenter Roeck

    Krzysztof Kozlowski
     
  • Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:
    "Hopefully the last round of fixes for 3.19

    - regression fix for the LDT changes
    - regression fix for XEN interrupt handling caused by the APIC
    changes
    - regression fixes for the PAT changes
    - last minute fixes for new the MPX support
    - regression fix for 32bit UP
    - fix for a long standing relocation issue on 64bit tagged for stable
    - functional fix for the Hyper-V clocksource tagged for stable
    - downgrade of a pr_err which tends to confuse users

    Looks a bit on the large side, but almost half of it are valuable
    comments"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/tsc: Change Fast TSC calibration failed from error to info
    x86/apic: Re-enable PCI_MSI support for non-SMP X86_32
    x86, mm: Change cachemode exports to non-gpl
    x86, tls: Interpret an all-zero struct user_desc as "no segment"
    x86, tls, ldt: Stop checking lm in LDT_empty
    x86, mpx: Strictly enforce empty prctl() args
    x86, mpx: Fix potential performance issue on unmaps
    x86, mpx: Explicitly disable 32-bit MPX support on 64-bit kernels
    x86, hyperv: Mark the Hyper-V clocksource as being continuous
    x86: Don't rely on VMWare emulating PAT MSR correctly
    x86, irq: Properly tag virtualization entry in /proc/interrupts
    x86, boot: Skip relocs when load address unchanged
    x86/xen: Override ACPI IRQ management callback __acpi_unregister_gsi
    ACPI: pci: Do not clear pci_dev->irq in acpi_pci_irq_disable()
    x86/xen: Treat SCI interrupt as normal GSI interrupt

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "From the irqchip departement you get:

    - regression fix for omap-intc

    - regression fix for atmel-aic-common

    - functional correctness fix for hip04

    - type mismatch fix for gic-v3-its

    - proper error pointer check for mtd-sysirq

    Mostly one and two liners except for the omap regression fix which is
    slightly larger than desired"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip: atmel-aic-common: Prevent clobbering of priority when changing IRQ type
    irqchip: omap-intc: Fix legacy DMA regression
    irqchip: gic-v3-its: Fix use of max with decimal constant
    irqchip: hip04: Initialize hip04_cpu_map to 0xffff
    irqchip: mtk-sysirq: Use IS_ERR() instead of NULL pointer check

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "A set of small fixes:

    - regression fix for exynos_mct clocksource

    - trivial build fix for kona clocksource

    - functional one liner fix for the sh_tmu clocksource

    - two validation fixes to prevent (root only) data corruption in the
    kernel via settimeofday and adjtimex. Tagged for stable"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    time: adjtimex: Validate the ADJ_FREQUENCY values
    time: settimeofday: Validate the values of tv from user
    clocksource: sh_tmu: Set cpu_possible_mask to fix SMP broadcast
    clocksource: kona: fix __iomem annotation
    clocksource: exynos_mct: Fix bitmask regression for exynos4_mct_write

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A week's worth of fixes for various ARM platforms. Diff wise, the
    largest fix is for OMAP to deal with how GIC now registers interrupts
    (irq_domain_add_legacy() -> irq_domain_add_linear() changes).

    Besides this, a few more renesas platforms needed the GIC instatiation
    done for legacy boards. There's also a fix that disables coherency of
    mvebu due to issues, and a few other smaller fixes"

    * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    arm64: dts: add baud rate to Juno stdout-path
    ARM: dts: imx25: Fix PWM "per" clocks
    bus: mvebu-mbus: fix support of MBus window 13
    Merge tag 'mvebu-fixes-3.19-3' of git://git.infradead.org/linux-mvebu into fixes
    ARM: mvebu: completely disable hardware I/O coherency
    ARM: OMAP: Work around hardcoded interrupts
    ARM: shmobile: r8a7779: Instantiate GIC from C board code in legacy builds
    ARM: shmobile: r8a7778: Instantiate GIC from C board code in legacy builds
    arm: boot: dts: dra7: enable dwc3 suspend PHY quirk

    Linus Torvalds
     
  • Pull vfs fixes from Al Viro:
    "A couple of fixes - deadlock in CIFS and build breakage in cris serial
    driver (resurfaced f_dentry in there)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    VFS: Convert file->f_dentry->d_inode to file_inode()
    fix deadlock in cifs_ioctl_clone()

    Linus Torvalds
     
  • Pull device mapper fixes from Mike Snitzer:
    "Two stable fixes for dm-cache and one 3.19 DM core fix:

    - fix potential for dm-cache metadata corruption via stale metadata
    buffers being used when switching an inactive cache table to
    active; this could occur due to each table having it's own bufio
    client rather than sharing the client between tables.

    - fix dm-cache target to properly account for discard IO while
    suspending otherwise IO quiescing could complete prematurely.

    - fix DM core's handling of multiple internal suspends by maintaining
    an 'internal_suspend_count' and only resuming the device when this
    count drops to zero"

    * tag 'dm-3.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm: fix handling of multiple internal suspends
    dm cache: fix problematic dual use of a single migration count variable
    dm cache: share cache-metadata object across inactive and active DM tables

    Linus Torvalds
     
  • Pull two block layer fixes from Jens Axboe:
    "Two small patches that should make it into 3.19:

    - a fixup from me for NVMe, making the cq_vector a signed variable.
    Otherwise our -1 comparison fails, and commit 2b25d981790b doesn't
    do what it was supposed to.

    - a fixup for the hotplug handling for blk-mq from Ming Lei, using
    the proper kobject referencing to ensure we release resources at
    the right time"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    blk-mq: fix hctx/ctx kobject use-after-free
    NVMe: cq_vector should be signed

    Linus Torvalds
     

25 Jan, 2015

5 commits

  • pULL SCSI fixes from James Bottomley:
    "This consists of four real fixes and three MAINTAINER updates.

    Three of the fixes are obvious (the DIX and atomic allocation are bug
    on and warn on fixes and the other is just trivial) and the ipr one is
    a bit more involved but is required because without it, the card
    double completes aborted commands and causes a kernel oops"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    MAINTAINERS: ibmvscsi driver maintainer change
    MAINTAINERS: ibmvfc driver maintainer change
    MAINTAINERS: Remove self as isci maintainer
    scsi_debug: test always evaluates to false, || should be used instead
    scsi: Avoid crashing if device uses DIX but adapter does not support it
    scsi_debug: use atomic allocation in resp_rsup_opcodes
    ipr: wait for aborted command responses

    Linus Torvalds
     
  • Pull watchdog fixes from Wim Van Sebroeck:
    "This will fix reboot issues with the imx2_wdt driver and it also drops
    some forgotten owner assignments from platform_drivers"

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: drop owner assignment from platform_drivers
    watchdog: imx2_wdt: Disable power down counter on boot
    watchdog: imx2_wdt: Improve power management support.

    Linus Torvalds
     
  • Pull hwmon update from Jean Delvare:
    "This contains a single thing: a new driver for the temperature sensor
    embedded in the Intel 5500/5520/X58 chipsets.

    Sorry for the late request, it's been so long since I last sent a pull
    request and I've been so busy with other tasks meanwhile that I simply
    forgot about these patches. But given that this is a new driver, it
    can't introduce any regression so I thought it could still be OK.

    This has been in linux-next for months now"

    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: (i5500_temp) Convert to use ATTRIBUTE_GROUPS macro
    hwmon: (i5500_temp) Convert to module_pci_driver
    hwmon: (i5500_temp) Don't bind to disabled sensors
    hwmon: (i5500_temp) Convert to devm_hwmon_device_register_with_groups
    hwmon: (i5500_temp) New driver for the Intel 5500/5520/X58 chipsets

    Linus Torvalds
     
  • Pull media fixes from Mauro Carvalho Chehab:
    - fix some race conditions caused by a regression on videobuf2
    - fix a interrupt release bug on cx23885
    - fix support for Mygica T230 and HVR4400
    - fix compilation breakage when USB is not selected on tlg2300
    - fix capabilities report on ompa3isp, soc-camera, rcar_vin and
    pvrusb2

    * tag 'media/v3.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] omap3isp: Correctly set QUERYCAP capabilities
    [media] cx23885: fix free interrupt bug
    [media] pvrusb2: fix missing device_caps in querycap
    [media] vb2: fix vb2_thread_stop race conditions
    [media] rcar_vin: Update device_caps and capabilities in querycap
    [media] soc-camera: fix device capabilities in multiple camera host drivers
    [media] Fix Mygica T230 support
    [media] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry
    [media] tlg2300: Fix media dependencies

    Linus Torvalds
     
  • Commit ffcc393641 ("dm: enhance internal suspend and resume interface")
    attempted to handle multiple internal suspends on the same device, but
    it did that incorrectly. When these functions are called in this order
    on the same device the device is no longer suspended, but it should be:
    dm_internal_suspend_noflush
    dm_internal_suspend_noflush
    dm_internal_resume

    Fix this bug by maintaining an 'internal_suspend_count' and resuming
    the device when this count drops to zero.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Mike Snitzer

    Mikulas Patocka
     

24 Jan, 2015

12 commits

  • Use ATTRIBUTE_GROUPS macro to simplify the code a bit.

    Signed-off-by: Axel Lin
    Signed-off-by: Jean Delvare

    Axel Lin
     
  • Use module_pci_driver to simplify the code a bit.

    Signed-off-by: Axel Lin
    Reviewed-by: Guenter Roeck
    Signed-off-by: Jean Delvare

    Axel Lin
     
  • On many motherboards, for an unknown reason, the thermal sensor seems
    to be disabled and will return a constant temperature value of 36.5
    degrees Celsius. Don't bind to the device in that case, so that we
    don't report this bogus value to userspace.

    Signed-off-by: Jean Delvare
    Cc: Romain Dolbeau
    Reviewed-by: Guenter Roeck

    Jean Delvare
     
  • Use devm_hwmon_device_register_with_groups() to simplify the code a
    bit.

    Signed-off-by: Jean Delvare
    Cc: Romain Dolbeau
    Reviewed-by: Guenter Roeck

    Jean Delvare
     
  • The Intel 5500, 5520 and X58 chipsets embed a digital thermal sensor.
    This new driver supports it.

    Note that on many boards the sensor seems to be disabled and reports
    the minimum value (36.5 degrees Celsius) all the time.

    Signed-off-by: Jean Delvare
    Tested-by: Romain Dolbeau
    Reviewed-by: Guenter Roeck

    Jean Delvare
     
  • Pull btrfs fixes from Chris Mason:
    "We have a few fixes in my for-linus branch.

    Qu Wenruo's batch fix a regression between some our merge window pull
    and the inode_cache feature. The rest are smaller bugs"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: Don't call btrfs_start_transaction() on frozen fs to avoid deadlock.
    btrfs: Fix the bug that fs_info->pending_changes is never cleared.
    btrfs: fix state->private cast on 32 bit machines
    Btrfs: fix race deleting block group from space_info->ro_bgs list
    Btrfs: fix incorrect freeing in scrub_stripe
    btrfs: sync ioctl, handle errors after transaction start

    Linus Torvalds
     
  • …/linux-platform-drivers-x86

    Pull platform driver fix from Darren Hart:
    "Revert keyboard backlight sysfs support and documentation.

    The support for the dell-laptop keyboard backlight was flawed and the
    fix:

    https://lkml.org/lkml/2015/1/14/539

    was more invasive that I felt comfortable sending at RC5.

    This series reverts the support for the dell-laptop keyboard backlight
    as well as the documentation for the newly created sysfs attributes.

    We'll get this implemented correctly for 3.20"

    * tag 'platform-drivers-x86-v3.19-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
    Revert "platform: x86: dell-laptop: Add support for keyboard backlight"
    Revert "Documentation: Add entry for dell-laptop sysfs interface"

    Linus Torvalds
     
  • Pull PCI fixes from Bjorn Helgaas:
    "These are fixes for:

    - a resource management problem that causes a Radeon "Fatal error
    during GPU init" on machines where the BIOS programmed an invalid
    Root Port window. This was a regression in v3.16.

    - an Atheros AR93xx device that doesn't handle PCI bus resets
    correctly. This was a regression in v3.14.

    - an out-of-date email address"

    * tag 'pci-v3.19-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    MAINTAINERS: Update Richard Zhu's email address
    sparc/PCI: Clip bridge windows to fit in upstream windows
    powerpc/PCI: Clip bridge windows to fit in upstream windows
    parisc/PCI: Clip bridge windows to fit in upstream windows
    mn10300/PCI: Clip bridge windows to fit in upstream windows
    microblaze/PCI: Clip bridge windows to fit in upstream windows
    ia64/PCI: Clip bridge windows to fit in upstream windows
    frv/PCI: Clip bridge windows to fit in upstream windows
    alpha/PCI: Clip bridge windows to fit in upstream windows
    x86/PCI: Clip bridge windows to fit in upstream windows
    PCI: Add pci_claim_bridge_resource() to clip window if necessary
    PCI: Add pci_bus_clip_resource() to clip to fit upstream window
    PCI: Pass bridge device, not bus, when updating bridge windows
    PCI: Mark Atheros AR93xx to avoid bus reset
    PCI: Add flag for devices where we can't use bus reset

    Linus Torvalds
     
  • Pull devicetree bug fixes and documentation updates from Grant Likely:
    "A few bugfixes for the new DT overlay feature, documentation updates,
    spelling corrections, and changes to MAINTAINERS. Nothing earth
    shattering here"

    * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
    of/unittest: Overlays with sub-devices tests
    of/platform: Handle of_populate drivers in notifier
    of/overlay: Do not generate duplicate nodes
    devicetree: document the "qemu" and "virtio" vendor prefixes
    devicetree: document ARM bindings for QEMU's Firmware Config interface
    Documentation: of: fix typo in graph bindings
    dma-mapping: fix debug print to display correct dma_pfn_offset
    of: replace Asahi Kasei Corp vendor prefix
    ARM: dt: GIC: Spelling s/specific/specifier/, s/flaggs/flags/
    dt/bindings: arm-boards: Spelling s/pointong/pointing/
    MAINTAINERS: Update DT website and git repository
    MAINTAINERS: drop DT regex matching on of_get_property and of_match_table

    Linus Torvalds
     
  • …awnguo/linux into fixes

    Merge "ARM: imx: fixes for 3.19, 2nd round" from Shawn Guo:

    The i.MX fixes for 3.19, 2nd round:
    - Correct pwm clock assignment in i.MX25 device tree to fix the broken
    pwm support on i.MX25

    * tag 'imx-fixes-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    ARM: dts: imx25: Fix PWM "per" clocks

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Without explicit command-line parameters, the Juno UART ends up running
    at 57600 baud in the kernel, which is at odds with the 115200 baud used
    by the rest of the firmware. Since commit 7914a7c5651a5161 now lets us
    fix this by specifying default options in stdout-path, do so.

    Acked-by: Mark Rutland
    Signed-off-by: Robin Murphy
    Signed-off-by: Olof Johansson

    Robin Murphy
     
  • Merge "mvebu/fixes #3" from Andrew Lunn:

    mvebu fixes for 3.19. (Part 4)

    bus: mvebu-mbus: fix support of MBus window 13

    * tag 'mvebu-fixes-3.19-4' of git://git.infradead.org/linux-mvebu:
    bus: mvebu-mbus: fix support of MBus window 13
    ARM: mvebu: completely disable hardware I/O coherency

    Signed-off-by: Olof Johansson

    Olof Johansson