drivers/video/fbdev/geode/gx1fb_core.c

Source file repositories/reference/linux-study-clean/drivers/video/fbdev/geode/gx1fb_core.c

File Facts

System
Linux kernel
Corpus path
drivers/video/fbdev/geode/gx1fb_core.c
Extension
.c
Size
12281 bytes
Lines
479
Domain
Driver Families
Bucket
drivers/video
Inferred role
Driver Families: operation-table or driver-model contract
Status
pattern 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

static struct pci_driver gx1fb_driver = {
	.name		= "gx1fb",
	.id_table	= gx1fb_id_table,
	.probe		= gx1fb_probe,
	.remove		= gx1fb_remove,
};

static int __init gx1fb_init(void)
{
#ifndef MODULE
	char *option = NULL;
#endif

	if (fb_modesetting_disabled("gx1fb"))
		return -ENODEV;

#ifndef MODULE
	if (fb_get_options("gx1fb", &option))
		return -ENODEV;
	gx1fb_setup(option);
#endif
	return pci_register_driver(&gx1fb_driver);
}

static void gx1fb_cleanup(void)
{
	pci_unregister_driver(&gx1fb_driver);
}

module_init(gx1fb_init);
module_exit(gx1fb_cleanup);

module_param_string(mode, mode_option, sizeof(mode_option), 0444);
MODULE_PARM_DESC(mode, "video mode (<x>x<y>[-<bpp>][@<refr>])");

module_param_named(crt, crt_option, int, 0444);
MODULE_PARM_DESC(crt, "enable CRT output. 0 = off, 1 = on (default)");

module_param_string(panel, panel_option, sizeof(panel_option), 0444);
MODULE_PARM_DESC(panel, "size of attached flat panel (<x>x<y>)");

MODULE_DESCRIPTION("framebuffer driver for the AMD Geode GX1");
MODULE_LICENSE("GPL");

Annotation

Implementation Notes