Lines Matching refs:pw
102 struct pseries_wdt *pw = watchdog_get_drvdata(wdd);
107 flags = pw->action | PSERIES_WDTF_OP_START;
109 rc = plpar_hcall_norets(H_WATCHDOG, flags, pw->num, msecs);
112 rc, pw->num);
120 struct pseries_wdt *pw = watchdog_get_drvdata(wdd);
124 rc = plpar_hcall_norets(H_WATCHDOG, PSERIES_WDTF_OP_STOP, pw->num);
127 rc, pw->num);
148 struct pseries_wdt *pw;
160 pw = devm_kzalloc(&pdev->dev, sizeof(*pw), GFP_KERNEL);
161 if (!pw)
170 pw->num = 1;
171 if (PSERIES_WDTQ_MAX_NUMBER(cap) < pw->num)
176 pw->action = pseries_wdt_action[action];
178 pw->wd.parent = &pdev->dev;
179 pw->wd.info = &pseries_wdt_info;
180 pw->wd.ops = &pseries_wdt_ops;
182 pw->wd.min_timeout = DIV_ROUND_UP(msecs, MSEC_PER_SEC);
183 pw->wd.max_timeout = UINT_MAX / 1000; /* from linux/watchdog.h */
184 pw->wd.timeout = timeout;
185 if (watchdog_init_timeout(&pw->wd, 0, NULL))
187 watchdog_set_nowayout(&pw->wd, nowayout);
188 watchdog_stop_on_reboot(&pw->wd);
189 watchdog_stop_on_unregister(&pw->wd);
190 watchdog_set_drvdata(&pw->wd, pw);
192 err = devm_watchdog_register_device(&pdev->dev, &pw->wd);
196 platform_set_drvdata(pdev, &pw->wd);