• Uwe Kleine-König's avatar
    fbdev: atmel_lcdfb: Stop using platform_driver_probe() · 13c8fb98
    Uwe Kleine-König authored
    On today's platforms the benefit of platform_driver_probe() isn't that
    relevant any more. It allows to drop some code after booting (or module
    loading) for .probe() and discard the .remove() function completely if
    the driver is built-in. This typically saves a few 100k.
    
    The downside of platform_driver_probe() is that the driver cannot be
    bound and unbound at runtime which is ancient and also slightly
    complicates testing. There are also thoughts to deprecate
    platform_driver_probe() because it adds some complexity in the driver
    core for little gain. Also many drivers don't use it correctly. This
    driver for example misses to mark the driver struct with __refdata which
    is needed to suppress a (W=1) modpost warning:
    
    	WARNING: modpost: drivers/video/fbdev/atmel_lcdfb: section mismatch in reference: atmel_lcdfb_driver+0x4 (section: .data) -> atmel_lcdfb_remove (section: .exit.text)
    
    [folded in patch by Nathan Chancellor]
    Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    13c8fb98
atmel_lcdfb.c 35.7 KB