drivers/acpi/acpica/hwtimer.c

Source file repositories/reference/linux-study-clean/drivers/acpi/acpica/hwtimer.c

File Facts

System
Linux kernel
Corpus path
drivers/acpi/acpica/hwtimer.c
Extension
.c
Size
4911 bytes
Lines
176
Domain
Driver Families
Bucket
drivers/acpi
Inferred role
Driver Families: exported/initcall integration point
Status
integration implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if ((acpi_gbl_FADT.flags & ACPI_FADT_32BIT_TIMER) == 0) {

			/* 24-bit Timer */

			delta_ticks |= (u64)1 << 24;
		} else {
			/* 32-bit Timer */

			delta_ticks |= (u64)1 << 32;
		}
	}
	delta_ticks -= start_ticks;

	/*
	 * Compute Duration (Requires a 64-bit multiply and divide):
	 *
	 * time_elapsed (microseconds) =
	 *  (delta_ticks * ACPI_USEC_PER_SEC) / ACPI_PM_TIMER_FREQUENCY;
	 */
	status = acpi_ut_short_divide(delta_ticks * ACPI_USEC_PER_SEC,
				      ACPI_PM_TIMER_FREQUENCY, &quotient, NULL);

	*time_elapsed = (u32)quotient;
	return_ACPI_STATUS(status);
}

ACPI_EXPORT_SYMBOL(acpi_get_timer_duration)
#endif				/* !ACPI_REDUCED_HARDWARE */

Annotation

Implementation Notes