19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

06 May, 2019

1 commit

  • Use devm_platform_ioremap_resource to reduce source code size,
    improve readability, and reduce the likelyhood of bugs.

    The conversion was done automatically with coccinelle using the
    following semantic patch.

    @r@
    identifier res, pdev;
    expression a;
    expression index;
    expression e;
    @@

    @depends on r@
    identifier r.res;
    @@
    - struct resource *res;
    ... when != res

    @@
    identifier res, pdev;
    expression index;
    expression a;
    @@
    - struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, index);
    - a = devm_ioremap_resource(&pdev->dev, res);
    + a = devm_platform_ioremap_resource(pdev, index);

    Cc: Joel Stanley
    Cc: Nicolas Ferre
    Cc: Alexandre Belloni
    Cc: Florian Fainelli
    Cc: Linus Walleij
    Cc: Baruch Siach
    Cc: Keguang Zhang
    Cc: Vladimir Zapolskiy
    Cc: Kevin Hilman
    Cc: Matthias Brugger
    Cc: Avi Fishman
    Cc: Nancy Yuen
    Cc: Brendan Higgins
    Cc: Wan ZongShun
    Cc: Michal Simek
    Cc: Sylvain Lemieux
    Cc: Kukjin Kim
    Cc: Barry Song
    Cc: Orson Zhai
    Cc: Patrice Chotard
    Cc: Maxime Coquelin
    Cc: Maxime Ripard
    Cc: Chen-Yu Tsai
    Cc: Marc Gonzalez
    Cc: Thierry Reding
    Cc: Shawn Guo
    Signed-off-by: Guenter Roeck
    Acked-by: Alexandre Belloni
    Tested-by: Alexandre Belloni
    Acked-by: Joel Stanley
    Reviewed-by: Linus Walleij
    Acked-by: Maxime Ripard
    Acked-by: Michal Simek (cadence/xilinx wdts)
    Acked-by: Thierry Reding
    Reviewed-by: Florian Fainelli
    Acked-by: Patrice Chotard
    Acked-by: Vladimir Zapolskiy
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Guenter Roeck
     

02 Oct, 2018

3 commits

  • This callback will provide the current time left.

    Signed-off-by: Hauke Mehrtens
    Reviewed-by: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Hauke Mehrtens
     
  • Instead of doing the ioctl handling manually just use register a
    watchdog_device and let the watchdog framework do the ioctl handling.

    This also removes the ltq_wdt_bootstatus_set typedef and replaces it
    with a structure providing the chip specific functions pointer.
    The watchdog_init_timeout() function is now used and the initial timeout
    can be provided in device tree.
    If the watchdog was already activated it will not be stopped any more,
    but the settings from the driver will be used and the watchdog subsystem
    will take care.

    Signed-off-by: Hauke Mehrtens
    Reviewed-by: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Hauke Mehrtens
     
  • Some of the names of the bits were confusing to me.
    Now the bits share the same prefix as the register they are set on.

    The LTQ_WDT_CR_PWL register (bits 26:25) is the pre warning limit and it
    does not turn anything on. It has 4 possible divers 1/2, 1/4, 1/8 and
    1/16, this drivers only uses 1/16.
    The LTQ_WDT_CR_CLKDIV register bits(25:24) is only configuring a clock
    divers and do not turn any thing on too, all possible values are valid
    dividers.
    Using the LTQ_WDT_SR prefix is also wrong these bits are used in the
    LTQ_WDT_CR registers, SR is the status register which is read only.

    This uses GENMASK where it is a mask and it uses shifts when a value is
    written to some bits.

    Signed-off-by: Hauke Mehrtens
    Reviewed-by: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Hauke Mehrtens
     

04 Sep, 2017

1 commit

  • This patch avoids accessing the function ltq_reset_cause() and directly
    accesses the register given over the syscon interface. The syscon
    interface will be implemented for the xway SoCs for the falcon SoCs the
    ltq_reset_cause() function never worked, because a wrong offset was used.

    Signed-off-by: Hauke Mehrtens
    Acked-by: Guenter Roeck
    Cc: martin.blumenstingl@googlemail.com
    Cc: john@phrozen.org
    Cc: robh@kernel.org
    Cc: andy.shevchenko@gmail.com
    Cc: p.zabel@pengutronix.de
    Cc: kishon@ti.com
    Cc: mark.rutland@arm.com
    Cc: linux-mips@linux-mips.org
    Cc: linux-mtd@lists.infradead.org
    Cc: linux-watchdog@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-spi@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17123/
    Signed-off-by: Ralf Baechle

    Hauke Mehrtens
     

25 Feb, 2017

1 commit


20 Oct, 2014

1 commit


06 Aug, 2014

1 commit


18 Nov, 2013

1 commit

  • I just can't find any value in MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR)
    and MODULE_ALIAS_MISCDEV(TEMP_MINOR) statements.

    Either the device is enumerated and the driver already has a module
    alias (e.g. PCI, USB etc.) that will get the right driver loaded
    automatically.

    Or the device is not enumerated and loading its driver will lead to
    more or less intrusive hardware poking. Such hardware poking should be
    limited to a bare minimum, so the user should really decide which
    drivers should be tried and in what order. Trying them all in
    arbitrary order can't do any good.

    On top of that, loading that many drivers at once bloats the kernel
    log. Also many drivers will stay loaded afterward, bloating the output
    of "lsmod" and wasting memory. Some modules (cs5535_mfgpt which gets
    loaded as a dependency) can't even be unloaded!

    If defining char-major-10-130 is needed then it should happen in
    user-space.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Cc: Stephen Warren
    Cc: Mike Frysinger
    Cc: Wan ZongShun
    Cc: Ben Dooks
    Cc: Kukjin Kim
    Cc: Zwane Mwaikambo
    Cc: Jim Cromie

    Jean Delvare
     

26 Jan, 2013

1 commit

  • Convert all uses of devm_request_and_ioremap() to the newly introduced
    devm_ioremap_resource() which provides more consistent error handling.

    devm_ioremap_resource() provides its own error messages so all explicit
    error messages can be removed from the failure code paths.

    Signed-off-by: Thierry Reding
    Cc: Wim Van Sebroeck
    Signed-off-by: Greg Kroah-Hartman

    Thierry Reding
     

29 Nov, 2012

3 commits

  • CONFIG_HOTPLUG is going away as an option so __devexit is no
    longer needed.

    Signed-off-by: Bill Pemberton
    Cc: Wim Van Sebroeck
    Cc: Wan ZongShun
    Cc: Ben Dooks
    Cc: Kukjin Kim
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option so __devinit is no longer
    needed.

    Signed-off-by: Bill Pemberton
    Cc: Wim Van Sebroeck
    Cc: Wan ZongShun
    Cc: Ben Dooks
    Cc: Kukjin Kim
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
    needed.

    Signed-off-by: Bill Pemberton
    Cc: Wim Van Sebroeck
    Cc: Wan ZongShun
    Cc: Ben Dooks
    Cc: Kukjin Kim
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

21 May, 2012

1 commit

  • Add support for OF. We also apply the following small fixes
    * reduce boiler plate by using devm_request_and_ioremap
    * sane error path for the clock
    * move LTQ_RST_CAUSE_WDTRST to a soc specific header file
    * add a message to show that the driver loaded

    Signed-off-by: John Crispin
    Acked-by: Wim Van Sebroeck
    Cc: linux-watchdog@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/3810/
    Signed-off-by: Ralf Baechle

    John Crispin
     

28 Mar, 2012

2 commits


06 Jan, 2012

1 commit

  • Data allocated with devm_ioremap or devm_ioremap_nocache should not be
    freed using iounmap, because doing so causes a dangling pointer, and a
    subsequent double free.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @r@
    expression x;
    @@
    (
    x = devm_ioremap(...)
    |
    x = devm_ioremap_nocache(...)
    )

    @@
    expression r.x;
    @@
    * iounmap(x)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Wim Van Sebroeck

    Julia Lawall
     

20 Sep, 2011

1 commit

  • The enable function was using the global timeout variable for local operations.
    This resulted in the value of the global variable being corrupted, thus
    breaking the code.

    Signed-off-by: John Crispin
    Signed-off-by: Thomas Langer
    Signed-off-by: Wim Van Sebroeck
    Cc: linux-watchdog@vger.kernel.org
    Cc: linux-mips@linux-mips.org

    John Crispin
     

19 May, 2011

1 commit

  • This patch adds the driver for the watchdog found inside the Lantiq SoC family.

    Signed-off-by: John Crispin
    Signed-off-by: Ralph Hempel
    Cc: Wim Van Sebroeck
    Cc: linux-mips@linux-mips.org
    Cc: linux-watchdog@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/2327/
    Signed-off-by: Ralf Baechle

    John Crispin