Lines Matching refs:ddata

75 static void mpc8xxx_wdt_keepalive(struct mpc8xxx_wdt_ddata *ddata)  in mpc8xxx_wdt_keepalive()  argument
78 spin_lock(&ddata->lock); in mpc8xxx_wdt_keepalive()
79 out_be16(&ddata->base->swsrr, 0x556c); in mpc8xxx_wdt_keepalive()
80 out_be16(&ddata->base->swsrr, 0xaa39); in mpc8xxx_wdt_keepalive()
81 spin_unlock(&ddata->lock); in mpc8xxx_wdt_keepalive()
86 struct mpc8xxx_wdt_ddata *ddata = (void *)arg; in mpc8xxx_wdt_timer_ping() local
88 mpc8xxx_wdt_keepalive(ddata); in mpc8xxx_wdt_timer_ping()
90 mod_timer(&ddata->timer, jiffies + HZ * ddata->wdd.timeout / 2); in mpc8xxx_wdt_timer_ping()
95 struct mpc8xxx_wdt_ddata *ddata = in mpc8xxx_wdt_start() local
106 out_be32(&ddata->base->swcrr, tmp); in mpc8xxx_wdt_start()
108 del_timer_sync(&ddata->timer); in mpc8xxx_wdt_start()
115 struct mpc8xxx_wdt_ddata *ddata = in mpc8xxx_wdt_ping() local
118 mpc8xxx_wdt_keepalive(ddata); in mpc8xxx_wdt_ping()
124 struct mpc8xxx_wdt_ddata *ddata = in mpc8xxx_wdt_stop() local
127 mod_timer(&ddata->timer, jiffies); in mpc8xxx_wdt_stop()
149 struct mpc8xxx_wdt_ddata *ddata; in mpc8xxx_wdt_probe() local
161 ddata = devm_kzalloc(&ofdev->dev, sizeof(*ddata), GFP_KERNEL); in mpc8xxx_wdt_probe()
162 if (!ddata) in mpc8xxx_wdt_probe()
166 ddata->base = devm_ioremap_resource(&ofdev->dev, res); in mpc8xxx_wdt_probe()
167 if (IS_ERR(ddata->base)) in mpc8xxx_wdt_probe()
168 return PTR_ERR(ddata->base); in mpc8xxx_wdt_probe()
170 enabled = in_be32(&ddata->base->swcrr) & SWCRR_SWEN; in mpc8xxx_wdt_probe()
176 spin_lock_init(&ddata->lock); in mpc8xxx_wdt_probe()
177 setup_timer(&ddata->timer, mpc8xxx_wdt_timer_ping, in mpc8xxx_wdt_probe()
178 (unsigned long)ddata); in mpc8xxx_wdt_probe()
180 ddata->wdd.info = &mpc8xxx_wdt_info, in mpc8xxx_wdt_probe()
181 ddata->wdd.ops = &mpc8xxx_wdt_ops, in mpc8xxx_wdt_probe()
186 ddata->wdd.timeout = timeout_sec; in mpc8xxx_wdt_probe()
188 watchdog_set_nowayout(&ddata->wdd, nowayout); in mpc8xxx_wdt_probe()
190 ret = watchdog_register_device(&ddata->wdd); in mpc8xxx_wdt_probe()
205 mod_timer(&ddata->timer, jiffies); in mpc8xxx_wdt_probe()
207 platform_set_drvdata(ofdev, ddata); in mpc8xxx_wdt_probe()
213 struct mpc8xxx_wdt_ddata *ddata = platform_get_drvdata(ofdev); in mpc8xxx_wdt_remove() local
217 del_timer_sync(&ddata->timer); in mpc8xxx_wdt_remove()
218 watchdog_unregister_device(&ddata->wdd); in mpc8xxx_wdt_remove()