20 Jan, 2021

1 commit


18 Jan, 2021

1 commit


14 Jan, 2021

1 commit


06 Jan, 2021

1 commit

  • [ Upstream commit 8711071e9700b67045fe5518161d63f7a03e3c9e ]

    pm_runtime_get_sync() will increment pm usage counter even it
    failed. Forgetting to call pm_runtime_put_noidle will result
    in reference leak in rti_wdt_probe, so we should fix it.

    Signed-off-by: Zhang Qilong
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201030154909.100023-1-zhangqilong3@huawei.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Zhang Qilong
     

04 Jan, 2021

1 commit

  • This is the 5.10.4 stable release

    * tag 'v5.10.4': (717 commits)
    Linux 5.10.4
    x86/CPU/AMD: Save AMD NodeId as cpu_die_id
    drm/edid: fix objtool warning in drm_cvt_modes()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/gpu/drm/imx/dcss/dcss-plane.c
    drivers/media/i2c/ov5640.c

    Jason Liu
     

30 Dec, 2020

7 commits

  • [ Upstream commit 36c47df85ee8e1f8a35366ac11324f8875de00eb ]

    clang produces a build failure in configurations without COMMON_CLK
    when a timeout calculation goes wrong:

    arm-linux-gnueabi-ld: drivers/watchdog/coh901327_wdt.o: in function `coh901327_enable':
    coh901327_wdt.c:(.text+0x50): undefined reference to `__bad_udelay'

    Add a Kconfig dependency to only do build testing when COMMON_CLK
    is enabled.

    Fixes: da2a68b3eb47 ("watchdog: Enable COMPILE_TEST where possible")
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201203223358.1269372-1-arnd@kernel.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Arnd Bergmann
     
  • [ Upstream commit 7948fab26bcc468aa2a76462f441291b5fb0d5c7 ]

    The use of msleep() in the restart handler will cause scheduler to
    induce a context switch which is not desirable. This generates below
    warning on SDX55 when WDT is the only available restart source:

    [ 39.800188] reboot: Restarting system
    [ 39.804115] ------------[ cut here ]------------
    [ 39.807855] WARNING: CPU: 0 PID: 678 at kernel/rcu/tree_plugin.h:297 rcu_note_context_switch+0x190/0x764
    [ 39.812538] Modules linked in:
    [ 39.821954] CPU: 0 PID: 678 Comm: reboot Not tainted 5.10.0-rc1-00063-g33a9990d1d66-dirty #47
    [ 39.824854] Hardware name: Generic DT based system
    [ 39.833470] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [ 39.838154] [] (show_stack) from [] (dump_stack+0x8c/0xa0)
    [ 39.846049] [] (dump_stack) from [] (__warn+0xd8/0xf0)
    [ 39.853058] [] (__warn) from [] (warn_slowpath_fmt+0x64/0xc8)
    [ 39.859925] [] (warn_slowpath_fmt) from [] (rcu_note_context_switch+0x190/0x764)
    [ 39.867503] [] (rcu_note_context_switch) from [] (__schedule+0x84/0x640)
    [ 39.876685] [] (__schedule) from [] (schedule+0x58/0x10c)
    [ 39.885095] [] (schedule) from [] (schedule_timeout+0x1e8/0x3d4)
    [ 39.892135] [] (schedule_timeout) from [] (msleep+0x2c/0x38)
    [ 39.899947] [] (msleep) from [] (qcom_wdt_restart+0xc4/0xcc)
    [ 39.907319] [] (qcom_wdt_restart) from [] (watchdog_restart_notifier+0x18/0x28)
    [ 39.914715] [] (watchdog_restart_notifier) from [] (atomic_notifier_call_chain+0x60/0x84)
    [ 39.923487] [] (atomic_notifier_call_chain) from [] (machine_restart+0x78/0x7c)
    [ 39.933551] [] (machine_restart) from [] (__do_sys_reboot+0xdc/0x1e0)
    [ 39.942397] [] (__do_sys_reboot) from [] (ret_fast_syscall+0x0/0x54)
    [ 39.950721] Exception stack(0xc3e0bfa8 to 0xc3e0bff0)
    [ 39.958855] bfa0: 0001221c bed2fe24 fee1dead 28121969 01234567 00000000
    [ 39.963832] bfc0: 0001221c bed2fe24 00000003 00000058 000225e0 00000000 00000000 00000000
    [ 39.971985] bfe0: b6e62560 bed2fc84 00010fd8 b6e62580
    [ 39.980124] ---[ end trace 3f578288bad866e4 ]---

    Hence, replace msleep() with mdelay() to fix this issue.

    Fixes: 05e487d905ab ("watchdog: qcom: register a restart notifier")
    Signed-off-by: Manivannan Sadhasivam
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201207060005.21293-1-manivannan.sadhasivam@linaro.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Manivannan Sadhasivam
     
  • [ Upstream commit 6f733cb2e7db38f8141b14740bcde577844a03b7 ]

    A reboot notifier, which stops the WDT by calling the stop hook without
    any check, would be registered when we set WDOG_STOP_ON_REBOOT flag.

    Howerer we allow the WDT driver to omit the stop hook since commit
    "d0684c8a93549" ("watchdog: Make stop function optional") and provide
    a module parameter for user that controls the WDOG_STOP_ON_REBOOT flag
    in commit 9232c80659e94 ("watchdog: Add stop_on_reboot parameter to
    control reboot policy"). Together that commits make user potential to
    insert a watchdog driver that don't provide a stop hook but with the
    stop_on_reboot parameter set, then dereferencing of null pointer occurs
    on system reboot.

    Check the stop hook before registering the reboot notifier to fix the
    issue.

    Fixes: d0684c8a9354 ("watchdog: Make stop function optional")
    Signed-off-by: Wang Wensheng
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201109130512.28121-1-wangwensheng4@huawei.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Wang Wensheng
     
  • [ Upstream commit 3e07d240939803bed9feb2a353d94686a411a7ca ]

    As the specification described, users must check busy bit before start
    a new loading operation to make sure that the previous loading is done
    and the device is ready to accept a new one.

    [ chunyan: Massaged changelog ]

    Fixes: 477603467009 ("watchdog: Add Spreadtrum watchdog driver")
    Signed-off-by: Lingling Xu
    Signed-off-by: Chunyan Zhang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201029023933.24548-3-zhang.lyra@gmail.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Lingling Xu
     
  • [ Upstream commit f61a59acb462840bebcc192f754fe71b6a16ff99 ]

    sprd_wdt_start() would return fail if the loading operation is not completed
    in a certain time, disabling watchdog for that case would probably cause
    the kernel crash when kick watchdog later, that's too bad, so remove the
    watchdog disable operation for the fail case to make sure other parts in
    the kernel can run normally.

    [ chunyan: Massaged changelog ]

    Fixes: 477603467009 ("watchdog: Add Spreadtrum watchdog driver")
    Signed-off-by: Lingling Xu
    Signed-off-by: Chunyan Zhang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201029023933.24548-2-zhang.lyra@gmail.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Lingling Xu
     
  • [ Upstream commit 8ae2511112d2e18bc7d324b77f965d34083a25a2 ]

    If HAS_IOMEM is not defined and SIRFSOC_WATCHDOG is enabled,
    the build fails with the following error.

    drivers/watchdog/sirfsoc_wdt.o: in function `sirfsoc_wdt_probe':
    sirfsoc_wdt.c:(.text+0x112):
    undefined reference to `devm_platform_ioremap_resource'

    Reported-by: Necip Fazil Yildiran
    Fixes: da2a68b3eb47 ("watchdog: Enable COMPILE_TEST where possible")
    Link: https://lore.kernel.org/r/20201108162550.27660-2-linux@roeck-us.net
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Guenter Roeck
     
  • [ Upstream commit 7f6f1dfb2dcbe5d2bfa213f2df5d74c147cd5954 ]

    The following kbuild warning is seen on a system without HAS_IOMEM.

    WARNING: unmet direct dependencies detected for MFD_SYSCON
    Depends on [n]: HAS_IOMEM [=n]
    Selected by [y]:
    - ARMADA_37XX_WATCHDOG [=y] && WATCHDOG [=y] && (ARCH_MVEBU || COMPILE_TEST

    This results in a subsequent compile error.

    drivers/watchdog/armada_37xx_wdt.o: in function `armada_37xx_wdt_probe':
    armada_37xx_wdt.c:(.text+0xdc): undefined reference to `devm_ioremap'

    Add the missing dependency.

    Reported-by: Necip Fazil Yildiran
    Fixes: 54e3d9b518c8 ("watchdog: Add support for Armada 37xx CPU watchdog")
    Link: https://lore.kernel.org/r/20201108162550.27660-1-linux@roeck-us.net
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Sasha Levin

    Guenter Roeck
     

14 Dec, 2020

1 commit

  • The i.MX7ULP's watchdog is enabled by default when out of reset, so the
    resume callback which is to disable watchdog should be called earlier
    to avoid unexpected timeout, move suspend/resume callback to noirq phase.

    Signed-off-by: Anson Huang
    Reviewed-by: Jacky Bai
    Tested-by: Peter Chen
    Tested-by: Li Jun
    (cherry picked from commit 2297546e003b2626d5540636763068ba1a316426)

    Anson Huang
     

25 Oct, 2020

1 commit

  • Pull ARM SoC platform updates from Olof Johansson:
    "SoC changes, a substantial part of this is cleanup of some of the
    older platforms that used to have a bunch of board files.

    In particular:

    - Remove non-DT i.MX platforms that haven't seen activity in years,
    it's time to remove them.

    - A bunch of cleanup and removal of platform data for TI/OMAP
    platforms, moving over to genpd for power/reset control (yay!)

    - Major cleanup of Samsung S3C24xx and S3C64xx platforms, moving them
    closer to multiplatform support (not quite there yet, but getting
    close).

    There are a few other changes too, smaller fixlets, etc. For new
    platform support, the primary ones are:

    - New SoC: Hisilicon SD5203, ARM926EJ-S platform.

    - Cpufreq support for i.MX7ULP"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (121 commits)
    ARM: mstar: Select MStar intc
    ARM: stm32: Replace HTTP links with HTTPS ones
    ARM: debug: add UART early console support for SD5203
    ARM: hisi: add support for SD5203 SoC
    ARM: omap3: enable off mode automatically
    clk: imx: imx35: Remove mx35_clocks_init()
    clk: imx: imx31: Remove mx31_clocks_init()
    clk: imx: imx27: Remove mx27_clocks_init()
    ARM: imx: Remove unused definitions
    ARM: imx35: Retrieve the IIM base address from devicetree
    ARM: imx3: Retrieve the AVIC base address from devicetree
    ARM: imx3: Retrieve the CCM base address from devicetree
    ARM: imx31: Retrieve the IIM base address from devicetree
    ARM: imx27: Retrieve the CCM base address from devicetree
    ARM: imx27: Retrieve the SYSCTRL base address from devicetree
    ARM: s3c64xx: bring back notes from removed debug-macro.S
    ARM: s3c24xx: fix Wunused-variable warning on !MMU
    ARM: samsung: fix PM debug build with DEBUG_LL but !MMU
    MAINTAINERS: mark linux-samsung-soc list non-moderated
    ARM: imx: Remove remnant board file support pieces
    ...

    Linus Torvalds
     

22 Oct, 2020

1 commit

  • Pull watchdog updates from Wim Van Sebroeck:

    - Add Toshiba Visconti watchdog driver

    - it87_wdt: add IT8772 + IT8784

    - several fixes and improvements

    * tag 'linux-watchdog-5.10-rc1' of git://www.linux-watchdog.org/linux-watchdog:
    watchdog: Add Toshiba Visconti watchdog driver
    watchdog: bindings: Add binding documentation for Toshiba Visconti watchdog device
    watchdog: it87_wdt: add IT8784 ID
    watchdog: sp5100_tco: Enable watchdog on Family 17h devices if disabled
    watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
    watchdog: renesas_wdt: support handover from bootloader
    watchdog: imx7ulp: Watchdog should continue running for wait/stop mode
    watchdog: rti: Simplify with dev_err_probe()
    watchdog: davinci: Simplify with dev_err_probe()
    watchdog: cadence: Simplify with dev_err_probe()
    watchdog: remove unneeded inclusion of
    watchdog: Use put_device on error
    watchdog: Fix memleak in watchdog_cdev_register
    watchdog: imx7ulp: Strictly follow the sequence for wdog operations
    watchdog: it87_wdt: add IT8772 ID
    watchdog: pcwd_usb: Avoid GFP_ATOMIC where it is not needed
    drivers: watchdog: rdc321x_wdt: Fix race condition bugs

    Linus Torvalds
     

15 Oct, 2020

1 commit

  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Add support for initialising shared (between children) Regmaps
    - Add support for Kontron SL28CPLD
    - Add support for ENE KB3930 Embedded Controller
    - Add support for Intel FPGA PAC MAX 10 BMC

    New Device Support:
    - Add support for Power to Ricoh RN5T618
    - Add support for UART to Intel Lakefield
    - Add support for LP87524_Q1 to Texas Instruments LP87565

    New Functionality:
    - Device Tree; ene-kb3930, sl28cpld, syscon, lp87565, lp87524-q1
    - Use new helper dev_err_probe(); madera-core, stmfx, wcd934x
    - Use new GPIOD API; dm355evm_msp
    - Add wake-up capability; sprd-sc27xx-spi
    - Add ACPI support; kempld-core

    Fix-ups:
    - Trivial (spelling/whitespace); Kconfig, ab8500
    - Fix for unused variables; khadas-mcu, kempld-core
    - Remove unused header file(s); mt6360-core
    - Use correct IRQ flags in docs; act8945a, gateworks-gsc, rohm,bd70528-pmic
    - Add COMPILE_TEST support; asic3, tmio_core
    - Add dependency on I2C; SL28CPLD

    Bug Fixes:
    - Fix memory leak(s); sm501
    - Do not free regmap_config's 'name' until exit; syscon"

    * tag 'mfd-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (34 commits)
    mfd: kempld-core: Fix unused variable 'kempld_acpi_table' when !ACPI
    mfd: sl28cpld: Depend on I2C
    mfd: asic3: Build if COMPILE_TEST=y
    dt-bindings: mfd: Correct interrupt flags in examples
    mfd: Add ACPI support to Kontron PLD driver
    mfd: intel-m10-bmc: Add Intel MAX 10 BMC chip support for Intel FPGA PAC
    mfd: lp87565: Add LP87524-Q1 variant
    dt-bindings: mfd: Add LP87524-Q1
    dt-bindings: mfd: lp87565: Convert to yaml
    mfd: mt6360: Remove unused include
    mfd: sm501: Fix leaks in probe()
    mfd: syscon: Don't free allocated name for regmap_config
    dt-bindings: mfd: syscon: Document Exynos3 and Exynos5433 compatibles
    dt-bindings: mfd: syscon: Merge Samsung Exynos Sysreg bindings
    dt-bindings: mfd: ab8500: Remove weird Unicode characters
    mfd: sprd: Add wakeup capability for PMIC IRQ
    mfd: intel-lpss: Add device IDs for UART ports for Lakefield
    mfd: dm355evm_msp: Convert LEDs to GPIO descriptor table
    mfd: wcd934x: Simplify with dev_err_probe()
    mfd: stmfx: Simplify with dev_err_probe()
    ...

    Linus Torvalds
     

14 Oct, 2020

16 commits

  • Add the watchdog driver for Toshiba Visconti series.

    Signed-off-by: Nobuhiro Iwamatsu
    Reviewed-by: Punit Agrawal
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201005023012.603026-3-nobuhiro1.iwamatsu@toshiba.co.jp
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Nobuhiro Iwamatsu
     
  • IT8784 watchdog works as in IT878x

    Tested on SHAREVDY K10 board.

    Signed-off-by: Hanspeter Portner
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200904211639.18787-2-dev@open-music-kontrollers.ch
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Hanspeter Portner
     
  • On Family 17h (Ryzen) devices, the WatchdogTmrEn bit of PmDecodeEn not only
    enables watchdog memory decoding at 0xfeb00000, it also enables the
    watchdog hardware itself. Use this information to enable the watchdog if
    it is not already enabled.

    Cc: Jan Kiszka
    Tested-by: Jan Kiszka
    Link: https://lore.kernel.org/r/20200910163109.235136-2-linux@roeck-us.net
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Guenter Roeck
     
  • EFCH_PM_DECODEEN3 is supposed to access DECODEEN register bits 24..31,
    in other words the register at byte offset 3.

    Cc: Jan Kiszka
    Fixes: 887d2ec51e34b ("watchdog: sp5100_tco: Add support for recent FCH versions")
    Tested-by: Jan Kiszka
    Link: https://lore.kernel.org/r/20200910163109.235136-1-linux@roeck-us.net
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Guenter Roeck
     
  • Support an already running watchdog by checking its enable bit and set
    up the status accordingly before registering the device.

    Signed-off-by: Wolfram Sang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200908095615.31376-1-wsa+renesas@sang-engineering.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Wolfram Sang
     
  • When kernel idle, system will enter wait/stop mode, wdog should continue
    running in this scenario, and the refresh thread can wake up system from
    wait/stop mode.

    Signed-off-by: Anson Huang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1596150213-31638-2-git-send-email-Anson.Huang@nxp.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Anson Huang
     
  • Common pattern of handling deferred probe can be simplified with
    dev_err_probe(). Less code and the error value gets printed.

    Signed-off-by: Krzysztof Kozlowski
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200901153141.18960-3-krzk@kernel.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Krzysztof Kozlowski
     
  • Common pattern of handling deferred probe can be simplified with
    dev_err_probe(). Less code and the error value gets printed.

    Signed-off-by: Krzysztof Kozlowski
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200901153141.18960-2-krzk@kernel.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Krzysztof Kozlowski
     
  • Common pattern of handling deferred probe can be simplified with
    dev_err_probe(). Less code and the error value gets printed.

    Signed-off-by: Krzysztof Kozlowski
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200901153141.18960-1-krzk@kernel.org
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Krzysztof Kozlowski
     
  • There has been no reference to "struct sched_param" since
    commit 94beddacb53c ("sched,watchdog: Convert to sched_set_fifo()"), so
    there's no need to include any more, delete
    it.

    Signed-off-by: Zhen Lei
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200827062154.1847-1-thunder.leizhen@huawei.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Zhen Lei
     
  • We should use put_device() instead of freeing device
    directly after device_initialize().

    Fixes: cb36e29bb0e4b ("watchdog: initialize device before misc_register")
    Signed-off-by: Dinghao Liu
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200824031230.31050-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Dinghao Liu
     
  • When watchdog_kworker is NULL, we should free wd_data
    before the function returns to prevent memleak.

    Fixes: 664a39236e718 ("watchdog: Introduce hardware maximum heartbeat in watchdog core")
    Signed-off-by: Dinghao Liu
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200824024001.25474-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Dinghao Liu
     
  • According to reference manual, the i.MX7ULP WDOG's operations except
    refresh should follow below sequence:

    1. disable global interrupts;
    2. unlock the wdog and wait unlock bit set;
    3. reconfigure the wdog and wait for reconfiguration bit set;
    4. enabel global interrupts.

    Strictly follow the recommended sequence can make it more robust.

    Signed-off-by: Anson Huang
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/1596150213-31638-1-git-send-email-Anson.Huang@nxp.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Anson Huang
     
  • IT8772 watchdog works as in IT872x

    Tested on SHAREVDI K6-F12 board.

    Signed-off-by: Hanspeter Portner
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200827105940.2835910-1-hanspeter.portner@livesystems.ch
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Hanspeter Portner
     
  • There is no need to use GFP_ATOMIC here. It is a probe function, no
    spinlock is taken and GFP_KERNEL is used just before and just after this
    'usb_alloc_coherent()' call.

    Signed-off-by: Christophe JAILLET
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200809071912.742836-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Christophe JAILLET
     
  • In rdc321x_wdt_probe(), rdc321x_wdt_device.queue is initialized
    after misc_register(), hence if ioctl is called before its
    initialization which can call rdc321x_wdt_start() function,
    it will see an uninitialized value of rdc321x_wdt_device.queue,
    hence initialize it before misc_register().
    Also, rdc321x_wdt_device.default_ticks is accessed in reset()
    function called from write callback, thus initialize it before
    misc_register().

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Madhuparna Bhowmik
    Reviewed-by: Guenter Roeck
    Reviewed-by: Florian Fainelli
    Link: https://lore.kernel.org/r/20200807112902.28764-1-madhuparnabhowmik10@gmail.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Madhuparna Bhowmik
     

17 Sep, 2020

1 commit


14 Sep, 2020

1 commit

  • …git/krzk/linux into arm/soc

    Samsung S3C24xx and S3C64xx machine code cleanup for v5.10

    Big cleanup for the Samsung S3C24xx and S3C64xx platforms, although it
    also touches files shared with S5Pv210 and Exynos. This is mostly Arnd
    Bergmann work which Krzysztof Kozlowski took over, rebased and polished.

    The goal is to cleanup, merge and finally make the Samsung S3C24xx and
    S3C64xx architectures multiplatform. The multiplatform did not happen
    yet here - just cleaning up and merging into one arch/arm/mach-s3c
    directory. However this is step forward for multiplatform or at least
    to keep this code still maintainable.

    This pulls also branch with changes for Samsung SoC sound drivers from
    broonie/sound because the cleanups there were part of this series and
    all further patches depend on them.

    * tag 'samsung-soc-s3c-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (62 commits)
    ARM: s3c: Avoid naming clash of S3C24xx and S3C64xx timer setup
    ARM: s3c: Cleanup from old plat-samsung include
    ARM: s3c: make headers local if possible
    ARM: s3c: move into a common directory
    ARM: s3c24xx: stop including mach/hardware.h from mach/io.h
    cpufreq: s3c24xx: move low-level clk reg access into platform code
    cpufreq: s3c2412: use global s3c2412_cpufreq_setrefresh
    ARM: s3c: remove cpufreq header dependencies
    cpufreq: s3c24xx: split out registers
    fbdev: s3c2410fb: remove mach header dependency
    ARM: s3c24xx: bast: avoid irq_desc array usage
    ARM: s3c24xx: spi: avoid hardcoding fiq number in driver
    ARM: s3c24xx: include mach/irqs.h where needed
    ARM: s3c24xx: move s3cmci pinctrl handling into board files
    ARM: s3c24xx: move iis pinctrl config into boards
    ARM: s3c24xx: move spi fiq handler into platform
    ARM: s3c: adc: move header to linux/soc/samsung
    ARM: s3c24xx: move irqchip driver back into platform
    ARM: s3c24xx: move regs-spi.h into spi driver
    ARM: s3c64xx: remove mach/hardware.h
    ...

    Link: https://lore.kernel.org/r/20200831154751.7551-1-krzk@kernel.org
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

20 Aug, 2020

1 commit

  • A separate Kconfig option HAVE_S3C2410_WATCHDOG for Samsung SoCs is not
    really needed and the s3c24xx watchdog driver can depend on Samsung ARM
    architectures instead.

    The "HAVE_xxx_WATCHDOG" pattern of dependency is not popular and Samsung
    platforms are here exceptions. All others just depend on
    CONFIG_ARCH_xxx.

    This makes the code slightly smaller without any change in
    functionality.

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

    Krzysztof Kozlowski
     

13 Aug, 2020

1 commit

  • Pull watchdog updates from Wim Van Sebroeck:

    - f71808e_wdt imporvements

    - dw_wdt improvements

    - mlx-wdt: support new watchdog type with longer timeout period

    - fallthrough pseudo-keyword replacements

    - overall small fixes and improvements

    * tag 'linux-watchdog-5.9-rc1' of git://www.linux-watchdog.org/linux-watchdog: (35 commits)
    watchdog: rti-wdt: balance pm runtime enable calls
    watchdog: rti-wdt: attach to running watchdog during probe
    watchdog: add support for adjusting last known HW keepalive time
    watchdog: use __watchdog_ping in startup
    watchdog: softdog: Add options 'soft_reboot_cmd' and 'soft_active_on_boot'
    watchdog: pcwd_usb: remove needless check before usb_free_coherent()
    watchdog: Replace HTTP links with HTTPS ones
    dt-bindings: watchdog: renesas,wdt: Document r8a774e1 support
    watchdog: initialize device before misc_register
    watchdog: booke_wdt: Add common nowayout parameter driver
    watchdog: scx200_wdt: Use fallthrough pseudo-keyword
    watchdog: Use fallthrough pseudo-keyword
    watchdog: f71808e_wdt: do stricter parameter validation
    watchdog: f71808e_wdt: clear watchdog timeout occurred flag
    watchdog: f71808e_wdt: remove use of wrong watchdog_info option
    watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
    docs: watchdog: codify ident.options as superset of possible status flags
    dt-bindings: watchdog: Add compatible for QCS404, SC7180, SDM845, SM8150
    dt-bindings: watchdog: Convert QCOM watchdog timer bindings to YAML
    watchdog: dw_wdt: Add DebugFS files
    ...

    Linus Torvalds
     

06 Aug, 2020

3 commits

  • PM runtime should be disabled in the fail path of probe and when
    the driver is removed.

    Fixes: 2d63908bdbfb ("watchdog: Add K3 RTI watchdog support")
    Signed-off-by: Tero Kristo
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200717132958.14304-5-t-kristo@ti.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Tero Kristo
     
  • If the RTI watchdog is running already during probe, the driver must
    configure itself to match the HW. Window size and timeout is probed from
    hardware, and the last keepalive ping is adjusted to match it also.

    Signed-off-by: Tero Kristo
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200717132958.14304-4-t-kristo@ti.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Tero Kristo
     
  • Certain watchdogs require the watchdog only to be pinged within a
    specific time window, pinging too early or too late cause the watchdog
    to fire. In cases where this sort of watchdog has been started before
    kernel comes up, we must adjust the watchdog keepalive window to match
    the actually running timer, so add a new driver API for this purpose.

    Signed-off-by: Tero Kristo
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200717132958.14304-3-t-kristo@ti.com
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Tero Kristo