Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge git://www.linux-watchdog.org/linux-watchdog

Pull watchdog fixes from Wim Van Sebroeck:
"This fixes some small errors in the new da9055 driver, eliminates a
compiler warning and adds DT support for the twl4030_wdt driver (so
that we can have multiple watchdogs with DT on the omap platforms)."

* git://www.linux-watchdog.org/linux-watchdog:
watchdog: twl4030_wdt: add DT support
watchdog: omap_wdt: eliminate unused variable and a compiler warning
watchdog: da9055: Don't update wdt_dev->timeout in da9055_wdt_set_timeout error path
watchdog: da9055: Fix invalid free of devm_ allocated data

+29 -14
+10
Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt
··· 1 + Device tree bindings for twl4030-wdt driver (TWL4030 watchdog) 2 + 3 + Required properties: 4 + compatible = "ti,twl4030-wdt"; 5 + 6 + Example: 7 + 8 + watchdog { 9 + compatible = "ti,twl4030-wdt"; 10 + };
+4
arch/arm/boot/dts/twl4030.dtsi
··· 19 19 interrupts = <11>; 20 20 }; 21 21 22 + watchdog { 23 + compatible = "ti,twl4030-wdt"; 24 + }; 25 + 22 26 vdac: regulator-vdac { 23 27 compatible = "ti,twl4030-vdac"; 24 28 regulator-min-microvolt = <1800000>;
+6 -11
drivers/watchdog/da9055_wdt.c
··· 72 72 DA9055_TWDSCALE_MASK, 73 73 da9055_wdt_maps[i].reg_val << 74 74 DA9055_TWDSCALE_SHIFT); 75 - if (ret < 0) 75 + if (ret < 0) { 76 76 dev_err(da9055->dev, 77 77 "Failed to update timescale bit, %d\n", ret); 78 + return ret; 79 + } 78 80 79 81 wdt_dev->timeout = timeout; 80 82 81 - return ret; 83 + return 0; 82 84 } 83 85 84 86 static int da9055_wdt_ping(struct watchdog_device *wdt_dev) 85 87 { 86 88 struct da9055_wdt_data *driver_data = watchdog_get_drvdata(wdt_dev); 87 89 struct da9055 *da9055 = driver_data->da9055; 88 - int ret; 89 90 90 91 /* 91 92 * We have a minimum time for watchdog window called TWDMIN. A write ··· 95 94 mdelay(DA9055_TWDMIN); 96 95 97 96 /* Reset the watchdog timer */ 98 - ret = da9055_reg_update(da9055, DA9055_REG_CONTROL_E, 99 - DA9055_WATCHDOG_MASK, 1); 100 - 101 - return ret; 97 + return da9055_reg_update(da9055, DA9055_REG_CONTROL_E, 98 + DA9055_WATCHDOG_MASK, 1); 102 99 } 103 100 104 101 static void da9055_wdt_release_resources(struct kref *r) 105 102 { 106 - struct da9055_wdt_data *driver_data = 107 - container_of(r, struct da9055_wdt_data, kref); 108 - 109 - kfree(driver_data); 110 103 } 111 104 112 105 static void da9055_wdt_ref(struct watchdog_device *wdt_dev)
-1
drivers/watchdog/omap_wdt.c
··· 296 296 { 297 297 struct watchdog_device *wdog = platform_get_drvdata(pdev); 298 298 struct omap_wdt_dev *wdev = watchdog_get_drvdata(wdog); 299 - struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 300 299 301 300 pm_runtime_disable(wdev->dev); 302 301 watchdog_unregister_device(wdog);
+9 -2
drivers/watchdog/twl4030_wdt.c
··· 131 131 #define twl4030_wdt_resume NULL 132 132 #endif 133 133 134 + static const struct of_device_id twl_wdt_of_match[] = { 135 + { .compatible = "ti,twl4030-wdt", }, 136 + { }, 137 + }; 138 + MODULE_DEVICE_TABLE(of, twl_wdt_of_match); 139 + 134 140 static struct platform_driver twl4030_wdt_driver = { 135 141 .probe = twl4030_wdt_probe, 136 142 .remove = twl4030_wdt_remove, 137 143 .suspend = twl4030_wdt_suspend, 138 144 .resume = twl4030_wdt_resume, 139 145 .driver = { 140 - .owner = THIS_MODULE, 141 - .name = "twl4030_wdt", 146 + .owner = THIS_MODULE, 147 + .name = "twl4030_wdt", 148 + .of_match_table = twl_wdt_of_match, 142 149 }, 143 150 }; 144 151