Lines Matching defs:pcwd_private

189 } pcwd_private;
229 outb_p(control_status, pcwd_private.io_addr + 2);
232 port0 = inb_p(pcwd_private.io_addr);
235 port0 = inb_p(pcwd_private.io_addr);
255 spin_lock(&pcwd_private.io_lock);
263 outb_p(0x00, pcwd_private.io_addr + 2);
265 outb_p(0x00, pcwd_private.io_addr + 2);
270 spin_unlock(&pcwd_private.io_lock);
271 pcwd_private.command_mode = found;
274 pr_debug("command_mode=%d\n", pcwd_private.command_mode);
282 spin_lock(&pcwd_private.io_lock);
283 outb_p(0x00, pcwd_private.io_addr + 2);
285 spin_unlock(&pcwd_private.io_lock);
287 pcwd_private.command_mode = 0;
290 pr_debug("command_mode=%d\n", pcwd_private.command_mode);
295 if (inb(pcwd_private.io_addr) != 0xF0)
296 pcwd_private.supports_temp = 1;
303 strcpy(pcwd_private.fw_ver_str, "ERROR");
310 sprintf(pcwd_private.fw_ver_str, "%c.%c%c%c",
336 if (pcwd_private.revision == PCWD_REVISION_A)
338 pcwd_private.io_addr);
339 else if (pcwd_private.revision == PCWD_REVISION_C) {
342 pcwd_private.io_addr, pcwd_private.fw_ver_str);
356 if (pcwd_private.supports_temp)
359 if (pcwd_private.boot_status & WDIOF_CARDRESET)
362 if (pcwd_private.boot_status & WDIOF_OVERHEAT) {
367 if (pcwd_private.boot_status == 0)
377 if (time_before(jiffies, pcwd_private.next_heartbeat)) {
379 spin_lock(&pcwd_private.io_lock);
380 if (pcwd_private.revision == PCWD_REVISION_A) {
383 wdrst_stat = inb_p(pcwd_private.io_addr);
387 outb_p(wdrst_stat, pcwd_private.io_addr + 1);
390 outb_p(0x00, pcwd_private.io_addr);
394 mod_timer(&pcwd_private.timer, jiffies + WDT_INTERVAL);
396 spin_unlock(&pcwd_private.io_lock);
406 pcwd_private.next_heartbeat = jiffies + (heartbeat * HZ);
409 mod_timer(&pcwd_private.timer, jiffies + WDT_INTERVAL);
412 if (pcwd_private.revision == PCWD_REVISION_C) {
413 spin_lock(&pcwd_private.io_lock);
414 outb_p(0x00, pcwd_private.io_addr + 3);
416 stat_reg = inb_p(pcwd_private.io_addr + 2);
417 spin_unlock(&pcwd_private.io_lock);
435 del_timer(&pcwd_private.timer);
438 if (pcwd_private.revision == PCWD_REVISION_C) {
439 spin_lock(&pcwd_private.io_lock);
440 outb_p(0xA5, pcwd_private.io_addr + 3);
442 outb_p(0xA5, pcwd_private.io_addr + 3);
444 stat_reg = inb_p(pcwd_private.io_addr + 2);
445 spin_unlock(&pcwd_private.io_lock);
461 pcwd_private.next_heartbeat = jiffies + (heartbeat * HZ);
487 spin_lock(&pcwd_private.io_lock);
488 if (pcwd_private.revision == PCWD_REVISION_A)
492 control_status = inb(pcwd_private.io_addr);
499 control_status = inb(pcwd_private.io_addr + 1);
501 spin_unlock(&pcwd_private.io_lock);
503 if (pcwd_private.revision == PCWD_REVISION_A) {
534 if (pcwd_private.revision == PCWD_REVISION_C) {
535 spin_lock(&pcwd_private.io_lock);
540 control_status = inb_p(pcwd_private.io_addr + 1);
550 pcwd_private.io_addr + 1);
552 spin_unlock(&pcwd_private.io_lock);
560 if (pcwd_private.command_mode)
564 if (!pcwd_private.supports_temp)
571 spin_lock(&pcwd_private.io_lock);
572 *temperature = ((inb(pcwd_private.io_addr)) * 9 / 5) + 32;
573 spin_unlock(&pcwd_private.io_lock);
614 return put_user(pcwd_private.boot_status, argp);
623 if (pcwd_private.revision == PCWD_REVISION_C) {
735 if (!pcwd_private.supports_temp)
788 spin_lock(&pcwd_private.io_lock);
791 if ((inb(pcwd_private.io_addr + 2) == 0xFF) ||
792 (inb(pcwd_private.io_addr + 3) == 0xFF))
794 spin_unlock(&pcwd_private.io_lock);
872 pcwd_private.io_addr = pcwd_ioports[id];
874 spin_lock_init(&pcwd_private.io_lock);
877 pcwd_private.revision = get_revision();
879 if (!request_region(pcwd_private.io_addr,
880 (pcwd_private.revision == PCWD_REVISION_A) ? 2 : 4, "PCWD")) {
882 pcwd_private.io_addr);
888 pcwd_private.supports_temp = 0;
890 pcwd_private.boot_status = 0x0000;
893 pcwd_get_status(&pcwd_private.boot_status);
898 timer_setup(&pcwd_private.timer, pcwd_timer_ping, 0);
921 if (pcwd_private.supports_temp) {
943 if (pcwd_private.supports_temp)
946 release_region(pcwd_private.io_addr,
947 (pcwd_private.revision == PCWD_REVISION_A) ? 2 : 4);
949 pcwd_private.io_addr = 0x0000;
959 if (!pcwd_private.io_addr)
968 if (pcwd_private.supports_temp)
970 release_region(pcwd_private.io_addr,
971 (pcwd_private.revision == PCWD_REVISION_A) ? 2 : 4);
972 pcwd_private.io_addr = 0x0000;