22 Aug, 2018

4 commits

  • Pull power supply and reset updates from Sebastian Reichel:

    - Improve support for TI bq20z75 in sbs-battery

    - Add Qualcomm PM8xxx reboot driver

    - Add cros-ec USBPD charger driver

    - Move ds2760 battery driver from w1 to power-supply and add DT support

    - Misc fixes

    * tag 'for-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (28 commits)
    power: supply: bq27xxx: Update comments
    power: supply: max77693_charger: fix unintentional fall-through
    power: supply: mark expected switch fall-throughs
    power: supply: lego_ev3_battery: fix Vce offset
    power: supply: lego_ev3_battery: Don't ignore iio_read_channel_processed() return value
    power: supply: ds2760_battery: add devicetree probing
    power: supply: ds2760_battery: merge ds2760 supply driver with its w1 slave companion
    w1: core: match sub-nodes of bus masters in devicetree
    dt-bindings: w1: document bindings for ds2760 battery monitor
    dt-bindings: w1: document generic onewire bindings
    power: supply: adp5061: Fix a couple off by ones
    dt-bindings: power: reset: qcom: Add resin binding
    adp5061: New driver for ADP5061 I2C battery charger
    power: generic-adc-battery: check for duplicate properties copied from iio channels
    power: generic-adc-battery: fix out-of-bounds write when copying channel properties
    power: supply: axp288_charger: Fix initial constant_charge_current value
    power: supply: ab8500: stop using getnstimeofday64()
    power: gemini-poweroff: Avoid more spurious poweroffs
    power: vexpress: fix corruption in notifier registration
    power: remove possible deadlock when unregistering power_supply
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:

    - the core has now a lockless variant of i2c_smbus_xfer. Some open
    coded versions of this got removed in drivers. This also enables
    proper SCCB support in regmap.

    - locking got a more precise naming. i2c_{un}lock_adapter() had to go,
    and we know use i2c_lock_bus() consistently with flags like
    I2C_LOCK_ROOT_ADAPTER and I2C_LOCK_SEGMENT to avoid ambiguity.

    - the gpio fault injector got a new delicate testcase

    - the bus recovery procedure got fixed to handle the new testcase
    correctly

    - a new quirk flag for controllers not able to handle zero length
    messages together with driver updates to use it

    - new drivers: FSI bus attached I2C masters, GENI I2C controller, Owl
    family S900

    - and a good set of driver improvements and bugfixes

    * 'i2c/for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (77 commits)
    i2c: rcar: implement STOP and REP_START according to docs
    i2c: rcar: refactor private flags
    i2c: core: ACPI: Make acpi_gsb_i2c_read_bytes() check i2c_transfer return value
    i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
    dt-bindings: i2c: rcar: Add r8a774a1 support
    dt-bindings: i2c: sh_mobile: Add r8a774a1 support
    i2c: imx: Simplify stopped state tracking
    i2c: imx: Fix race condition in dma read
    i2c: pasemi: remove hardcoded bus numbers on smbus
    i2c: designware: Add SPDX license tag
    i2c: designware: Convert to use struct i2c_timings
    i2c: core: Parse SDA hold time from firmware
    i2c: designware-pcidrv: Mark expected switch fall-through
    i2c: amd8111: Mark expected switch fall-through
    i2c: sh_mobile: use core to detect 'no zero length read' quirk
    i2c: xlr: use core to detect 'no zero length' quirk
    i2c: rcar: use core to detect 'no zero length' quirk
    i2c: stu300: use core to detect 'no zero length' quirk
    i2c: pmcmsp: use core to detect 'no zero length' quirk
    i2c: mxs: use core to detect 'no zero length' quirk
    ...

    Linus Torvalds
     
  • …iederm/user-namespace

    Pull core signal handling updates from Eric Biederman:
    "It was observed that a periodic timer in combination with a
    sufficiently expensive fork could prevent fork from every completing.
    This contains the changes to remove the need for that restart.

    This set of changes is split into several parts:

    - The first part makes PIDTYPE_TGID a proper pid type instead
    something only for very special cases. The part starts using
    PIDTYPE_TGID enough so that in __send_signal where signals are
    actually delivered we know if the signal is being sent to a a group
    of processes or just a single process.

    - With that prep work out of the way the logic in fork is modified so
    that fork logically makes signals received while it is running
    appear to be received after the fork completes"

    * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (22 commits)
    signal: Don't send signals to tasks that don't exist
    signal: Don't restart fork when signals come in.
    fork: Have new threads join on-going signal group stops
    fork: Skip setting TIF_SIGPENDING in ptrace_init_task
    signal: Add calculate_sigpending()
    fork: Unconditionally exit if a fatal signal is pending
    fork: Move and describe why the code examines PIDNS_ADDING
    signal: Push pid type down into complete_signal.
    signal: Push pid type down into __send_signal
    signal: Push pid type down into send_signal
    signal: Pass pid type into do_send_sig_info
    signal: Pass pid type into send_sigio_to_task & send_sigurg_to_task
    signal: Pass pid type into group_send_sig_info
    signal: Pass pid and pid type into send_sigqueue
    posix-timers: Noralize good_sigevent
    signal: Use PIDTYPE_TGID to clearly store where file signals will be sent
    pid: Implement PIDTYPE_TGID
    pids: Move the pgrp and session pid pointers from task_struct to signal_struct
    kvm: Don't open code task_pid in kvm_vcpu_ioctl
    pids: Compute task_tgid using signal->leader_pid
    ...

    Linus Torvalds
     
  • …/kernel/git/bleung/chrome-platform

    Pull chrome platform updates from Benson Leung.

    Everything but the SPDX identifier updates actually came in earlier
    through the MFD merge.

    * tag 'chrome-platform-for-linus-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform:
    platform/chrome: chromeos_tbmc - fix SPDX identifier

    Linus Torvalds
     

21 Aug, 2018

14 commits

  • Pull ceph updates from Ilya Dryomov:
    "The main things are support for cephx v2 authentication protocol and
    basic support for rbd images within namespaces (myself).

    Also included are y2038 conversion patches from Arnd, a pile of
    miscellaneous fixes from Chengguang and Zheng's feature bit
    infrastructure for the filesystem"

    * tag 'ceph-for-4.19-rc1' of git://github.com/ceph/ceph-client: (40 commits)
    ceph: don't drop message if it contains more data than expected
    ceph: support cephfs' own feature bits
    crush: fix using plain integer as NULL warning
    libceph: remove unnecessary non NULL check for request_key
    ceph: refactor error handling code in ceph_reserve_caps()
    ceph: refactor ceph_unreserve_caps()
    ceph: change to void return type for __do_request()
    ceph: compare fsc->max_file_size and inode->i_size for max file size limit
    ceph: add additional size check in ceph_setattr()
    ceph: add additional offset check in ceph_write_iter()
    ceph: add additional range check in ceph_fallocate()
    ceph: add new field max_file_size in ceph_fs_client
    libceph: weaken sizeof check in ceph_x_verify_authorizer_reply()
    libceph: check authorizer reply/challenge length before reading
    libceph: implement CEPHX_V2 calculation mode
    libceph: add authorizer challenge
    libceph: factor out encrypt_authorizer()
    libceph: factor out __ceph_x_decrypt()
    libceph: factor out __prepare_write_connect()
    libceph: store ceph_auth_handshake pointer in ceph_connection
    ...

    Linus Torvalds
     
  • Pull RTC updates from Alexandre Belloni:
    "It is now possible to add custom sysfs attributes while avoiding a
    possible race condition. Unused code has been removed resulting in a
    nice reduction of the code base. And more drivers have been switched
    to SPDX by their maintainers.

    Summary:

    Subsystem:
    - new helpers to add custom sysfs attributes
    - struct rtc_task removal along with rtc_irq_[un]register()
    - rtc_irq_set_state and rtc_irq_set_freq are not exported anymore

    Drivers:
    - armada38x: reset after rtc power loss
    - ds1307: now supports m41t11
    - isl1208: now supports isl1219 and tamper detection
    - pcf2127: internal SRAM support"

    * tag 'rtc-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (34 commits)
    rtc: ds1307: simplify hwmon config
    rtc: s5m: Add SPDX license identifier
    rtc: maxim: Add SPDX license identifiers
    rtc: isl1219: add device tree documentation
    rtc: isl1208: set ev-evienb bit from device tree
    rtc: isl1208: Add "evdet" interrupt source for isl1219
    rtc: isl1208: add support for isl1219 with tamper detection
    rtc: sysfs: facilitate attribute add to rtc device
    rtc: remove struct rtc_task
    char: rtc: remove task handling
    rtc: pcf85063: preserve control register value between stop and start
    rtc: sh: remove unused variable rtc_dev
    rtc: unexport rtc_irq_set_*
    rtc: simplify rtc_irq_set_state/rtc_irq_set_freq
    rtc: remove irq_task and irq_task_lock
    rtc: remove rtc_irq_register/rtc_irq_unregister
    rtc: sh: remove dead code
    rtc: sa1100: don't set PIE frequency
    rtc: ds1307: support m41t11 variant
    rtc: ds1307: fix data pointer to m41t0
    ...

    Linus Torvalds
     
  • Pull HID updates from Jiri Kosina:

    - touch_max detection improvements and quirk handling fixes in wacom
    driver from Jason Gerecke and Ping Cheng

    - Palm rejection from Dmitry Torokhov and _dial support from Benjamin
    Tissoires for hid-multitouch driver

    - Low voltage support for i2c-hid driver from Stephen Boyd

    - Guitar-Hero support from Nicolas Adenis-Lamarre

    - other assorted small fixes and device ID additions

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (40 commits)
    HID: intel_ish-hid: tx_buf memory leak on probe/remove
    HID: intel-ish-hid: Prevent loading of driver on Mehlow
    HID: cougar: Add support for the Cougar 500k Gaming Keyboard
    HID: cougar: make compare_device_paths reusable
    HID: intel-ish-hid: remove redundant variable num_frags
    HID: multitouch: handle palm for touchscreens
    HID: multitouch: touchscreens also use confidence reports
    HID: multitouch: report MT_TOOL_PALM for non-confident touches
    HID: microsoft: support the Surface Dial
    HID: core: do not upper bound the collection stack
    HID: input: enable Totem on the Dell Canvas 27
    HID: multitouch: remove one copy of values
    HID: multitouch: ditch mt_report_id
    HID: multitouch: store a per application quirks value
    HID: multitouch: Store per collection multitouch data
    HID: multitouch: make sure the static list of class is not changed
    input: add MT_TOOL_DIAL
    HID: elan: Add support for touchpad on the Toshiba Click Mini L9W
    HID: elan: Add USB-id for HP x2 10-n000nd touchpad
    HID: elan: Add a flag for selecting if the touchpad has a LED
    ...

    Linus Torvalds
     
  • Pull backlight updates from Lee Jones:
    "Core Framework:
    - Remove unused/obsolete code/comments

    New Functionality:
    - Allow less granular brightness specification for high-res PWMs; pwm_bl
    - Align brightness {inc,dec}rements with that perceived by the human-eye; pwm_bl

    Fix-ups:
    - Prepare for the introduction of -Wimplicit-fall-through; adp8860_bl

    Bug Fixes:
    - Fix uninitialised variable; pwm_bl"

    * tag 'backlight-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: pwm_bl: Fix uninitialized variable
    backlight: adp8860: Mark expected switch fall-through
    backlight: Remove obsolete comment for ->state
    dt-bindings: pwm-backlight: Move brightness-levels to optional
    backlight: pwm_bl: Compute brightness of LED linearly to human eye
    dt-bindings: pwm-backlight: Add a num-interpolation-steps property
    backlight: pwm_bl: Linear interpolation between brightness-levels

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Add Cirrus Logic Madera Codec (CS47L35, CS47L85 and CS47L90/91) driver
    - Add ChromeOS EC CEC driver
    - Add ROHM BD71837 PMIC driver

    New Device Support:
    - Add support for Dialog Semi DA9063L PMIC variant to DA9063
    - Add support for Intel Ice Lake to Intel-PLSS-PCI
    - Add support for X-Powers AXP806 to AXP20x

    New Functionality:
    - Add support for USB Charging to the ChromeOS Embedded Controller
    - Add support for HDMI CEC to the ChromeOS Embedded Controller
    - Add support for HDMI CEC to Intel HDMI
    - Add support for accessory detection to Madera devices
    - Allow individual pins to be configured via DT' wlf,csnaddr-pd
    - Provide legacy platform specific EEPROM/Watchdog commands; rave-sp

    Fix-upsL
    - Trivial renaming/spelling fixes; cros_ec, da9063-*
    - Convert to Managed Resources (devm_*); da9063-*, ti_am335x_tscadc
    - Transition to helper macros/functions; da9063-*
    - Constify; kempld-core
    - Improve error path/messages; wm8994-core
    - Disable IRQs locally instead of relying on USB subsystem; dln2
    - Remove unused code; rave-sp
    - New exports; sec-core

    Bug Fixes:
    - Fix possible false I2C transaction error; arizona-core
    - Fix declared memory area size; hi655x-pmic
    - Fix checksum type; rave-sp
    - Fix incorrect default serial port configuration: rave-sp
    - Fix incorrect coherent DMA mask for sub-devices; sm501"

    * tag 'mfd-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (60 commits)
    mfd: madera: Add register definitions for accessory detect
    mfd: sm501: Set coherent_dma_mask when creating subdevices
    mfd: bd71837: Devicetree bindings for ROHM BD71837 PMIC
    mfd: bd71837: Core driver for ROHM BD71837 PMIC
    media: platform: cros-ec-cec: Fix dependency on MFD_CROS_EC
    mfd: sec-core: Export OF module alias table
    mfd: as3722: Disable auto-power-on when AC OK
    mfd: axp20x: Support AXP806 in I2C mode
    mfd: axp20x: Add self-working mode support for AXP806
    dt-bindings: mfd: axp20x: Add "self-working" mode for AXP806
    mfd: wm8994: Allow to configure CS/ADDR Pulldown from dts
    mfd: wm8994: Allow to configure Speaker Mode Pullup from dts
    mfd: rave-sp: Emulate CMD_GET_STATUS on device that don't support it
    mfd: rave-sp: Add legacy watchdog ping command translation
    mfd: rave-sp: Add legacy EEPROM access command translation
    mfd: rave-sp: Initialize flow control and parity of the port
    mfd: rave-sp: Fix incorrectly specified checksum type
    mfd: rave-sp: Remove unused defines
    mfd: hi655x: Fix regmap area declared size for hi655x
    mfd: ti_am335x_tscadc: Fix struct clk memory leak
    ...

    Linus Torvalds
     
  • Pull EDAC fix from Borislav Petkov:
    "An urgent fix for a NULL ptr deref on machines with LRDDR4 DIMMs, from
    Takashi Iwai"

    * tag 'edac_fixes_for_4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[]

    Linus Torvalds
     
  • Guitar-Hero devices support for hid-wiimote

    Jiri Kosina
     
  • Wacom driver updates:

    - touch_max detection improvements
    - quirk handling cleanup
    - get rid of wacom custom usages

    Jiri Kosina
     
  • Assorted small driver/core fixes.

    Jiri Kosina
     
  • devm_* API conversion for hid-sony

    Jiri Kosina
     
  • Multitouch updates:

    - Dial support
    - Palm rejection for touchscreens
    - a few small assorted fixes

    Jiri Kosina
     
  • Device-specific fixes for hid-intel-ish

    Jiri Kosina
     
  • Low voltage support for i2c-hid

    Jiri Kosina
     
  • Resolution/pressure fixes and new device support for hid-elan

    Jiri Kosina
     

20 Aug, 2018

13 commits

  • When doing a REP_START after a read message, the driver used to trigger
    a STOP first which would then be overwritten by REP_START. This was the
    only stable method found when doing the last refactoring. However, this
    was not in accordance with the documentation.

    After research from our BSP team and myself, we now can implement a
    version which works and is according to the documentation. The new
    approach ensures the ICMCR register is only changed when really needed.

    Tested on a R-Car Gen2 (H2) and Gen3 with DMA (M3N).

    Signed-off-by: Hiromitsu Yamasaki
    Signed-off-by: Wolfram Sang
    Reviewed-by: Ulrich Hecht
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Use BIT macro to avoid shift-31-problem, indent a little more and use
    GENMASK to make it easier to add new flags.

    Signed-off-by: Wolfram Sang
    Reviewed-by: Ulrich Hecht
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Currently acpi_gsb_i2c_read_bytes() directly returns i2c_transfer's return
    value. i2c_transfer returns a value < 0 on error and 2 (for 2 successfully
    executed transfers) on success. But the ACPI code expects 0 on success, so
    currently acpi_gsb_i2c_read_bytes()'s caller does:

    if (status > 0)
    status = 0;

    This commit makes acpi_gsb_i2c_read_bytes() return a value which can be
    directly consumed by the ACPI code, mirroring acpi_gsb_i2c_write_bytes(),
    this commit also makes acpi_gsb_i2c_read_bytes() explitcly check that
    i2c_transfer returns 2, rather then accepting any value > 0.

    Signed-off-by: Hans de Goede
    Acked-by: Mika Westerberg
    Signed-off-by: Wolfram Sang

    Hans de Goede
     
  • acpi_gsb_i2c_write_bytes() returns i2c_transfer()'s return value, which
    is the number of transfers executed on success, so 1.

    The ACPI code expects us to store 0 in gsb->status for success, not 1.

    Specifically this breaks the following code in the Thinkpad 8 DSDT:

    ECWR = I2CW = ECWR /* \_SB_.I2C1.BAT0.ECWR */
    If ((ECST == Zero))
    {
    ECRD = I2CR /* \_SB_.I2C1.I2CR */
    }

    Before this commit we set ECST to 1, causing the read to never happen
    breaking battery monitoring on the Thinkpad 8.

    This commit makes acpi_gsb_i2c_write_bytes() return 0 when i2c_transfer()
    returns 1, so the single write transfer completed successfully, and
    makes it return -EIO on for other (unexpected) return values >= 0.

    Cc: stable@vger.kernel.org
    Signed-off-by: Hans de Goede
    Acked-by: Mika Westerberg
    Signed-off-by: Wolfram Sang

    Hans de Goede
     
  • Always update the stopped state when busy status have been checked.
    This is identical to what was done before, with the exception of error
    handling.
    Without this change, some errors cause the stopped state to be left in
    incorrect state in i2c_imx_stop(), i2c_imx_dma_read(), i2c_imx_read() and
    i2c_imx_xfer().

    Signed-off-by: Esben Haabendal
    Acked-by: Uwe Kleine-König
    Signed-off-by: Wolfram Sang

    Esben Haabendal
     
  • This fixes a race condition, where the DMAEN bit ends up being set after
    I2C slave has transmitted a byte following the dummy read. When that
    happens, an interrupt is generated instead, and no DMA request is generated
    to kickstart the DMA read, and a timeout happens after DMA_TIMEOUT (1 sec).

    Fixed by setting the DMAEN bit before the dummy read.

    Signed-off-by: Esben Haabendal
    Acked-by: Uwe Kleine-König
    Signed-off-by: Wolfram Sang
    Cc: stable@kernel.org

    Esben Haabendal
     
  • The pasemi smbus controller uses PCI_FUNC(dev->devfn) to define which
    number bus to attach to, however this fails when something else is
    probed first, for example an ATI Radeon graphics card will claim 9 or
    10 busses, including the ones the pasemi wants.
    Patch the driver to call i2c_add_adapter rather than
    i2c_add_numbered_adapter.

    Signed-off-by: Darren Stevens
    Signed-off-by: Wolfram Sang

    Darren Stevens
     
  • Replace short statement in comment with proper SPDX license tag.

    Note, for i2c-desingware-slave.c the identifier is chosen
    in accordance with MODULE_LICENSE() macro since it is visible to user.
    Another point to this choice is that the header seems to be copy'n'paste
    from the other file of this very driver.

    Acked-by: Luis Oliveira
    Signed-off-by: Andy Shevchenko
    Acked-by: Jarkko Nikula
    Signed-off-by: Wolfram Sang

    Andy Shevchenko
     
  • Pull networking fixes from David Miller:

    1) Fix races in IPVS, from Tan Hu.

    2) Missing unbind in matchall classifier, from Hangbin Liu.

    3) Missing act_ife action release, from Vlad Buslov.

    4) Cure lockdep splats in ila, from Cong Wang.

    5) veth queue leak on link delete, from Toshiaki Makita.

    6) Disable isdn's IIOCDBGVAR ioctl, it exposes kernel addresses. From
    Kees Cook.

    7) RCU usage fixup in XDP, from Tariq Toukan.

    8) Two TCP ULP fixes from Daniel Borkmann.

    9) r8169 needs REALTEK_PHY as a Kconfig dependency, from Heiner
    Kallweit.

    10) Always take tcf_lock with BH disabled, otherwise we can deadlock
    with rate estimator code paths. From Vlad Buslov.

    11) Don't use MSI-X on RTL8106e r8169 chips, they don't resume properly.
    From Jian-Hong Pan.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits)
    ip6_vti: fix creating fallback tunnel device for vti6
    ip_vti: fix a null pointer deferrence when create vti fallback tunnel
    r8169: don't use MSI-X on RTL8106e
    net: lan743x_ptp: convert to ktime_get_clocktai_ts64
    net: sched: always disable bh when taking tcf_lock
    ip6_vti: simplify stats handling in vti6_xmit
    bpf: fix redirect to map under tail calls
    r8169: add missing Kconfig dependency
    tools/bpf: fix bpf selftest test_cgroup_storage failure
    bpf, sockmap: fix sock_map_ctx_update_elem race with exist/noexist
    bpf, sockmap: fix map elem deletion race with smap_stop_sock
    bpf, sockmap: fix leakage of smap_psock_map_entry
    tcp, ulp: fix leftover icsk_ulp_ops preventing sock from reattach
    tcp, ulp: add alias for all ulp modules
    bpf: fix a rcu usage warning in bpf_prog_array_copy_core()
    samples/bpf: all XDP samples should unload xdp/bpf prog on SIGTERM
    net/xdp: Fix suspicious RCU usage warning
    net/mlx5e: Delete unneeded function argument
    Documentation: networking: ti-cpsw: correct cbs parameters for Eth1 100Mb
    isdn: Disable IIOCDBGVAR
    ...

    Linus Torvalds
     
  • Found the ethernet network on ASUS X441UAR doesn't come back on resume
    from suspend when using MSI-X. The chip is RTL8106e - version 39.

    [ 21.848357] libphy: r8169: probed
    [ 21.848473] r8169 0000:02:00.0 eth0: RTL8106e, 0c:9d:92:32:67:b4, XID
    44900000, IRQ 127
    [ 22.518860] r8169 0000:02:00.0 enp2s0: renamed from eth0
    [ 29.458041] Generic PHY r8169-200:00: attached PHY driver [Generic
    PHY] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
    [ 63.227398] r8169 0000:02:00.0 enp2s0: Link is Up - 100Mbps/Full -
    flow control off
    [ 124.514648] Generic PHY r8169-200:00: attached PHY driver [Generic
    PHY] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)

    Here is the ethernet controller in detail:

    02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd.
    RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller [10ec:8136]
    (rev 07)
    Subsystem: ASUSTeK Computer Inc. RTL810xE PCI Express Fast
    Ethernet controller [1043:200f]
    Flags: bus master, fast devsel, latency 0, IRQ 16
    I/O ports at e000 [size=256]
    Memory at ef100000 (64-bit, non-prefetchable) [size=4K]
    Memory at e0000000 (64-bit, prefetchable) [size=16K]
    Capabilities:
    Kernel driver in use: r8169
    Kernel modules: r8169

    Falling back to MSI fixes the issue.

    Fixes: 6c6aa15fdea5 ("r8169: improve interrupt handling")
    Signed-off-by: Jian-Hong Pan
    Signed-off-by: David S. Miller

    Jian-Hong Pan
     
  • timekeeping_clocktai64() has been renamed to ktime_get_clocktai_ts64()
    for consistency with the other ktime_get_* access functions.

    Rename the new caller that has come up as well.

    Question: this is the only ptp driver that sets the hardware time
    to the current system time in TAI. Why does it do that?

    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • …l/git/palmer/riscv-linux

    Pull RISC-V updates from Palmer Dabbelt:
    "This contains some major improvements to the RISC-V port, including
    the necessary interrupt controller and timer support to actually make
    it to userspace. Support for three devices has been added:

    - the ISA-mandated timers on RISC-V systems.

    - the ISA-mandated first-level interrupt controller on RISC-V
    systems, which is handled as part of our core arch code because
    it's very small and tightly tied to the ISA.

    - SiFive's platform-level interrupt controller, which talks to the
    actual devices.

    In addition to these new devices, there are a handful of cleanups all
    over the RISC-V tree:

    - build fixes for various configurations:
    * A fix to the vDSO build's makefile so it respects CFLAGS.
    * The addition of __lshrti3, a libgcc derived function necessary
    for some 32-bit configurations.
    * !SMP && PERF_EVENTS

    - Cleanups to the arch code to remove the remnants of old versions of
    the drivers that were just properly submitted.
    * Some dead code from the timer driver, most of which wasn't ever
    even compiled.
    * Cleanups of some interrupt #defines, which are now local to the
    interrupt handling code.

    - Fixes to ptrace(), which while not being sufficient to fully make
    GDB work are at least sufficient to get simple GDB tasks to work.

    - Early printk support via RISC-V's architecturally mandated SBI
    console device.

    - A fix to our early debug trap handler to ensure it's always
    aligned.

    These patches have all been through a fairly extensive review process,
    but as this enables a whole pile of functionality (ie, userspace) I'm
    confident we'll need to submit a few more patches. The only concrete
    issues I know about are the sys_riscv_flush_icache patches, but as I
    managed to screw those up on Friday I figured it'd be best to let them
    bake another week.

    This tag boots a Fedora root filesystem on QEMU's master branch for
    me, and before this morning's rebase (from 4.18-rc8 to 4.18) it booted
    on the HiFive Unleashed.

    Thanks to Christoph Hellwig and the other guys at WD for getting the
    new drivers in shape!"

    * tag 'riscv-for-linus-4.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
    dt-bindings: interrupt-controller: SiFive Plaform Level Interrupt Controller
    dt-bindings: interrupt-controller: RISC-V local interrupt controller
    RISC-V: Fix !CONFIG_SMP compilation error
    irqchip: add a SiFive PLIC driver
    RISC-V: Add the directive for alignment of stvec's value
    clocksource: new RISC-V SBI timer driver
    RISC-V: implement low-level interrupt handling
    RISC-V: add a definition for the SIE SEIE bit
    RISC-V: remove INTERRUPT_CAUSE_* defines from asm/irq.h
    RISC-V: simplify software interrupt / IPI code
    RISC-V: remove timer leftovers
    RISC-V: Add early printk support via the SBI console
    RISC-V: Don't increment sepc after breakpoint.
    RISC-V: implement __lshrti3.
    RISC-V: Use KBUILD_CFLAGS instead of KCFLAGS when building the vDSO

    Linus Torvalds
     
  • Pull UIO fix from Greg KH:
    "Here is a single UIO fix that I forgot to send before 4.18-final came
    out. It reverts a UIO patch that went in the 4.18 development window
    that was causing problems.

    This patch has been in linux-next for a while with no problems, I just
    forgot to send it earlier, or as part of the larger char/misc patch
    series from yesterday, my fault"

    * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Revert "uio: use request_threaded_irq instead"

    Linus Torvalds
     

19 Aug, 2018

9 commits

  • Pull input updates from Dmitry Torokhov:

    - a new driver for Rohm BU21029 touch controller

    - new bitmap APIs: bitmap_alloc, bitmap_zalloc and bitmap_free

    - updates to Atmel, eeti. pxrc and iforce drivers

    - assorted driver cleanups and fixes.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
    MAINTAINERS: Add PhoenixRC Flight Controller Adapter
    Input: do not use WARN() in input_alloc_absinfo()
    Input: mark expected switch fall-throughs
    Input: raydium_i2c_ts - use true and false for boolean values
    Input: evdev - switch to bitmap API
    Input: gpio-keys - switch to bitmap_zalloc()
    Input: elan_i2c_smbus - cast sizeof to int for comparison
    bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()
    md: Avoid namespace collision with bitmap API
    dm: Avoid namespace collision with bitmap API
    Input: pm8941-pwrkey - add resin entry
    Input: pm8941-pwrkey - abstract register offsets and event code
    Input: iforce - reorganize joystick configuration lists
    Input: atmel_mxt_ts - move completion to after config crc is updated
    Input: atmel_mxt_ts - don't report zero pressure from T9
    Input: atmel_mxt_ts - zero terminate config firmware file
    Input: atmel_mxt_ts - refactor config update code to add context struct
    Input: atmel_mxt_ts - config CRC may start at T71
    Input: atmel_mxt_ts - remove unnecessary debug on ENOMEM
    Input: atmel_mxt_ts - remove duplicate setup of ABS_MT_PRESSURE
    ...

    Linus Torvalds
     
  • Pull hwspinlock updates from Bjorn Andersson:
    "This introduces devres helpers and an API to request a lock by name,
    then migrates the sprd SPI driver to use these"

    * tag 'hwlock-v4.19' of git://github.com/andersson/remoteproc:
    hwspinlock: Fix incorrect return pointers
    spi: sprd: Change to use devm_hwspin_lock_request_specific()
    spi: sprd: Replace of_hwspin_lock_get_id() with of_hwspin_lock_get_id_byname()
    hwspinlock: Fix one comment mistake
    hwspinlock: Remove redundant config
    hwspinlock: Add devm_xxx() APIs to register/unregister one hwlock controller
    hwspinlock: Add devm_xxx() APIs to request/free hwlock
    hwspinlock: Add one new API to support getting a specific hwlock by the name

    Linus Torvalds
     
  • Pull rpmsg updates from Bjorn Andersson:
    "This fixes a few compile and kerneldoc warnings, allows rpmsg devices
    to handle power domains, allow for labeling GLINK edges and supports
    compat for rpmsg_char"

    * tag 'rpmsg-v4.19' of git://github.com/andersson/remoteproc:
    rpmsg: Add compat ioctl for rpmsg char driver
    rpmsg: glink: Store edge name for glink device
    dt-bindings: soc: qcom: Add label for GLINK bindings
    rpmsg: core: add support to power domains for devices
    rpmsg: smd: fix kerneldoc warnings
    rpmsg: glink: Fix various kerneldoc warnings.
    rpmsg: glink: correctly annotate intent members
    rpmsg: smd: Add missing include of sizes.h

    Linus Torvalds
     
  • Pull remoteproc updates from Bjorn Andersson:
    "This adds support for pre-start and post-shutdown hooks for remoteproc
    subdevices, refactors the Qualcomm Hexagon support to allow reuse
    between several drivers, makes authentication in the MDT file loader
    optional, migrates a few format strings to use %pK and migrates the
    Davinci driver to use the reset framework"

    * tag 'rproc-v4.19' of git://github.com/andersson/remoteproc:
    remoteproc/davinci: use the reset framework
    remoteproc/davinci: Mark error recovery as disabled
    remoteproc: st_slim: replace "%p" with "%pK"
    remoteproc: replace "%p" with "%pK"
    remoteproc: qcom: fix Q6V5_WCSS dependencies
    remoteproc: Reset table_ptr in rproc_start() failure paths
    remoteproc: qcom: q6v5-pil: fix modem hang on SDM845 after axis2 clk unvote
    remoteproc: qcom q6v5: fix modular build
    remoteproc: Introduce prepare and unprepare for subdevices
    remoteproc: rename subdev probe and remove functions
    remoteproc: Make client initialize ops in rproc_subdev
    remoteproc: Make start and stop in subdev optional
    remoteproc: Rename subdev functions to start/stop
    remoteproc: qcom: Introduce Hexagon V5 based WCSS driver
    remoteproc: qcom: q6v5-pil: Use common q6v5 helpers
    remoteproc: qcom: adsp: Use common q6v5 helpers
    remoteproc: q6v5: Extract common resource handling
    remoteproc: qcom: mdt_loader: Make the firmware authentication optional

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:

    - add MEN 16z069 IP-Core driver

    - renesas-wdt: add support for the R8A77990 wdt

    - stm32_iwdg: Add stm32mp1 support and pclk feature

    - sp805_wdt, orion_wdt, sprd_wdt: several improvements

    - imx2_wdt, stmp3xxx: switch to SPDX identifier

    * tag 'linux-watchdog-4.19-rc1' of git://www.linux-watchdog.org/linux-watchdog:
    watchdog: fix dependencies of menz69_wdt.o
    watchdog: sp805: Add clock-frequency property
    watchdog: add driver for the MEN 16z069 IP-Core
    watchdog: sprd_wdt: Remove redundant dev_err call in sprd_wdt_probe()
    watchdog: stmp3xxx: Switch to SPDX identifier
    watchdog: imx2_wdt: Switch to SPDX identifier
    watchdog: sp805: set WDOG_HW_RUNNING when appropriate
    watchdog: sp805: add 'timeout-sec' DT property support
    dt-bindings: watchdog: Add optional 'timeout-sec' property for sp805
    dt-bindings: watchdog: Consolidate SP805 binding docs
    watchdog: orion_wdt: Mark watchdog as active when running at probe
    watchdog: stm32: add pclk feature for stm32mp1
    dt-bindings: watchdog: add stm32mp1 support
    dt-bindings: watchdog: renesas-wdt: Add support for the R8A77990 wdt

    Linus Torvalds
     
  • Pull DMAengine updates from Vinod Koul:
    "This round brings couple of framework changes, a new driver and usual
    driver updates:

    - new managed helper for dmaengine framework registration

    - split dmaengine pause capability to pause and resume and allow
    drivers to report that individually

    - update dma_request_chan_by_mask() to handle deferred probing

    - move imx-sdma to use virt-dma

    - new driver for Actions Semi Owl family S900 controller

    - minor updates to intel, renesas, mv_xor, pl330 etc"

    * tag 'dmaengine-4.19-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (46 commits)
    dmaengine: Add Actions Semi Owl family S900 DMA driver
    dt-bindings: dmaengine: Add binding for Actions Semi Owl SoCs
    dmaengine: sh: rcar-dmac: Should not stop the DMAC by rcar_dmac_sync_tcr()
    dmaengine: mic_x100_dma: use the new helper to simplify the code
    dmaengine: add a new helper dmaenginem_async_device_register
    dmaengine: imx-sdma: add memcpy interface
    dmaengine: imx-sdma: add SDMA_BD_MAX_CNT to replace '0xffff'
    dmaengine: dma_request_chan_by_mask() to handle deferred probing
    dmaengine: pl330: fix irq race with terminate_all
    dmaengine: Revert "dmaengine: mv_xor_v2: enable COMPILE_TEST"
    dmaengine: mv_xor_v2: use {lower,upper}_32_bits to configure HW descriptor address
    dmaengine: mv_xor_v2: enable COMPILE_TEST
    dmaengine: mv_xor_v2: move unmap to before callback
    dmaengine: mv_xor_v2: convert callback to helper function
    dmaengine: mv_xor_v2: kill the tasklets upon exit
    dmaengine: mv_xor_v2: explicitly freeup irq
    dmaengine: sh: rcar-dmac: Add dma_pause operation
    dmaengine: sh: rcar-dmac: add a new function to clear CHCR.DE with barrier
    dmaengine: idma64: Support dmaengine_terminate_sync()
    dmaengine: hsu: Support dmaengine_terminate_sync()
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "Updates for MMC for v4.19.

    MMC core:
    - Add some fine-grained hooks to further support HS400 tuning
    - Improve error path for bus width setting for HS400es
    - Use a common method when checking R1 status

    MMC host:
    - renesas_sdhi: Add r8a77990 support
    - renesas_sdhi: Add eMMC HS400 mode support
    - tmio/renesas_sdhi: Improve tuning/clock management
    - tmio: Add eMMC HS400 mode support
    - sunxi: Add support for 3.3V eMMC DDR mode
    - mmci: Initial support to manage variant specific callbacks
    - sdhci: Don't try 3.3V I/O voltage if not supported
    - sdhci-pci-dwc-mshc: Add driver to support Synopsys dwc mshc SDHCI PCI
    - sdhci-of-dwcmshc: Add driver to support Synopsys DWC MSHC SDHCI
    - sdhci-msm: Add support for new version sdcc V5
    - sdhci-pci-o2micro: Add support for O2 eMMC HS200 mode
    - sdhci-pci-o2micro: Add support for O2 hardware tuning
    - sdhci-pci-o2micro: Add MSI interrupt support for O2 SD host
    - sdhci-pci: Add support for Intel ICP
    - sdhci-tegra: Prevent ACMD23 and HS200 mode on Tegra 3
    - sdhci-tegra: Fix eMMC DDR52 mode
    - sdhci-tegra: Improve clock management
    - dw_mmc-rockchip: Document compatible string for px30
    - sdhci-esdhc-imx: Add support for 3.3V eMMC DDR mode
    - sdhci-of-esdhc: Set proper DMA mask for ls104x chips
    - sdhci-of-esdhc: Improve clock management
    - sdhci-of-arasan: Add a quirk to manage unstable clocks
    - dw_mmc-exynos: Address potential external abort during system resume
    - pxamci: Add support for common MMC DT bindings
    - pxamci: Several cleanups and improvements
    - pxamci: Merge immutable branch for pxa to switch to DMA slave maps"

    * tag 'mmc-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (56 commits)
    mmc: core: improve reasonableness of bus width setting for HS400es
    mmc: tmio: remove unneeded variable in tmio_mmc_start_command()
    mmc: renesas_sdhi: Fix sampling clock position selecting
    mmc: tmio: Fix tuning flow
    mmc: sunxi: remove output of virtual base address
    dt-bindings: mmc: rockchip-dw-mshc: add description for px30
    mmc: renesas_sdhi: Add r8a77990 support
    mmc: sunxi: allow 3.3V DDR when DDR is available
    mmc: mmci: Add and implement a ->dma_setup() callback for qcom dml
    mmc: mmci: Initial support to manage variant specific callbacks
    mmc: tegra: Force correct divider calculation on DDR50/52
    mmc: sdhci: Add MSI interrupt support for O2 SD host
    mmc: sdhci: Add support for O2 hardware tuning
    mmc: sdhci: Export sdhci tuning function symbol
    mmc: sdhci: Change O2 Host HS200 mode clock frequency to 200MHz
    mmc: sdhci: Add support for O2 eMMC HS200 mode
    mmc: tegra: Add and use tegra_sdhci_get_max_clock()
    mmc: sdhci-esdhc-imx: fix indent
    mmc: sdhci-esdhc-imx: disable clocks before changing frequency
    mmc: tegra: prevent ACMD23 on Tegra 3
    ...

    Linus Torvalds
     
  • This function was created as a deprecated fallback case back in 2010 by
    commit eb14120f743d ("pcmcia: re-work pcmcia_request_irq()") for legacy
    cases.

    Actual in-kernel users haven't been around for a long while. The last
    in-kernel user was apparently removed four years ago by commit
    5f5316fcd08e ("am2150: Update nmclan_cs.c to use update PCMCIA API").

    Just remove it entirely.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here are all of the driver core and related patches for 4.19-rc1.

    Nothing huge here, just a number of small cleanups and the ability to
    now stop the deferred probing after init happens.

    All of these have been in linux-next for a while with only a merge
    issue reported"

    * tag 'driver-core-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (21 commits)
    base: core: Remove WARN_ON from link dependencies check
    drivers/base: stop new probing during shutdown
    drivers: core: Remove glue dirs from sysfs earlier
    driver core: remove unnecessary function extern declare
    sysfs.h: fix non-kernel-doc comment
    PM / Domains: Stop deferring probe at the end of initcall
    iommu: Remove IOMMU_OF_DECLARE
    iommu: Stop deferring probe at end of initcalls
    pinctrl: Support stopping deferred probe after initcalls
    dt-bindings: pinctrl: add a 'pinctrl-use-default' property
    driver core: allow stopping deferred probe after init
    driver core: add a debugfs entry to show deferred devices
    sysfs: Fix internal_create_group() for named group updates
    base: fix order of OF initialization
    linux/device.h: fix kernel-doc notation warning
    Documentation: update firmware loader fallback reference
    kobject: Replace strncpy with memcpy
    drivers: base: cacheinfo: use OF property_read_u32 instead of get_property,read_number
    kernfs: Replace strncpy with memcpy
    device: Add #define dev_fmt similar to #define pr_fmt
    ...

    Linus Torvalds