Lines Matching refs:call

40  *    0.9: only call bios if bios is present, Linux 1.3.72
58 * across BIOS call).
246 * [no-]broken[-_]psr BIOS has a broken GetPowerStatus call
280 * Define as 1 to make the driver always call the APM BIOS busy
515 * DS can be zeroed before the call. Unfortunately, we can't do anything
575 * __apm_bios_call - Make an APM BIOS 32bit call
578 * Make an APM call using the 32bit protected mode interface. The
580 * enabled. This call can disable interrupts for a long period of
586 * Note: this makes the call on the current CPU.
595 struct apm_bios_call *call = _call;
608 apm_bios_call_asm(call->func, call->ebx, call->ecx,
609 &call->eax, &call->ebx, &call->ecx, &call->edx,
610 &call->esi);
618 return call->eax & 0xff;
622 static int on_cpu0(long (*fn)(void *), struct apm_bios_call *call)
629 ret = fn(call);
633 ret = work_on_cpu(0, fn, call);
638 call->err = ret;
640 call->err = (call->eax >> 8) & 0xff;
646 * apm_bios_call - Make an APM BIOS 32bit call (on CPU 0)
647 * @call: the apm_bios_call registers.
649 * If there is an error, it is returned in @call.err.
651 static int apm_bios_call(struct apm_bios_call *call)
653 return on_cpu0(__apm_bios_call, call);
657 * __apm_bios_call_simple - Make an APM BIOS 32bit call (on CPU 0)
660 * Make a BIOS call that returns one value only, or just status.
664 * This call may hold interrupts off for a long time on some laptops.
666 * Note: this makes the call on the current CPU.
676 struct apm_bios_call *call = _call;
689 error = apm_bios_call_simple_asm(call->func, call->ebx, call->ecx,
690 &call->eax);
701 * apm_bios_call_simple - make a simple APM BIOS 32bit call
703 * @ebx_in: EBX register value for BIOS call
704 * @ecx_in: ECX register value for BIOS call
705 * @eax: EAX register on return from the BIOS call
708 * Make a BIOS call that returns one value only, or just status.
711 * BIOS operations. This call may hold interrupts off for a long
717 struct apm_bios_call call;
720 call.func = func;
721 call.ebx = ebx_in;
722 call.ecx = ecx_in;
724 ret = on_cpu0(__apm_bios_call_simple, &call);
725 *eax = call.eax;
726 *err = call.err;
775 struct apm_bios_call call;
777 call.func = APM_FUNC_GET_EVENT;
778 call.ebx = call.ecx = 0;
780 if (apm_bios_call(&call))
781 return call.err;
783 *event = call.ebx;
787 *info = call.ecx;
886 * the CPU for some time, we want to call BIOS
977 * the SMP call on CPU0 as some systems will only honour this call
1035 struct apm_bios_call call;
1037 call.func = APM_FUNC_GET_STATUS;
1038 call.ebx = APM_DEVICE_ALL;
1039 call.ecx = 0;
1043 if (apm_bios_call(&call)) {
1044 if (!call.err)
1046 return call.err;
1048 *status = call.ebx;
1049 *bat = call.ecx;
1051 *life = swab16((u16)call.edx);
1054 *life = call.edx;
1636 from the Get Power Status (0x0a) call unless otherwise noted.
1731 * This call causes my NEC UltraLite Versa 33/C to hang if it
2397 MODULE_PARM_DESC(broken_psr, "BIOS has a broken GetPowerStatus call");