-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
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");
--