Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8690d8a9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] i6300esb.c: start locking
  [WATCHDOG] i6300esb.c: convert to platform device driver
  [WATCHDOG] wdt.c: remove #ifdef CONFIG_WDT_501
  [WATCHDOG] Fix io.h & uaccess.h includes.
  [WATCHDOG] More coding-style and trivial clean-up
  [WATCHDOG] struct file_operations should be const
  [WATCHDOG] cpwd.c: Coding style - Clean-up
  [WATCHDOG] hpwdt.c: Add new HP BMC controller. 
  [PATCH 13/13] drivers/watchdog: use USB API functions rather than constants
  [WATCHDOG] orion5x_wdt: fix compile issue by providing tclk as platform data
  [WATCHDOG] rc32434_wdt: make sure watchdog is not running at startup
  [WATCHDOG] rc32434_wdt: add spin_locking
  [WATCHDOG] rc32434_wdt: add shutdown method
  [WATCHDOG] rc32434_wdt: add timeout module parameter
  [WATCHDOG] rc32434_wdt: clean-up driver
  [WATCHDOG] davinci: convert to ioremap() + io[read|write]
  [WATCHDOG] w83697ug: add error checking
  [WATCHDOG] cpwd.c & riowd.c - unlocked_ioctl
parents d3f12d36 3b9d49ee
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include <plat/ehci-orion.h>
#include <plat/mv_xor.h>
#include <plat/orion_nand.h>
#include <plat/orion5x_wdt.h>
#include <plat/time.h>
#include "common.h"

@@ -532,6 +533,29 @@ void __init orion5x_xor_init(void)
}


/*****************************************************************************
 * Watchdog
 ****************************************************************************/
static struct orion5x_wdt_platform_data orion5x_wdt_data = {
	.tclk			= 0,
};

static struct platform_device orion5x_wdt_device = {
	.name		= "orion5x_wdt",
	.id		= -1,
	.dev		= {
		.platform_data	= &orion5x_wdt_data,
	},
	.num_resources	= 0,
};

void __init orion5x_wdt_init(void)
{
	orion5x_wdt_data.tclk = orion5x_tclk;
	platform_device_register(&orion5x_wdt_device);
}


/*****************************************************************************
 * Time handling
 ****************************************************************************/
@@ -631,6 +655,11 @@ void __init orion5x_init(void)
		printk(KERN_INFO "Orion: Applying 5281 D0 WFI workaround.\n");
		disable_hlt();
	}

	/*
	 * Register watchdog driver
	 */
	orion5x_wdt_init();
}

/*
+18 −0
Original line number Diff line number Diff line
/*
 * arch/arm/plat-orion/include/plat/orion5x_wdt.h
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2. This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

#ifndef __PLAT_ORION5X_WDT_H
#define __PLAT_ORION5X_WDT_H

struct orion5x_wdt_platform_data {
	u32	tclk;		/* no <linux/clk.h> support yet */
};


#endif
+0 −15
Original line number Diff line number Diff line
@@ -940,21 +940,6 @@ config WDT
	  To compile this driver as a module, choose M here: the
	  module will be called wdt.

config WDT_501
	bool "WDT501 features"
	depends on WDT
	help
	  Saying Y here and creating a character special file /dev/temperature
	  with major number 10 and minor number 131 ("man mknod") will give
	  you a thermometer inside your computer: reading from
	  /dev/temperature yields one byte, the temperature in degrees
	  Fahrenheit. This works only if you have a WDT501P watchdog board
	  installed.

	  If you want to enable the Fan Tachometer on the WDT501P, then you
	  can do this via the tachometer parameter. Only do this if you have a
	  fan tachometer actually set up.

#
# PCI-based Watchdog Cards
#
+5 −2
Original line number Diff line number Diff line
@@ -138,7 +138,9 @@ static long advwdt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
	void __user *argp = (void __user *)arg;
	int __user *p = argp;
	static struct watchdog_info ident = {
		.options = WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT | WDIOF_MAGICCLOSE,
		.options = WDIOF_KEEPALIVEPING |
			   WDIOF_SETTIMEOUT |
			   WDIOF_MAGICCLOSE,
		.firmware_version = 1,
		.identity = WATCHDOG_NAME,
	};
@@ -259,7 +261,8 @@ static int __devinit advwdt_probe(struct platform_device *dev)
		goto unreg_stop;
	}

	/* Check that the heartbeat value is within it's range ; if not reset to the default */
	/* Check that the heartbeat value is within it's range ;
	 * if not reset to the default */
	if (advwdt_set_heartbeat(timeout)) {
		advwdt_set_heartbeat(WATCHDOG_TIMEOUT);
		printk(KERN_INFO PFX
+4 −2
Original line number Diff line number Diff line
@@ -355,7 +355,8 @@ static int __init alim7101_wdt_init(void)
	alim7101_pmu = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101,
		NULL);
	if (!alim7101_pmu) {
		printk(KERN_INFO PFX "ALi M7101 PMU not present - WDT not set\n");
		printk(KERN_INFO PFX
			"ALi M7101 PMU not present - WDT not set\n");
		return -EBUSY;
	}

@@ -399,7 +400,8 @@ static int __init alim7101_wdt_init(void)

	rc = misc_register(&wdt_miscdev);
	if (rc) {
		printk(KERN_ERR PFX "cannot register miscdev on minor=%d (err=%d)\n",
		printk(KERN_ERR PFX
			"cannot register miscdev on minor=%d (err=%d)\n",
			wdt_miscdev.minor, rc);
		goto err_out_reboot;
	}
Loading