From patchwork Sat Mar 23 06:46:29 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Prisk X-Patchwork-Id: 2324261 Return-Path: X-Original-To: patchwork-linux-fbdev@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 6C1B1400E6 for ; Sat, 23 Mar 2013 06:46:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751019Ab3CWGqU (ORCPT ); Sat, 23 Mar 2013 02:46:20 -0400 Received: from server.prisktech.co.nz ([115.188.14.127]:61663 "EHLO server.prisktech.co.nz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755960Ab3CWGqS (ORCPT ); Sat, 23 Mar 2013 02:46:18 -0400 Received: from localhost.localdomain (unknown [192.168.0.102]) by server.prisktech.co.nz (Postfix) with ESMTP id 1616EFC09A0; Sat, 23 Mar 2013 19:46:30 +1300 (NZDT) From: Tony Prisk To: Florian Schandinat Cc: linux-fbdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, vt8500-wm8505-linux-kernel@googlegroups.com, Tony Prisk Subject: [PATCH 1/5] video: vt8500: Make wmt_ge_rops optional Date: Sat, 23 Mar 2013 19:46:29 +1300 Message-Id: <1364021193-19835-2-git-send-email-linux@prisktech.co.nz> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1364021193-19835-1-git-send-email-linux@prisktech.co.nz> References: <1364021193-19835-1-git-send-email-linux@prisktech.co.nz> Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org wmt_ge_rops is a seperate driver to vt8500/wm8505 framebuffer driver but is currently a required option. This patch makes accelerated raster ops optional. Signed-off-by: Tony Prisk --- drivers/video/Kconfig | 22 ++++++++++++---------- drivers/video/vt8500lcdfb.c | 15 +++++++++++++++ drivers/video/wm8505fb.c | 15 +++++++++++++++ 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 4c1546f..661aa54 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -212,14 +212,6 @@ config FB_SYS_FOPS depends on FB default n -config FB_WMT_GE_ROPS - tristate - depends on FB - default n - ---help--- - Include functions for accelerated rectangle filling and area - copying using WonderMedia Graphics Engine operations. - config FB_DEFERRED_IO bool depends on FB @@ -1799,7 +1791,8 @@ config FB_AU1200 config FB_VT8500 bool "VT8500 LCD Driver" depends on (FB = y) && ARM && ARCH_VT8500 - select FB_WMT_GE_ROPS + select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS) + select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS) select FB_SYS_IMAGEBLIT help This is the framebuffer driver for VIA VT8500 integrated LCD @@ -1808,12 +1801,21 @@ config FB_VT8500 config FB_WM8505 bool "WM8505 frame buffer support" depends on (FB = y) && ARM && ARCH_VT8500 - select FB_WMT_GE_ROPS + select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS) + select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS) select FB_SYS_IMAGEBLIT help This is the framebuffer driver for WonderMedia WM8505/WM8650 integrated LCD controller. +config FB_WMT_GE_ROPS + bool "VT8500/WM85xx accelerated raster ops support" + depends on (FB = y) && (FB_VT8500 || FB_WM8505) + default n + help + This adds support for accelerated raster operations on the + VIA VT8500 and Wondermedia 85xx series SoCs. + source "drivers/video/geode/Kconfig" config FB_HIT diff --git a/drivers/video/vt8500lcdfb.c b/drivers/video/vt8500lcdfb.c index aa2579c..d8cc1f6 100644 --- a/drivers/video/vt8500lcdfb.c +++ b/drivers/video/vt8500lcdfb.c @@ -33,7 +33,10 @@ #include #include "vt8500lcdfb.h" + +#ifdef CONFIG_FB_WMT_GE_ROPS #include "wmt_ge_rops.h" +#endif #ifdef CONFIG_OF #include @@ -249,12 +252,24 @@ static int vt8500lcd_blank(int blank, struct fb_info *info) return 0; } +#ifndef CONFIG_FB_WMT_GE_ROPS +static int wmt_ge_sync(struct fb_info *p) +{ + return 0; +} +#endif + static struct fb_ops vt8500lcd_ops = { .owner = THIS_MODULE, .fb_set_par = vt8500lcd_set_par, .fb_setcolreg = vt8500lcd_setcolreg, +#ifdef CONFIG_FB_WMT_GE_ROPS .fb_fillrect = wmt_ge_fillrect, .fb_copyarea = wmt_ge_copyarea, +#else + .fb_fillrect = sys_fillrect, + .fb_copyarea = sys_copyarea, +#endif .fb_imageblit = sys_imageblit, .fb_sync = wmt_ge_sync, .fb_ioctl = vt8500lcd_ioctl, diff --git a/drivers/video/wm8505fb.c b/drivers/video/wm8505fb.c index 4dd0580..db49803 100644 --- a/drivers/video/wm8505fb.c +++ b/drivers/video/wm8505fb.c @@ -35,7 +35,10 @@ #include #include "wm8505fb_regs.h" + +#ifdef CONFIG_FB_WMT_GE_ROPS #include "wmt_ge_rops.h" +#endif #define DRIVER_NAME "wm8505-fb" @@ -248,12 +251,24 @@ static int wm8505fb_blank(int blank, struct fb_info *info) return 0; } +#ifndef CONFIG_FB_WMT_GE_ROPS +static int wmt_ge_sync(struct fb_info *p) +{ + return 0; +} +#endif + static struct fb_ops wm8505fb_ops = { .owner = THIS_MODULE, .fb_set_par = wm8505fb_set_par, .fb_setcolreg = wm8505fb_setcolreg, +#ifdef CONFIG_FB_WMT_GE_ROPS .fb_fillrect = wmt_ge_fillrect, .fb_copyarea = wmt_ge_copyarea, +#else + .fb_fillrect = sys_fillrect, + .fb_copyarea = sys_copyarea, +#endif .fb_imageblit = sys_imageblit, .fb_sync = wmt_ge_sync, .fb_pan_display = wm8505fb_pan_display,