fbdev: atafb: Fix broken frame buffer after kexec
authorGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 1 Apr 2019 15:46:55 +0000 (17:46 +0200)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Mon, 1 Apr 2019 15:46:55 +0000 (17:46 +0200)
commit80cf96357db7f0f41912c7ff30ae5f01ef515993
treea12c44f17f24513be1edb0096fe739c9fe4b472b
parent577eabb2cbe2e7d0ab1ceef3047ea698caf5db15
fbdev: atafb: Fix broken frame buffer after kexec

On Falcon, Atari frame buffer initialization relies on preprogrammed
register values.  These register values are changed to blank the
console.

Hence when using kexec to boot into a new kernel while the console is
blanked, the new kernel cannot determine the current video
configuration, and the Atari frame buffer driver fails to initialize:

    atafb: phys_screen_base 6ce000 screen_len 4096

Fix this by doing a straight-forward conversion of the driver to a
platform device driver, and adding a shutdown handler that unblanks the
display.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitzmic@gmail.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/atafb.c