mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
* master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] pcwd_usb.c generic HID include file [WATCHDOG] watchdog miscdevice patch [WATCHDOG] rm9k_wdt: fix interrupt handler arguments [WATCHDOG] rm9k_wdt: fix compilation
This commit is contained in:
commit
d9405057c1
5 changed files with 28 additions and 31 deletions
|
@ -203,9 +203,9 @@ static int __init at91wdt_probe(struct platform_device *pdev)
|
|||
{
|
||||
int res;
|
||||
|
||||
if (at91wdt_miscdev.dev)
|
||||
if (at91wdt_miscdev.parent)
|
||||
return -EBUSY;
|
||||
at91wdt_miscdev.dev = &pdev->dev;
|
||||
at91wdt_miscdev.parent = &pdev->dev;
|
||||
|
||||
res = misc_register(&at91wdt_miscdev);
|
||||
if (res)
|
||||
|
@ -221,7 +221,7 @@ static int __exit at91wdt_remove(struct platform_device *pdev)
|
|||
|
||||
res = misc_deregister(&at91wdt_miscdev);
|
||||
if (!res)
|
||||
at91wdt_miscdev.dev = NULL;
|
||||
at91wdt_miscdev.parent = NULL;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
|
|
@ -347,7 +347,7 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev)
|
|||
goto err_free;
|
||||
}
|
||||
|
||||
mpcore_wdt_miscdev.dev = &dev->dev;
|
||||
mpcore_wdt_miscdev.parent = &dev->dev;
|
||||
ret = misc_register(&mpcore_wdt_miscdev);
|
||||
if (ret) {
|
||||
dev_printk(KERN_ERR, _dev, "cannot register miscdev on minor=%d (err=%d)\n",
|
||||
|
|
|
@ -290,7 +290,7 @@ static int __init omap_wdt_probe(struct platform_device *pdev)
|
|||
omap_wdt_disable();
|
||||
omap_wdt_adjust_timeout(timer_margin);
|
||||
|
||||
omap_wdt_miscdev.dev = &pdev->dev;
|
||||
omap_wdt_miscdev.parent = &pdev->dev;
|
||||
ret = misc_register(&omap_wdt_miscdev);
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include <asm/uaccess.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/hid.h> /* For HID_REQ_SET_REPORT & HID_DT_REPORT */
|
||||
|
||||
|
||||
#ifdef CONFIG_USB_DEBUG
|
||||
|
@ -109,10 +110,6 @@ MODULE_DEVICE_TABLE (usb, usb_pcwd_table);
|
|||
#define CMD_ENABLE_WATCHDOG 0x30 /* Enable / Disable Watchdog */
|
||||
#define CMD_DISABLE_WATCHDOG CMD_ENABLE_WATCHDOG
|
||||
|
||||
/* Some defines that I like to be somewhere else like include/linux/usb_hid.h */
|
||||
#define HID_REQ_SET_REPORT 0x09
|
||||
#define HID_DT_REPORT (USB_TYPE_CLASS | 0x02)
|
||||
|
||||
/* We can only use 1 card due to the /dev/watchdog restriction */
|
||||
static int cards_found;
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
|
||||
/* Function prototypes */
|
||||
static irqreturn_t wdt_gpi_irqhdl(int, void *, struct pt_regs *);
|
||||
static irqreturn_t wdt_gpi_irqhdl(int, void *);
|
||||
static void wdt_gpi_start(void);
|
||||
static void wdt_gpi_stop(void);
|
||||
static void wdt_gpi_set_timeout(unsigned int);
|
||||
|
@ -94,8 +94,28 @@ module_param(nowayout, bool, 0444);
|
|||
MODULE_PARM_DESC(nowayout, "Watchdog cannot be disabled once started");
|
||||
|
||||
|
||||
/* Kernel interfaces */
|
||||
static struct file_operations fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = wdt_gpi_open,
|
||||
.release = wdt_gpi_release,
|
||||
.write = wdt_gpi_write,
|
||||
.unlocked_ioctl = wdt_gpi_ioctl,
|
||||
};
|
||||
|
||||
static struct miscdevice miscdev = {
|
||||
.minor = WATCHDOG_MINOR,
|
||||
.name = wdt_gpi_name,
|
||||
.fops = &fops,
|
||||
};
|
||||
|
||||
static struct notifier_block wdt_gpi_shutdown = {
|
||||
.notifier_call = wdt_gpi_notify,
|
||||
};
|
||||
|
||||
|
||||
/* Interrupt handler */
|
||||
static irqreturn_t wdt_gpi_irqhdl(int irq, void *ctxt, struct pt_regs *regs)
|
||||
static irqreturn_t wdt_gpi_irqhdl(int irq, void *ctxt)
|
||||
{
|
||||
if (!unlikely(__raw_readl(wd_regs + 0x0008) & 0x1))
|
||||
return IRQ_NONE;
|
||||
|
@ -312,26 +332,6 @@ wdt_gpi_notify(struct notifier_block *this, unsigned long code, void *unused)
|
|||
}
|
||||
|
||||
|
||||
/* Kernel interfaces */
|
||||
static struct file_operations fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = wdt_gpi_open,
|
||||
.release = wdt_gpi_release,
|
||||
.write = wdt_gpi_write,
|
||||
.unlocked_ioctl = wdt_gpi_ioctl,
|
||||
};
|
||||
|
||||
static struct miscdevice miscdev = {
|
||||
.minor = WATCHDOG_MINOR,
|
||||
.name = wdt_gpi_name,
|
||||
.fops = &fops,
|
||||
};
|
||||
|
||||
static struct notifier_block wdt_gpi_shutdown = {
|
||||
.notifier_call = wdt_gpi_notify,
|
||||
};
|
||||
|
||||
|
||||
/* Init & exit procedures */
|
||||
static const struct resource *
|
||||
wdt_gpi_get_resource(struct platform_device *pdv, const char *name,
|
||||
|
|
Loading…
Reference in a new issue