534-cbus-retu-wdt-remove-unused-interfaces.patch 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. --- a/drivers/cbus/retu-wdt.c
  2. +++ b/drivers/cbus/retu-wdt.c
  3. @@ -52,7 +52,6 @@ static DEFINE_MUTEX(retu_wdt_mutex);
  4. /* Current period of watchdog */
  5. static unsigned int period_val = RETU_WDT_DEFAULT_TIMER;
  6. -static int counter_param = RETU_WDT_MAX_TIMER;
  7. struct retu_wdt_dev {
  8. struct device *dev;
  9. @@ -109,56 +108,6 @@ static void retu_wdt_ping_work(struct wo
  10. retu_wdt_ping_enable(wdev);
  11. }
  12. -static ssize_t retu_wdt_period_show(struct device *dev,
  13. - struct device_attribute *attr, char *buf)
  14. -{
  15. - /* Show current max counter */
  16. - return sprintf(buf, "%u\n", (u16)period_val);
  17. -}
  18. -
  19. -/*
  20. - * Note: This inteface is non-standard and likely to disappear!
  21. - * Use /dev/watchdog instead, that's the standard.
  22. - */
  23. -static ssize_t retu_wdt_period_store(struct device *dev,
  24. - struct device_attribute *attr,
  25. - const char *buf, size_t count)
  26. -{
  27. - unsigned int new_period;
  28. - int ret;
  29. -
  30. -#ifdef CONFIG_WATCHDOG_NOWAYOUT
  31. - retu_wdt_ping_disable(retu_wdt);
  32. -#endif
  33. -
  34. - if (sscanf(buf, "%u", &new_period) != 1) {
  35. - printk(KERN_ALERT "retu_wdt_period_store: Invalid input\n");
  36. - return -EINVAL;
  37. - }
  38. -
  39. - ret = retu_modify_counter(new_period);
  40. - if (ret < 0)
  41. - return ret;
  42. -
  43. - return strnlen(buf, count);
  44. -}
  45. -
  46. -static ssize_t retu_wdt_counter_show(struct device *dev,
  47. - struct device_attribute *attr, char *buf)
  48. -{
  49. - u16 counter;
  50. -
  51. - /* Show current value in watchdog counter */
  52. - counter = retu_read_reg(dev, RETU_REG_WATCHDOG);
  53. -
  54. - /* Only the 5 LSB are important */
  55. - return snprintf(buf, PAGE_SIZE, "%u\n", (counter & 0x3F));
  56. -}
  57. -
  58. -static DEVICE_ATTR(period, S_IRUGO | S_IWUSR, retu_wdt_period_show, \
  59. - retu_wdt_period_store);
  60. -static DEVICE_ATTR(counter, S_IRUGO, retu_wdt_counter_show, NULL);
  61. -
  62. static int retu_wdt_open(struct inode *inode, struct file *file)
  63. {
  64. if (test_and_set_bit(0, &retu_wdt->users))
  65. @@ -232,18 +181,6 @@ static long retu_wdt_ioctl(struct file *
  66. return 0;
  67. }
  68. -/* Start kicking retu watchdog until user space starts doing the kicking */
  69. -static int __devinit retu_wdt_ping(void)
  70. -{
  71. -#ifdef CONFIG_WATCHDOG_NOWAYOUT
  72. - retu_modify_counter(RETU_WDT_MAX_TIMER);
  73. -#else
  74. - retu_wdt_ping_enable(retu_wdt);
  75. -#endif
  76. -
  77. - return 0;
  78. -}
  79. -
  80. static const struct file_operations retu_wdt_fops = {
  81. .owner = THIS_MODULE,
  82. .write = retu_wdt_write,
  83. @@ -252,8 +189,6 @@ static const struct file_operations retu
  84. .release = retu_wdt_release,
  85. };
  86. -/*----------------------------------------------------------------------------*/
  87. -
  88. static int __init retu_wdt_probe(struct platform_device *pdev)
  89. {
  90. struct retu_wdt_dev *wdev;
  91. @@ -265,18 +200,6 @@ static int __init retu_wdt_probe(struct
  92. wdev->dev = &pdev->dev;
  93. - ret = device_create_file(&pdev->dev, &dev_attr_period);
  94. - if (ret) {
  95. - dev_err(&pdev->dev, "Error creating sysfs period\n");
  96. - goto free1;
  97. - }
  98. -
  99. - ret = device_create_file(&pdev->dev, &dev_attr_counter);
  100. - if (ret) {
  101. - dev_err(&pdev->dev, "Error creating sysfs counter\n");
  102. - goto free2;
  103. - }
  104. -
  105. platform_set_drvdata(pdev, wdev);
  106. retu_wdt = wdev;
  107. wdev->retu_wdt_miscdev.parent = &pdev->dev;
  108. @@ -286,38 +209,21 @@ static int __init retu_wdt_probe(struct
  109. ret = misc_register(&(wdev->retu_wdt_miscdev));
  110. if (ret)
  111. - goto free3;
  112. + goto err_free_wdev;
  113. INIT_DELAYED_WORK(&wdev->ping_work, retu_wdt_ping_work);
  114. - /* passed as module parameter? */
  115. - ret = retu_modify_counter(counter_param);
  116. - if (ret == -EINVAL) {
  117. - ret = retu_modify_counter(RETU_WDT_DEFAULT_TIMER);
  118. - dev_dbg(&pdev->dev, "Initializing to default value\n");
  119. - }
  120. -
  121. - /* Kick the watchdog for kernel booting to finish */
  122. + /* Kick the watchdog for kernel booting to finish.
  123. + * If nowayout is not set, we start the ping work. */
  124. +#ifdef CONFIG_WATCHDOG_NOWAYOUT
  125. retu_modify_counter(RETU_WDT_MAX_TIMER);
  126. -
  127. - ret = retu_wdt_ping();
  128. - if (ret < 0) {
  129. - dev_err(&pdev->dev, "Failed to ping\n");
  130. - goto free4;
  131. - }
  132. +#else
  133. + retu_wdt_ping_enable(retu_wdt);
  134. +#endif
  135. return 0;
  136. -free4:
  137. - misc_deregister(&wdev->retu_wdt_miscdev);
  138. -
  139. -free3:
  140. - device_remove_file(&pdev->dev, &dev_attr_counter);
  141. -
  142. -free2:
  143. - device_remove_file(&pdev->dev, &dev_attr_period);
  144. -
  145. -free1:
  146. +err_free_wdev:
  147. kfree(wdev);
  148. return ret;
  149. @@ -329,8 +235,6 @@ static int __devexit retu_wdt_remove(str
  150. wdev = platform_get_drvdata(pdev);
  151. misc_deregister(&wdev->retu_wdt_miscdev);
  152. - device_remove_file(&pdev->dev, &dev_attr_period);
  153. - device_remove_file(&pdev->dev, &dev_attr_counter);
  154. cancel_delayed_work_sync(&wdev->ping_work);
  155. kfree(wdev);
  156. @@ -356,9 +260,7 @@ static void __exit retu_wdt_exit(void)
  157. module_init(retu_wdt_init);
  158. module_exit(retu_wdt_exit);
  159. -module_param(counter_param, int, 0);
  160. MODULE_DESCRIPTION("Retu WatchDog");
  161. MODULE_AUTHOR("Amit Kucheria");
  162. MODULE_LICENSE("GPL");
  163. -