X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/a57ea1353c0fe6bc97905079c2896edb6941da66..4916a0ea0e56d8521767f47bba71d9b5ccb4c51a:/target/linux/omap24xx/patches-2.6.38/535-cbus-retu-wdt-cleanup.patch diff --git a/target/linux/omap24xx/patches-2.6.38/535-cbus-retu-wdt-cleanup.patch b/target/linux/omap24xx/patches-2.6.38/535-cbus-retu-wdt-cleanup.patch index 4b650686f..05bcc918a 100644 --- a/target/linux/omap24xx/patches-2.6.38/535-cbus-retu-wdt-cleanup.patch +++ b/target/linux/omap24xx/patches-2.6.38/535-cbus-retu-wdt-cleanup.patch @@ -1,73 +1,6 @@ -Index: linux-2.6.38-rc6/drivers/cbus/retu-wdt.c -=================================================================== ---- linux-2.6.38-rc6.orig/drivers/cbus/retu-wdt.c 2011-03-02 16:49:51.231863891 +0100 -+++ linux-2.6.38-rc6/drivers/cbus/retu-wdt.c 2011-03-02 16:53:47.189454637 +0100 -@@ -52,7 +52,6 @@ static DEFINE_MUTEX(retu_wdt_mutex); - - /* Current period of watchdog */ - static unsigned int period_val = RETU_WDT_DEFAULT_TIMER; --static int counter_param = RETU_WDT_MAX_TIMER; - - struct retu_wdt_dev { - struct device *dev; -@@ -109,56 +108,6 @@ static void retu_wdt_ping_work(struct wo - retu_wdt_ping_enable(wdev); - } - --static ssize_t retu_wdt_period_show(struct device *dev, -- struct device_attribute *attr, char *buf) --{ -- /* Show current max counter */ -- return sprintf(buf, "%u\n", (u16)period_val); --} -- --/* -- * Note: This inteface is non-standard and likely to disappear! -- * Use /dev/watchdog instead, that's the standard. -- */ --static ssize_t retu_wdt_period_store(struct device *dev, -- struct device_attribute *attr, -- const char *buf, size_t count) --{ -- unsigned int new_period; -- int ret; -- --#ifdef CONFIG_WATCHDOG_NOWAYOUT -- retu_wdt_ping_disable(retu_wdt); --#endif -- -- if (sscanf(buf, "%u", &new_period) != 1) { -- printk(KERN_ALERT "retu_wdt_period_store: Invalid input\n"); -- return -EINVAL; -- } -- -- ret = retu_modify_counter(new_period); -- if (ret < 0) -- return ret; -- -- return strnlen(buf, count); --} -- --static ssize_t retu_wdt_counter_show(struct device *dev, -- struct device_attribute *attr, char *buf) --{ -- u16 counter; -- -- /* Show current value in watchdog counter */ -- counter = retu_read_reg(dev, RETU_REG_WATCHDOG); -- -- /* Only the 5 LSB are important */ -- return snprintf(buf, PAGE_SIZE, "%u\n", (counter & 0x3F)); --} -- --static DEVICE_ATTR(period, S_IRUGO | S_IWUSR, retu_wdt_period_show, \ -- retu_wdt_period_store); --static DEVICE_ATTR(counter, S_IRUGO, retu_wdt_counter_show, NULL); -- - static int retu_wdt_open(struct inode *inode, struct file *file) - { - if (test_and_set_bit(0, &retu_wdt->users)) -@@ -175,9 +124,9 @@ static int retu_wdt_release(struct inode +--- a/drivers/cbus/retu-wdt.c ++++ b/drivers/cbus/retu-wdt.c +@@ -124,9 +124,9 @@ static int retu_wdt_release(struct inode struct retu_wdt_dev *wdev = file->private_data; #ifndef CONFIG_WATCHDOG_NOWAYOUT @@ -79,116 +12,3 @@ Index: linux-2.6.38-rc6/drivers/cbus/retu-wdt.c return 0; } -@@ -232,18 +181,6 @@ static long retu_wdt_ioctl(struct file * - return 0; - } - --/* Start kicking retu watchdog until user space starts doing the kicking */ --static int __devinit retu_wdt_ping(void) --{ --#ifdef CONFIG_WATCHDOG_NOWAYOUT -- retu_modify_counter(RETU_WDT_MAX_TIMER); --#else -- retu_wdt_ping_enable(retu_wdt); --#endif -- -- return 0; --} -- - static const struct file_operations retu_wdt_fops = { - .owner = THIS_MODULE, - .write = retu_wdt_write, -@@ -252,8 +189,6 @@ static const struct file_operations retu - .release = retu_wdt_release, - }; - --/*----------------------------------------------------------------------------*/ -- - static int __init retu_wdt_probe(struct platform_device *pdev) - { - struct retu_wdt_dev *wdev; -@@ -265,18 +200,6 @@ static int __init retu_wdt_probe(struct - - wdev->dev = &pdev->dev; - -- ret = device_create_file(&pdev->dev, &dev_attr_period); -- if (ret) { -- dev_err(&pdev->dev, "Error creating sysfs period\n"); -- goto free1; -- } -- -- ret = device_create_file(&pdev->dev, &dev_attr_counter); -- if (ret) { -- dev_err(&pdev->dev, "Error creating sysfs counter\n"); -- goto free2; -- } -- - platform_set_drvdata(pdev, wdev); - retu_wdt = wdev; - wdev->retu_wdt_miscdev.parent = &pdev->dev; -@@ -286,38 +209,21 @@ static int __init retu_wdt_probe(struct - - ret = misc_register(&(wdev->retu_wdt_miscdev)); - if (ret) -- goto free3; -+ goto err_free_wdev; - - INIT_DELAYED_WORK(&wdev->ping_work, retu_wdt_ping_work); - -- /* passed as module parameter? */ -- ret = retu_modify_counter(counter_param); -- if (ret == -EINVAL) { -- ret = retu_modify_counter(RETU_WDT_DEFAULT_TIMER); -- dev_dbg(&pdev->dev, "Initializing to default value\n"); -- } -- -- /* Kick the watchdog for kernel booting to finish */ -+ /* Kick the watchdog for kernel booting to finish. -+ * If nowayout is not set, we start the ping work. */ -+#ifdef CONFIG_WATCHDOG_NOWAYOUT - retu_modify_counter(RETU_WDT_MAX_TIMER); -- -- ret = retu_wdt_ping(); -- if (ret < 0) { -- dev_err(&pdev->dev, "Failed to ping\n"); -- goto free4; -- } -+#else -+ retu_wdt_ping_enable(retu_wdt); -+#endif - - return 0; - --free4: -- misc_deregister(&wdev->retu_wdt_miscdev); -- --free3: -- device_remove_file(&pdev->dev, &dev_attr_counter); -- --free2: -- device_remove_file(&pdev->dev, &dev_attr_period); -- --free1: -+err_free_wdev: - kfree(wdev); - - return ret; -@@ -329,8 +235,6 @@ static int __devexit retu_wdt_remove(str - - wdev = platform_get_drvdata(pdev); - misc_deregister(&wdev->retu_wdt_miscdev); -- device_remove_file(&pdev->dev, &dev_attr_period); -- device_remove_file(&pdev->dev, &dev_attr_counter); - cancel_delayed_work_sync(&wdev->ping_work); - kfree(wdev); - -@@ -356,9 +260,7 @@ static void __exit retu_wdt_exit(void) - - module_init(retu_wdt_init); - module_exit(retu_wdt_exit); --module_param(counter_param, int, 0); - - MODULE_DESCRIPTION("Retu WatchDog"); - MODULE_AUTHOR("Amit Kucheria"); - MODULE_LICENSE("GPL"); --