Merge branch 'v4.17-rc1'
This commit is contained in:
commit
ab17ed70f7
@ -0,0 +1,28 @@
|
|||||||
|
Nuvoton NPCM Watchdog
|
||||||
|
|
||||||
|
Nuvoton NPCM timer module provides five 24-bit timer counters, and a watchdog.
|
||||||
|
The watchdog supports a pre-timeout interrupt that fires 10ms before the
|
||||||
|
expiry.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : "nuvoton,npcm750-wdt" for NPCM750 (Poleg).
|
||||||
|
- reg : Offset and length of the register set for the device.
|
||||||
|
- interrupts : Contain the timer interrupt with flags for
|
||||||
|
falling edge.
|
||||||
|
|
||||||
|
Required clocking property, have to be one of:
|
||||||
|
- clocks : phandle of timer reference clock.
|
||||||
|
- clock-frequency : The frequency in Hz of the clock that drives the NPCM7xx
|
||||||
|
timer (usually 25000000).
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- timeout-sec : Contains the watchdog timeout in seconds
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
timer@f000801c {
|
||||||
|
compatible = "nuvoton,npcm750-wdt";
|
||||||
|
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
reg = <0xf000801c 0x4>;
|
||||||
|
clocks = <&clk NPCM7XX_CLK_TIMER>;
|
||||||
|
};
|
@ -514,6 +514,17 @@ config COH901327_WATCHDOG
|
|||||||
This watchdog is used to reset the system and thus cannot be
|
This watchdog is used to reset the system and thus cannot be
|
||||||
compiled as a module.
|
compiled as a module.
|
||||||
|
|
||||||
|
config NPCM7XX_WATCHDOG
|
||||||
|
bool "Nuvoton NPCM750 watchdog"
|
||||||
|
depends on ARCH_NPCM || COMPILE_TEST
|
||||||
|
default y if ARCH_NPCM750
|
||||||
|
select WATCHDOG_CORE
|
||||||
|
help
|
||||||
|
Say Y here to include Watchdog timer support for the
|
||||||
|
watchdog embedded into the NPCM7xx.
|
||||||
|
This watchdog is used to reset the system and thus cannot be
|
||||||
|
compiled as a module.
|
||||||
|
|
||||||
config TWL4030_WATCHDOG
|
config TWL4030_WATCHDOG
|
||||||
tristate "TWL4030 Watchdog"
|
tristate "TWL4030 Watchdog"
|
||||||
depends on TWL4030_CORE
|
depends on TWL4030_CORE
|
||||||
|
@ -61,6 +61,7 @@ obj-$(CONFIG_ORION_WATCHDOG) += orion_wdt.o
|
|||||||
obj-$(CONFIG_SUNXI_WATCHDOG) += sunxi_wdt.o
|
obj-$(CONFIG_SUNXI_WATCHDOG) += sunxi_wdt.o
|
||||||
obj-$(CONFIG_RN5T618_WATCHDOG) += rn5t618_wdt.o
|
obj-$(CONFIG_RN5T618_WATCHDOG) += rn5t618_wdt.o
|
||||||
obj-$(CONFIG_COH901327_WATCHDOG) += coh901327_wdt.o
|
obj-$(CONFIG_COH901327_WATCHDOG) += coh901327_wdt.o
|
||||||
|
obj-$(CONFIG_NPCM7XX_WATCHDOG) += npcm_wdt.o
|
||||||
obj-$(CONFIG_STMP3XXX_RTC_WATCHDOG) += stmp3xxx_rtc_wdt.o
|
obj-$(CONFIG_STMP3XXX_RTC_WATCHDOG) += stmp3xxx_rtc_wdt.o
|
||||||
obj-$(CONFIG_NUC900_WATCHDOG) += nuc900_wdt.o
|
obj-$(CONFIG_NUC900_WATCHDOG) += nuc900_wdt.o
|
||||||
obj-$(CONFIG_TS4800_WATCHDOG) += ts4800_wdt.o
|
obj-$(CONFIG_TS4800_WATCHDOG) += ts4800_wdt.o
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* drivers/watchdog/ar7_wdt.c
|
* drivers/watchdog/ar7_wdt.c
|
||||||
*
|
*
|
||||||
@ -8,19 +9,6 @@
|
|||||||
* National Semiconductor SCx200 Watchdog support
|
* National Semiconductor SCx200 Watchdog support
|
||||||
* Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com>
|
* Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
@ -46,6 +46,7 @@ MODULE_DEVICE_TABLE(of, aspeed_wdt_of_table);
|
|||||||
#define WDT_RELOAD_VALUE 0x04
|
#define WDT_RELOAD_VALUE 0x04
|
||||||
#define WDT_RESTART 0x08
|
#define WDT_RESTART 0x08
|
||||||
#define WDT_CTRL 0x0C
|
#define WDT_CTRL 0x0C
|
||||||
|
#define WDT_CTRL_BOOT_SECONDARY BIT(7)
|
||||||
#define WDT_CTRL_RESET_MODE_SOC (0x00 << 5)
|
#define WDT_CTRL_RESET_MODE_SOC (0x00 << 5)
|
||||||
#define WDT_CTRL_RESET_MODE_FULL_CHIP (0x01 << 5)
|
#define WDT_CTRL_RESET_MODE_FULL_CHIP (0x01 << 5)
|
||||||
#define WDT_CTRL_RESET_MODE_ARM_CPU (0x10 << 5)
|
#define WDT_CTRL_RESET_MODE_ARM_CPU (0x10 << 5)
|
||||||
@ -158,6 +159,7 @@ static int aspeed_wdt_restart(struct watchdog_device *wdd,
|
|||||||
{
|
{
|
||||||
struct aspeed_wdt *wdt = to_aspeed_wdt(wdd);
|
struct aspeed_wdt *wdt = to_aspeed_wdt(wdd);
|
||||||
|
|
||||||
|
wdt->ctrl &= ~WDT_CTRL_BOOT_SECONDARY;
|
||||||
aspeed_wdt_enable(wdt, 128 * WDT_RATE_1MHZ / 1000);
|
aspeed_wdt_enable(wdt, 128 * WDT_RATE_1MHZ / 1000);
|
||||||
|
|
||||||
mdelay(1000);
|
mdelay(1000);
|
||||||
@ -245,6 +247,8 @@ static int aspeed_wdt_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
if (of_property_read_bool(np, "aspeed,external-signal"))
|
if (of_property_read_bool(np, "aspeed,external-signal"))
|
||||||
wdt->ctrl |= WDT_CTRL_WDT_EXT;
|
wdt->ctrl |= WDT_CTRL_WDT_EXT;
|
||||||
|
if (of_property_read_bool(np, "aspeed,alt-boot"))
|
||||||
|
wdt->ctrl |= WDT_CTRL_BOOT_SECONDARY;
|
||||||
|
|
||||||
if (readl(wdt->base + WDT_CTRL) & WDT_CTRL_ENABLE) {
|
if (readl(wdt->base + WDT_CTRL) & WDT_CTRL_ENABLE) {
|
||||||
/*
|
/*
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for Atmel AT91RM9200 (Thunder)
|
* Watchdog driver for Atmel AT91RM9200 (Thunder)
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003 SAN People (Pty) Ltd
|
* Copyright (C) 2003 SAN People (Pty) Ltd
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for Atmel AT91SAM9x processors.
|
* Watchdog driver for Atmel AT91SAM9x processors.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008 Renaud CERRATO r.cerrato@til-technologies.fr
|
* Copyright (C) 2008 Renaud CERRATO r.cerrato@til-technologies.fr
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||||
/*
|
/*
|
||||||
* drivers/watchdog/at91sam9_wdt.h
|
* drivers/watchdog/at91sam9_wdt.h
|
||||||
*
|
*
|
||||||
@ -7,10 +8,6 @@
|
|||||||
* Watchdog Timer (WDT) - System peripherals regsters.
|
* Watchdog Timer (WDT) - System peripherals regsters.
|
||||||
* Based on AT91SAM9261 datasheet revision D.
|
* Based on AT91SAM9261 datasheet revision D.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef AT91_WDT_H
|
#ifndef AT91_WDT_H
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for Broadcom BCM2835
|
* Watchdog driver for Broadcom BCM2835
|
||||||
*
|
*
|
||||||
@ -7,10 +8,6 @@
|
|||||||
*
|
*
|
||||||
* Copyright (C) 2013 Lubomir Rintel <lkundrak@v3.sk>
|
* Copyright (C) 2013 Lubomir Rintel <lkundrak@v3.sk>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
* option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for Broadcom BCM47XX
|
* Watchdog driver for Broadcom BCM47XX
|
||||||
*
|
*
|
||||||
@ -5,10 +6,6 @@
|
|||||||
* Copyright (C) 2009 Matthieu CASTET <castet.matthieu@free.fr>
|
* Copyright (C) 2009 Matthieu CASTET <castet.matthieu@free.fr>
|
||||||
* Copyright (C) 2012-2013 Hauke Mehrtens <hauke@hauke-m.de>
|
* Copyright (C) 2012-2013 Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Broadcom BCM63xx SoC watchdog driver
|
* Broadcom BCM63xx SoC watchdog driver
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007, Miguel Gaio <miguel.gaio@efixo.com>
|
* Copyright (C) 2007, Miguel Gaio <miguel.gaio@efixo.com>
|
||||||
* Copyright (C) 2008, Florian Fainelli <florian@openwrt.org>
|
* Copyright (C) 2008, Florian Fainelli <florian@openwrt.org>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
@ -1,15 +1,7 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015 Broadcom Corporation
|
* Copyright (C) 2015 Broadcom Corporation
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
@ -235,6 +227,6 @@ module_platform_driver(bcm7038_wdt_driver);
|
|||||||
module_param(nowayout, bool, 0);
|
module_param(nowayout, bool, 0);
|
||||||
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
|
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
|
||||||
__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
|
__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_DESCRIPTION("Driver for Broadcom 7038 SoCs Watchdog");
|
MODULE_DESCRIPTION("Driver for Broadcom 7038 SoCs Watchdog");
|
||||||
MODULE_AUTHOR("Justin Chen");
|
MODULE_AUTHOR("Justin Chen");
|
||||||
|
@ -1,14 +1,7 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013 Broadcom Corporation
|
* Copyright (C) 2013 Broadcom Corporation
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation version 2.
|
|
||||||
*
|
|
||||||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
|
||||||
* kind, whether express or implied; without even the implied warranty
|
|
||||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Cadence WDT driver - Used by Xilinx Zynq
|
* Cadence WDT driver - Used by Xilinx Zynq
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010 - 2014 Xilinx, Inc.
|
* Copyright (C) 2010 - 2014 Xilinx, Inc.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* System monitoring driver for DA9052 PMICs.
|
* System monitoring driver for DA9052 PMICs.
|
||||||
*
|
*
|
||||||
@ -5,11 +6,6 @@
|
|||||||
*
|
*
|
||||||
* Author: Anthony Olech <Anthony.Olech@diasemi.com>
|
* Author: Anthony Olech <Anthony.Olech@diasemi.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* System monitoring driver for DA9055 PMICs.
|
* System monitoring driver for DA9055 PMICs.
|
||||||
*
|
*
|
||||||
@ -5,11 +6,6 @@
|
|||||||
*
|
*
|
||||||
* Author: David Dajun Chen <dchen@diasemi.com>
|
* Author: David Dajun Chen <dchen@diasemi.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -1,16 +1,8 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog device driver for DA9062 and DA9061 PMICs
|
* Watchdog device driver for DA9062 and DA9061 PMICs
|
||||||
* Copyright (C) 2015 Dialog Semiconductor Ltd.
|
* Copyright (C) 2015 Dialog Semiconductor Ltd.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for DA9063 PMICs.
|
* Watchdog driver for DA9063 PMICs.
|
||||||
*
|
*
|
||||||
@ -5,10 +6,6 @@
|
|||||||
*
|
*
|
||||||
* Author: Mariusz Wojtasik <mariusz.wojtasik@diasemi.com>
|
* Author: Mariusz Wojtasik <mariusz.wojtasik@diasemi.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
* option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for Conexant Digicolor
|
* Watchdog driver for Conexant Digicolor
|
||||||
*
|
*
|
||||||
* Copyright (C) 2015 Paradox Innovation Ltd.
|
* Copyright (C) 2015 Paradox Innovation Ltd.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
* option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Watchdog timer driver for the WinSystems EBC-C384
|
* Watchdog timer driver for the WinSystems EBC-C384
|
||||||
* Copyright (C) 2016 William Breathitt Gray
|
* Copyright (C) 2016 William Breathitt Gray
|
||||||
|
@ -1,15 +1,7 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Intel Management Engine Interface (Intel MEI) Linux driver
|
* Intel Management Engine Interface (Intel MEI) Linux driver
|
||||||
* Copyright (c) 2015, Intel Corporation.
|
* Copyright (c) 2015, Intel Corporation.
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms and conditions of the GNU General Public License,
|
|
||||||
* version 2, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
||||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
||||||
* more details.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@ -687,5 +679,5 @@ static struct mei_cl_driver mei_wdt_driver = {
|
|||||||
module_mei_cl_driver(mei_wdt_driver);
|
module_mei_cl_driver(mei_wdt_driver);
|
||||||
|
|
||||||
MODULE_AUTHOR("Intel Corporation");
|
MODULE_AUTHOR("Intel Corporation");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL v2");
|
||||||
MODULE_DESCRIPTION("Device driver for Intel MEI iAMT watchdog");
|
MODULE_DESCRIPTION("Device driver for Intel MEI iAMT watchdog");
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for the A21 VME CPU Boards
|
* Watchdog driver for the A21 VME CPU Boards
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 MEN Mikro Elektronik Nuernberg GmbH
|
* Copyright (C) 2013 MEN Mikro Elektronik Nuernberg GmbH
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation
|
|
||||||
*/
|
*/
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/moduleparam.h>
|
#include <linux/moduleparam.h>
|
||||||
|
@ -1,56 +1,8 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||||
/*
|
/*
|
||||||
* This file is provided under a dual BSD/GPLv2 license. When using or
|
|
||||||
* redistributing this file, you may do so under either license.
|
|
||||||
*
|
|
||||||
* GPL LICENSE SUMMARY
|
|
||||||
*
|
|
||||||
* Copyright (c) 2016 BayLibre, SAS.
|
* Copyright (c) 2016 BayLibre, SAS.
|
||||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of version 2 of the GNU General Public License as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
* The full GNU General Public License is included in this distribution
|
|
||||||
* in the file called COPYING.
|
|
||||||
*
|
|
||||||
* BSD LICENSE
|
|
||||||
*
|
|
||||||
* Copyright (c) 2016 BayLibre, SAS.
|
|
||||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
*
|
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in
|
|
||||||
* the documentation and/or other materials provided with the
|
|
||||||
* distribution.
|
|
||||||
* * Neither the name of Intel Corporation nor the names of its
|
|
||||||
* contributors may be used to endorse or promote products derived
|
|
||||||
* from this software without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
*/
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Mediatek Watchdog Driver
|
* Mediatek Watchdog Driver
|
||||||
*
|
*
|
||||||
@ -5,16 +6,6 @@
|
|||||||
*
|
*
|
||||||
* Matthias Brugger <matthias.bgg@gmail.com>
|
* Matthias Brugger <matthias.bgg@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* Based on sunxi_wdt.c
|
* Based on sunxi_wdt.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Driver for the MTX-1 Watchdog.
|
* Driver for the MTX-1 Watchdog.
|
||||||
*
|
*
|
||||||
@ -6,16 +7,6 @@
|
|||||||
* http://www.4g-systems.biz
|
* http://www.4g-systems.biz
|
||||||
*
|
*
|
||||||
* (C) Copyright 2007 OpenWrt.org, Florian Fainelli <florian@openwrt.org>
|
* (C) Copyright 2007 OpenWrt.org, Florian Fainelli <florian@openwrt.org>
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* Neither Michael Stickel nor 4G Systems admit liability nor provide
|
|
||||||
* warranty for any of this software. This material is provided
|
|
||||||
* "AS-IS" and at no charge.
|
|
||||||
*
|
|
||||||
* (c) Copyright 2005 4G Systems <info@4g-systems.biz>
|
* (c) Copyright 2005 4G Systems <info@4g-systems.biz>
|
||||||
*
|
*
|
||||||
* Release 0.01.
|
* Release 0.01.
|
||||||
|
254
drivers/watchdog/npcm_wdt.c
Normal file
254
drivers/watchdog/npcm_wdt.c
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
// Copyright (c) 2018 Nuvoton Technology corporation.
|
||||||
|
// Copyright (c) 2018 IBM Corp.
|
||||||
|
|
||||||
|
#include <linux/bitops.h>
|
||||||
|
#include <linux/delay.h>
|
||||||
|
#include <linux/interrupt.h>
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
#include <linux/of_irq.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/slab.h>
|
||||||
|
#include <linux/watchdog.h>
|
||||||
|
|
||||||
|
#define NPCM_WTCR 0x1C
|
||||||
|
|
||||||
|
#define NPCM_WTCLK (BIT(10) | BIT(11)) /* Clock divider */
|
||||||
|
#define NPCM_WTE BIT(7) /* Enable */
|
||||||
|
#define NPCM_WTIE BIT(6) /* Enable irq */
|
||||||
|
#define NPCM_WTIS (BIT(4) | BIT(5)) /* Interval selection */
|
||||||
|
#define NPCM_WTIF BIT(3) /* Interrupt flag*/
|
||||||
|
#define NPCM_WTRF BIT(2) /* Reset flag */
|
||||||
|
#define NPCM_WTRE BIT(1) /* Reset enable */
|
||||||
|
#define NPCM_WTR BIT(0) /* Reset counter */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Watchdog timeouts
|
||||||
|
*
|
||||||
|
* 170 msec: WTCLK=01 WTIS=00 VAL= 0x400
|
||||||
|
* 670 msec: WTCLK=01 WTIS=01 VAL= 0x410
|
||||||
|
* 1360 msec: WTCLK=10 WTIS=00 VAL= 0x800
|
||||||
|
* 2700 msec: WTCLK=01 WTIS=10 VAL= 0x420
|
||||||
|
* 5360 msec: WTCLK=10 WTIS=01 VAL= 0x810
|
||||||
|
* 10700 msec: WTCLK=01 WTIS=11 VAL= 0x430
|
||||||
|
* 21600 msec: WTCLK=10 WTIS=10 VAL= 0x820
|
||||||
|
* 43000 msec: WTCLK=11 WTIS=00 VAL= 0xC00
|
||||||
|
* 85600 msec: WTCLK=10 WTIS=11 VAL= 0x830
|
||||||
|
* 172000 msec: WTCLK=11 WTIS=01 VAL= 0xC10
|
||||||
|
* 687000 msec: WTCLK=11 WTIS=10 VAL= 0xC20
|
||||||
|
* 2750000 msec: WTCLK=11 WTIS=11 VAL= 0xC30
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct npcm_wdt {
|
||||||
|
struct watchdog_device wdd;
|
||||||
|
void __iomem *reg;
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline struct npcm_wdt *to_npcm_wdt(struct watchdog_device *wdd)
|
||||||
|
{
|
||||||
|
return container_of(wdd, struct npcm_wdt, wdd);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int npcm_wdt_ping(struct watchdog_device *wdd)
|
||||||
|
{
|
||||||
|
struct npcm_wdt *wdt = to_npcm_wdt(wdd);
|
||||||
|
u32 val;
|
||||||
|
|
||||||
|
val = readl(wdt->reg);
|
||||||
|
writel(val | NPCM_WTR, wdt->reg);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int npcm_wdt_start(struct watchdog_device *wdd)
|
||||||
|
{
|
||||||
|
struct npcm_wdt *wdt = to_npcm_wdt(wdd);
|
||||||
|
u32 val;
|
||||||
|
|
||||||
|
if (wdd->timeout < 2)
|
||||||
|
val = 0x800;
|
||||||
|
else if (wdd->timeout < 3)
|
||||||
|
val = 0x420;
|
||||||
|
else if (wdd->timeout < 6)
|
||||||
|
val = 0x810;
|
||||||
|
else if (wdd->timeout < 11)
|
||||||
|
val = 0x430;
|
||||||
|
else if (wdd->timeout < 22)
|
||||||
|
val = 0x820;
|
||||||
|
else if (wdd->timeout < 44)
|
||||||
|
val = 0xC00;
|
||||||
|
else if (wdd->timeout < 87)
|
||||||
|
val = 0x830;
|
||||||
|
else if (wdd->timeout < 173)
|
||||||
|
val = 0xC10;
|
||||||
|
else if (wdd->timeout < 688)
|
||||||
|
val = 0xC20;
|
||||||
|
else
|
||||||
|
val = 0xC30;
|
||||||
|
|
||||||
|
val |= NPCM_WTRE | NPCM_WTE | NPCM_WTR | NPCM_WTIE;
|
||||||
|
|
||||||
|
writel(val, wdt->reg);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int npcm_wdt_stop(struct watchdog_device *wdd)
|
||||||
|
{
|
||||||
|
struct npcm_wdt *wdt = to_npcm_wdt(wdd);
|
||||||
|
|
||||||
|
writel(0, wdt->reg);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int npcm_wdt_set_timeout(struct watchdog_device *wdd,
|
||||||
|
unsigned int timeout)
|
||||||
|
{
|
||||||
|
if (timeout < 2)
|
||||||
|
wdd->timeout = 1;
|
||||||
|
else if (timeout < 3)
|
||||||
|
wdd->timeout = 2;
|
||||||
|
else if (timeout < 6)
|
||||||
|
wdd->timeout = 5;
|
||||||
|
else if (timeout < 11)
|
||||||
|
wdd->timeout = 10;
|
||||||
|
else if (timeout < 22)
|
||||||
|
wdd->timeout = 21;
|
||||||
|
else if (timeout < 44)
|
||||||
|
wdd->timeout = 43;
|
||||||
|
else if (timeout < 87)
|
||||||
|
wdd->timeout = 86;
|
||||||
|
else if (timeout < 173)
|
||||||
|
wdd->timeout = 172;
|
||||||
|
else if (timeout < 688)
|
||||||
|
wdd->timeout = 687;
|
||||||
|
else
|
||||||
|
wdd->timeout = 2750;
|
||||||
|
|
||||||
|
if (watchdog_active(wdd))
|
||||||
|
npcm_wdt_start(wdd);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static irqreturn_t npcm_wdt_interrupt(int irq, void *data)
|
||||||
|
{
|
||||||
|
struct npcm_wdt *wdt = data;
|
||||||
|
|
||||||
|
watchdog_notify_pretimeout(&wdt->wdd);
|
||||||
|
|
||||||
|
return IRQ_HANDLED;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int npcm_wdt_restart(struct watchdog_device *wdd,
|
||||||
|
unsigned long action, void *data)
|
||||||
|
{
|
||||||
|
struct npcm_wdt *wdt = to_npcm_wdt(wdd);
|
||||||
|
|
||||||
|
writel(NPCM_WTR | NPCM_WTRE | NPCM_WTE, wdt->reg);
|
||||||
|
udelay(1000);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool npcm_is_running(struct watchdog_device *wdd)
|
||||||
|
{
|
||||||
|
struct npcm_wdt *wdt = to_npcm_wdt(wdd);
|
||||||
|
|
||||||
|
return readl(wdt->reg) & NPCM_WTE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct watchdog_info npcm_wdt_info = {
|
||||||
|
.identity = KBUILD_MODNAME,
|
||||||
|
.options = WDIOF_SETTIMEOUT
|
||||||
|
| WDIOF_KEEPALIVEPING
|
||||||
|
| WDIOF_MAGICCLOSE,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct watchdog_ops npcm_wdt_ops = {
|
||||||
|
.owner = THIS_MODULE,
|
||||||
|
.start = npcm_wdt_start,
|
||||||
|
.stop = npcm_wdt_stop,
|
||||||
|
.ping = npcm_wdt_ping,
|
||||||
|
.set_timeout = npcm_wdt_set_timeout,
|
||||||
|
.restart = npcm_wdt_restart,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int npcm_wdt_probe(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
struct device *dev = &pdev->dev;
|
||||||
|
struct npcm_wdt *wdt;
|
||||||
|
struct resource *res;
|
||||||
|
int irq;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
|
||||||
|
if (!wdt)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
|
wdt->reg = devm_ioremap_resource(dev, res);
|
||||||
|
if (IS_ERR(wdt->reg))
|
||||||
|
return PTR_ERR(wdt->reg);
|
||||||
|
|
||||||
|
irq = platform_get_irq(pdev, 0);
|
||||||
|
if (irq < 0)
|
||||||
|
return irq;
|
||||||
|
|
||||||
|
wdt->wdd.info = &npcm_wdt_info;
|
||||||
|
wdt->wdd.ops = &npcm_wdt_ops;
|
||||||
|
wdt->wdd.min_timeout = 1;
|
||||||
|
wdt->wdd.max_timeout = 2750;
|
||||||
|
wdt->wdd.parent = dev;
|
||||||
|
|
||||||
|
wdt->wdd.timeout = 86;
|
||||||
|
watchdog_init_timeout(&wdt->wdd, 0, dev);
|
||||||
|
|
||||||
|
/* Ensure timeout is able to be represented by the hardware */
|
||||||
|
npcm_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout);
|
||||||
|
|
||||||
|
if (npcm_is_running(&wdt->wdd)) {
|
||||||
|
/* Restart with the default or device-tree specified timeout */
|
||||||
|
npcm_wdt_start(&wdt->wdd);
|
||||||
|
set_bit(WDOG_HW_RUNNING, &wdt->wdd.status);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = devm_request_irq(dev, irq, npcm_wdt_interrupt, 0,
|
||||||
|
"watchdog", wdt);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = devm_watchdog_register_device(dev, &wdt->wdd);
|
||||||
|
if (ret) {
|
||||||
|
dev_err(dev, "failed to register watchdog\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
dev_info(dev, "NPCM watchdog driver enabled\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_OF
|
||||||
|
static const struct of_device_id npcm_wdt_match[] = {
|
||||||
|
{.compatible = "nuvoton,npcm750-wdt"},
|
||||||
|
{},
|
||||||
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, npcm_wdt_match);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static struct platform_driver npcm_wdt_driver = {
|
||||||
|
.probe = npcm_wdt_probe,
|
||||||
|
.driver = {
|
||||||
|
.name = "npcm-wdt",
|
||||||
|
.of_match_table = of_match_ptr(npcm_wdt_match),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
module_platform_driver(npcm_wdt_driver);
|
||||||
|
|
||||||
|
MODULE_AUTHOR("Joel Stanley");
|
||||||
|
MODULE_DESCRIPTION("Watchdog driver for NPCM");
|
||||||
|
MODULE_LICENSE("GPL v2");
|
@ -1,13 +1,9 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog Device Driver for Xilinx axi/xps_timebase_wdt
|
* Watchdog Device Driver for Xilinx axi/xps_timebase_wdt
|
||||||
*
|
*
|
||||||
* (C) Copyright 2013 - 2014 Xilinx, Inc.
|
* (C) Copyright 2013 - 2014 Xilinx, Inc.
|
||||||
* (C) Copyright 2011 (Alejandro Cabrera <aldaya@gmail.com>)
|
* (C) Copyright 2011 (Alejandro Cabrera <aldaya@gmail.com>)
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
@ -323,4 +319,4 @@ module_platform_driver(xwdt_driver);
|
|||||||
|
|
||||||
MODULE_AUTHOR("Alejandro Cabrera <aldaya@gmail.com>");
|
MODULE_AUTHOR("Alejandro Cabrera <aldaya@gmail.com>");
|
||||||
MODULE_DESCRIPTION("Xilinx Watchdog driver");
|
MODULE_DESCRIPTION("Xilinx Watchdog driver");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL");
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* ST's LPC Watchdog
|
* ST's LPC Watchdog
|
||||||
*
|
*
|
||||||
@ -5,11 +6,6 @@
|
|||||||
*
|
*
|
||||||
* Author: David Paris <david.paris@st.com> for STMicroelectronics
|
* Author: David Paris <david.paris@st.com> for STMicroelectronics
|
||||||
* Lee Jones <lee.jones@linaro.org> for STMicroelectronics
|
* Lee Jones <lee.jones@linaro.org> for STMicroelectronics
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public Licence
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the Licence, or (at your option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015 Mans Rullgard <mans@mansr.com>
|
* Copyright (C) 2015 Mans Rullgard <mans@mansr.com>
|
||||||
* SMP86xx/SMP87xx Watchdog driver
|
* SMP86xx/SMP87xx Watchdog driver
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
* option) any later version.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
|
@ -1,14 +1,6 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
|
* Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms and conditions of the GNU General Public License,
|
|
||||||
* version 2, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
||||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
||||||
* more details.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
@ -1,18 +1,10 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for the UniPhier watchdog timer
|
* Watchdog driver for the UniPhier watchdog timer
|
||||||
*
|
*
|
||||||
* (c) Copyright 2014 Panasonic Corporation
|
* (c) Copyright 2014 Panasonic Corporation
|
||||||
* (c) Copyright 2016 Socionext Inc.
|
* (c) Copyright 2016 Socionext Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
|
||||||
* 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 distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for the wm831x PMICs
|
* Watchdog driver for the wm831x PMICs
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Wolfson Microelectronics
|
* Copyright (C) 2009 Wolfson Microelectronics
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0+
|
||||||
/*
|
/*
|
||||||
* Watchdog driver for the wm8350
|
* Watchdog driver for the wm8350
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007, 2008 Wolfson Microelectronics <linux@wolfsonmicro.com>
|
* Copyright (C) 2007, 2008 Wolfson Microelectronics <linux@wolfsonmicro.com>
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
Loading…
Reference in New Issue
Block a user