drivers/tty/hvc/hvc_rtas.c

Source file repositories/reference/linux-study-clean/drivers/tty/hvc/hvc_rtas.c

File Facts

System
Linux kernel
Corpus path
drivers/tty/hvc/hvc_rtas.c
Extension
.c
Size
2752 bytes
Lines
112
Domain
Driver Families
Bucket
drivers/tty
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

device_initcall(hvc_rtas_init);

/* This will happen prior to module init.  There is no tty at this time? */
static int __init hvc_rtas_console_init(void)
{
	rtascons_put_char_token = rtas_token("put-term-char");
	if (rtascons_put_char_token == RTAS_UNKNOWN_SERVICE)
		return -EIO;

	rtascons_get_char_token = rtas_token("get-term-char");
	if (rtascons_get_char_token == RTAS_UNKNOWN_SERVICE)
		return -EIO;

	hvc_instantiate(hvc_rtas_cookie, 0, &hvc_rtas_get_put_ops);
	add_preferred_console("hvc", 0, NULL);

	return 0;
}
console_initcall(hvc_rtas_console_init);

Annotation

Implementation Notes