fbdev/vga16fb: Auto-generate module init/exit code
Move vgag16fb's option parsing into the driver's probe function and generate the rest of the module's init/exit functions from macros. Keep the options code, although there are no options defined. v2: * no options are supported, remove the code (Javier) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220718072322.8927-4-tzimmermann@suse.de
This commit is contained in:
parent
0db5b61e0d
commit
8a611e0825
|
@ -1304,21 +1304,6 @@ static const struct fb_ops vga16fb_ops = {
|
|||
.fb_imageblit = vga16fb_imageblit,
|
||||
};
|
||||
|
||||
#ifndef MODULE
|
||||
static int __init vga16fb_setup(char *options)
|
||||
{
|
||||
char *this_opt;
|
||||
|
||||
if (!options || !*options)
|
||||
return 0;
|
||||
|
||||
while ((this_opt = strsep(&options, ",")) != NULL) {
|
||||
if (!*this_opt) continue;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int vga16fb_probe(struct platform_device *dev)
|
||||
{
|
||||
struct screen_info *si;
|
||||
|
@ -1449,31 +1434,7 @@ static struct platform_driver vga16fb_driver = {
|
|||
.id_table = vga16fb_driver_id_table,
|
||||
};
|
||||
|
||||
static int __init vga16fb_init(void)
|
||||
{
|
||||
int ret;
|
||||
#ifndef MODULE
|
||||
char *option = NULL;
|
||||
|
||||
if (fb_get_options("vga16fb", &option))
|
||||
return -ENODEV;
|
||||
|
||||
vga16fb_setup(option);
|
||||
#endif
|
||||
|
||||
ret = platform_driver_register(&vga16fb_driver);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit vga16fb_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&vga16fb_driver);
|
||||
}
|
||||
module_platform_driver(vga16fb_driver);
|
||||
|
||||
MODULE_DESCRIPTION("Legacy VGA framebuffer device driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
module_init(vga16fb_init);
|
||||
module_exit(vga16fb_exit);
|
||||
|
|
Loading…
Reference in New Issue