The only effect of
CONFIG_FB_VESA is to enable the compilation of vesafb.o. And then
upon loading the module during bootup, the following are executed: 479 static struct platform_driver vesafb_driver = { 480 .probe = vesafb_probe, 481 .driver = { 482 .name = "vesafb", 483 }, 484 }; 485 486 static struct platform_device *vesafb_device; 487 488 static int __init vesafb_init(void) 489 { 490 int ret; 491 char *option = NULL; 492 493 /* ignore error return of fb_get_options */ 494 fb_get_options("vesafb", &option); 495 vesafb_setup(option); 496 ret = platform_driver_register(&vesafb_driver); 497 498 if (!ret) { 499 vesafb_device = platform_device_alloc("vesafb", 0); 500 501 if (vesafb_device) 502 ret = platform_device_add(vesafb_device); 503 else 504 ret = -ENOMEM; 505 506 if (ret) { 507 platform_device_put(vesafb_device); 508 platform_driver_unregister(&vesafb_driver); 509 } 510 } 511 512 return ret; 513 } 514 module_init(vesafb_init); |