From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [RFC 12/21] drm/udl: Remove FB_KMS_HELPER and FB related config options Date: Mon, 13 Jul 2015 12:13:59 +0530 Message-ID: <1436769848-4990-13-git-send-email-architt@codeaurora.org> References: <1436769848-4990-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]:56123 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751679AbbGMGpD (ORCPT ); Mon, 13 Jul 2015 02:45:03 -0400 In-Reply-To: <1436769848-4990-1-git-send-email-architt@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: dri-devel@lists.freedesktop.org, daniel@ffwll.ch Cc: linux-arm-msm@vger.kernel.org, airlied@linux.ie, Archit Taneja , Haixia Shi , =?UTF-8?q?St=C3=A9phane=20Marchesin?= Remove FB_* config options since the driver doesn't call any fbdev functions directly. Remove FB_KMS_HELPER as this would now be selected by the top level =46BDEV_EMULATION config option. If the fbdev emulation isn't selected, the drm_fb_helper functions will be stubbed out. The code relying on DEFERRED_IO can't be stubbed out using drm_fb_helpe= r functions. This is because the deferred io members in fbdev core struct= s are defined based on whether FB_DEFERRED_IO is defined or not. =46or now, wrap around deferred io code with an #ifdef check for CONFIG_DEFERRED_IO. We could consider creating stub fb helper functions here, but this would require some changes in the core fbdev structs. Cc: David Airlie Cc: Haixia Shi Cc: "St=C3=A9phane Marchesin" Signed-off-by: Archit Taneja --- drivers/gpu/drm/udl/Kconfig | 5 ----- drivers/gpu/drm/udl/udl_fb.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/udl/Kconfig b/drivers/gpu/drm/udl/Kconfig index 613ab06..1616ec4 100644 --- a/drivers/gpu/drm/udl/Kconfig +++ b/drivers/gpu/drm/udl/Kconfig @@ -4,12 +4,7 @@ config DRM_UDL depends on USB_SUPPORT depends on USB_ARCH_HAS_HCD select USB - select FB_SYS_FILLRECT - select FB_SYS_COPYAREA - select FB_SYS_IMAGEBLIT - select FB_DEFERRED_IO select DRM_KMS_HELPER - select DRM_KMS_FB_HELPER help This is a KMS driver for the USB displaylink video adapters. Say M/Y to add support for these devices via drm/kms interfa= ces. diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.= c index 9fd6e83..4aa5118d 100644 --- a/drivers/gpu/drm/udl/udl_fb.c +++ b/drivers/gpu/drm/udl/udl_fb.c @@ -24,11 +24,15 @@ =20 #define DL_DEFIO_WRITE_DELAY (HZ/20) /* fb_deferred_io.delay in jif= fies */ =20 +#ifdef CONFIG_FB_DEFERRED_IO static int fb_defio =3D 0; /* Optionally enable experimental fb_defio= mmap support */ +#endif static int fb_bpp =3D 16; =20 module_param(fb_bpp, int, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP); +#ifdef CONFIG_FB_DEFERRED_IO module_param(fb_defio, int, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP); +#endif =20 struct udl_fbdev { struct drm_fb_helper helper; @@ -78,6 +82,7 @@ static uint16_t rgb16(uint32_t col) } #endif =20 +#ifdef CONFIG_FB_DEFERRED_IO /* * NOTE: fb_defio.c is holding info->fbdefio.mutex * Touching ANY framebuffer memory that triggers a page fault @@ -139,6 +144,7 @@ error: >> 10)), /* Kcycles */ &udl->cpu_kcycles_used); } +#endif =20 int udl_handle_damage(struct udl_framebuffer *fb, int x, int y, int width, int height) @@ -331,6 +337,7 @@ static int udl_fb_open(struct fb_info *info, int us= er) =20 ufbdev->fb_count++; =20 +#ifdef CONFIG_FB_DEFERRED_IO if (fb_defio && (info->fbdefio =3D=3D NULL)) { /* enable defio at last moment if not disabled by client */ =20 @@ -346,6 +353,7 @@ static int udl_fb_open(struct fb_info *info, int us= er) info->fbdefio =3D fbdefio; fb_deferred_io_init(info); } +#endif =20 pr_notice("open /dev/fb%d user=3D%d fb_info=3D%p count=3D%d\n", info->node, user, info, ufbdev->fb_count); @@ -363,12 +371,14 @@ static int udl_fb_release(struct fb_info *info, i= nt user) =20 ufbdev->fb_count--; =20 +#ifdef CONFIG_FB_DEFERRED_IO if ((ufbdev->fb_count =3D=3D 0) && (info->fbdefio)) { fb_deferred_io_cleanup(info); kfree(info->fbdefio); info->fbdefio =3D NULL; info->fbops->fb_mmap =3D udl_fb_mmap; } +#endif =20 pr_warn("released /dev/fb%d user=3D%d count=3D%d\n", info->node, user, ufbdev->fb_count); --=20 The Qualcomm Innovation Center, Inc. is a member of the Code Aurora For= um, hosted by The Linux Foundation