From patchwork Mon Jul 3 23:05:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13300531 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D391BC0015E for ; Mon, 3 Jul 2023 23:06:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7487110E24E; Mon, 3 Jul 2023 23:05:53 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 906D410E24E for ; Mon, 3 Jul 2023 23:05:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688425547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PPkOUuxZ5llhFetMPklJdNaHUXTC+DjeRtC4vPngfEk=; b=SgD++mrPk2bbG5LuDVXrK/dB8mMsiAG4K4mngd58MkE7Db8evVilh+9oxIvuE/unYmSinb WMVo4wfo8+TehczP8lcBV5twfvQ5xPIZayiUmw03eGQkRLFAq6m2RUeS5fytwS3ZjMvkbC LboCoxRVFK79ta7rVhUECB+/ngEl2Nk= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-377-qYjDYBchNoCGoJOdsPe2Jg-1; Mon, 03 Jul 2023 19:05:43 -0400 X-MC-Unique: qYjDYBchNoCGoJOdsPe2Jg-1 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-3fbd8cc134aso10227365e9.3 for ; Mon, 03 Jul 2023 16:05:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688425542; x=1691017542; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PPkOUuxZ5llhFetMPklJdNaHUXTC+DjeRtC4vPngfEk=; b=KOmt3PtQ4kmjP9MtYoYTVmU6keoq/leObU9PfmXuijvaqwcK1XZQmayKIPDpcRtyMr Uv3u5wa+Z++m8Omb9KFNDrs8/tmLv03pYi9JDkOGLYcQ35UzwoB+9+2Q2jdlQq1lq82+ qOvCcGDSYHgRGplqzKJKQUqabO7MUW4XJane7kpFU8jHncPDk5tbVamixkpjVKuAm1Oe 9S8nL+cmQQN0Vz2X/NWzFl3uhO0Oscz4nYW0lVVonr9xCuhYbUcScrK44owEuZZhmEKl emRZIX6YLKWfZKywXGleWOFCyb/d59myW9HctPhC+VKj9p6CqOsOtjAT6cURwqw0T0JS uFxQ== X-Gm-Message-State: ABy/qLan9Aq9fg7ABsXazaCJtxh1sGEUBMLKo7HZ0OkF6bZNJNQfPjjG xlVsjB0VJQSuTPGZZNNSKxg1RCKWq8h3gRaN5rFaB7VSmVxMRUIMml7jpd80yHj2/BIRhVqopNN L0nd2vemEcNpMthCgg1tJU9DhH8lw X-Received: by 2002:a5d:4f83:0:b0:314:182a:3d96 with SMTP id d3-20020a5d4f83000000b00314182a3d96mr9283420wru.28.1688425542687; Mon, 03 Jul 2023 16:05:42 -0700 (PDT) X-Google-Smtp-Source: APBJJlHkY3/kaMZbldsi47jF351XP7Kg1e0/Oy/YC+TGYzIxm3l+o77EQsFnIcbHI+uDkatYVGxuOg== X-Received: by 2002:a5d:4f83:0:b0:314:182a:3d96 with SMTP id d3-20020a5d4f83000000b00314182a3d96mr9283411wru.28.1688425542423; Mon, 03 Jul 2023 16:05:42 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id cw13-20020a056000090d00b003112f836d4esm26504465wrb.85.2023.07.03.16.05.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 16:05:42 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v4 1/5] video: Add auxiliary display drivers to Graphics support menu Date: Tue, 4 Jul 2023 01:05:25 +0200 Message-ID: <20230703230534.997525-2-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230703230534.997525-1-javierm@redhat.com> References: <20230703230534.997525-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, Arnd Bergmann , Nipun Gupta , Greg Kroah-Hartman , Helge Deller , Javier Martinez Canillas , dri-devel@lists.freedesktop.org, Geert Uytterhoeven , Jacek Lawrynowicz , Thomas Zimmermann , Oded Gabbay Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The drivers in this subsystem are for character-based LCD displays, which can fall into the same category of the DRM/KMS and fbdev drivers that are located under the "Graphics support" menu. Add auxdisplay there as well. Suggested-by: Thomas Zimmermann Signed-off-by: Javier Martinez Canillas --- (no changes since v1) drivers/Kconfig | 2 -- drivers/video/Kconfig | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/Kconfig b/drivers/Kconfig index 514ae6b24cb2..496ca02ee18f 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -129,8 +129,6 @@ source "drivers/dma-buf/Kconfig" source "drivers/dca/Kconfig" -source "drivers/auxdisplay/Kconfig" - source "drivers/uio/Kconfig" source "drivers/vfio/Kconfig" diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 8b2b9ac37c3d..acf02863ac7d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -30,6 +30,8 @@ if HAS_IOMEM config HAVE_FB_ATMEL bool +source "drivers/auxdisplay/Kconfig" + source "drivers/char/agp/Kconfig" source "drivers/gpu/vga/Kconfig" From patchwork Mon Jul 3 23:05:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13300532 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DC1BCEB64DD for ; Mon, 3 Jul 2023 23:06:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D770E10E251; Mon, 3 Jul 2023 23:05:53 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2927610E24B for ; Mon, 3 Jul 2023 23:05:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688425549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ytjztKBchoEvkVL0L2ZNLjWuHPbCVbw9mTADb8BljqM=; b=O2j+GuTCKPohADrOrTf2FHp8yQus4/BDTL+Fl0CYIB2B5GlsLkJKk8kKysou/LjncYKDGg 1pTdgVujarx57IOOAuS+RvTfsHzlA6LTWTEL1tP1wpk7OkqEmS86CE2NB//0yuHAe8fa0i 0q3OPTeTp6JuZUSI6ZbehgjUSJVa3f0= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-665-K8PA9iEbNvq1G6JGng0mOA-1; Mon, 03 Jul 2023 19:05:45 -0400 X-MC-Unique: K8PA9iEbNvq1G6JGng0mOA-1 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-30e4943ca7fso2463151f8f.3 for ; Mon, 03 Jul 2023 16:05:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688425544; x=1691017544; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ytjztKBchoEvkVL0L2ZNLjWuHPbCVbw9mTADb8BljqM=; b=WGo6VAnLWA+6L2fy0rD/pcSrkb/BBK+erDRBOVth9Z7vMKKCvN1Ln5HCsjOY4vu04x u0lm/uxUIc/qHKmUZXAmSvrJjkFLWXVyNrs0Kds8+T2pwyhrGQ8LXEGJyNnQgefWNtsa D7JDVvFN2czFZBJdpPobItiDMVQj0UdjZNYvZEuLTPxLeAMEhKCV4V51kgiXgM5fG6VI TK19DrwiCSTXRJZABfYmNXzNWyNBlHY+BJQO7A6R60fSvCF79k5OGmZ8Ryjpul4Fkj4Y XFw2pb2MyvCrndhjCZDOmmRCBpSvZ5y3ZiTSyNTqSi6MGaZL/3Y3ajGBGZVSio5/7KXY uM0A== X-Gm-Message-State: ABy/qLZy+cTQXCRYYrVbA0xQMQfpI9RTqTGeUpTYsfqhLD/C1F898NrT YEM0lI4Dgn/Pi6i05/U1qkVTFzmyzx2yOSWqsYy35m/ka3eD6ok//73HyiD1qf2SqCFBYBPr0OX R4EdFe667xN1N+xMGVRP6hT9MwQYD X-Received: by 2002:a5d:554d:0:b0:314:824:3777 with SMTP id g13-20020a5d554d000000b0031408243777mr8906988wrw.48.1688425544029; Mon, 03 Jul 2023 16:05:44 -0700 (PDT) X-Google-Smtp-Source: APBJJlGzsi7jw2pVMvf1cUHJuTkFvIkETnk1vKsAwCVPqrqfEA796y4p5Tm6goJkpt2WZcJLjJCgFg== X-Received: by 2002:a5d:554d:0:b0:314:824:3777 with SMTP id g13-20020a5d554d000000b0031408243777mr8906981wrw.48.1688425543753; Mon, 03 Jul 2023 16:05:43 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id cw13-20020a056000090d00b003112f836d4esm26504465wrb.85.2023.07.03.16.05.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 16:05:43 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v4 2/5] fbdev: Move core fbdev symbols to a separate Kconfig file Date: Tue, 4 Jul 2023 01:05:26 +0200 Message-ID: <20230703230534.997525-3-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230703230534.997525-1-javierm@redhat.com> References: <20230703230534.997525-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, Thomas Zimmermann , Arnd Bergmann , Helge Deller , Randy Dunlap , Javier Martinez Canillas , dri-devel@lists.freedesktop.org, Geert Uytterhoeven , Andy Shevchenko , Sam Ravnborg Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The drivers/video/fbdev/Kconfig defines both symbols for fbdev drivers and core fbdev symbols, that can be enabled independently of the fbdev drivers. Split the Kconfig in two, one that only has the symbols for fbdev drivers and another one that contains the fbdev core symbols. Suggested-by: Arnd Bergmann Signed-off-by: Javier Martinez Canillas --- (no changes since v1) drivers/video/fbdev/Kconfig | 203 +------------------------------ drivers/video/fbdev/core/Kconfig | 202 ++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 201 deletions(-) create mode 100644 drivers/video/fbdev/core/Kconfig diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index cecf15418632..06199f044546 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -3,9 +3,6 @@ # fbdev configuration # -config FB_NOTIFY - bool - menuconfig FB tristate "Support for frame buffer devices" select FB_NOTIFY @@ -42,204 +39,6 @@ menuconfig FB (e.g. an accelerated X server) and that are not frame buffer device-aware may cause unexpected results. If unsure, say N. -config FIRMWARE_EDID - bool "Enable firmware EDID" - depends on FB - help - This enables access to the EDID transferred from the firmware. - On the i386, this is from the Video BIOS. Enable this if DDC/I2C - transfers do not work for your driver and if you are using - nvidiafb, i810fb or savagefb. - - In general, choosing Y for this option is safe. If you - experience extremely long delays while booting before you get - something on your display, try setting this to N. Matrox cards in - combination with certain motherboards and monitors are known to - suffer from this problem. - -config FB_DEVICE - bool "Provide legacy /dev/fb* device" - depends on FB - default y - help - Say Y here if you want the legacy /dev/fb* device file and - interfaces within sysfs anc procfs. It is only required if you - have userspace programs that depend on fbdev for graphics output. - This does not affect the framebuffer console. If unsure, say N. - -config FB_DDC - tristate - depends on FB - select I2C_ALGOBIT - select I2C - -config FB_CFB_FILLRECT - tristate - depends on FB - help - Include the cfb_fillrect function for generic software rectangle - filling. This is used by drivers that don't provide their own - (accelerated) version. - -config FB_CFB_COPYAREA - tristate - depends on FB - help - Include the cfb_copyarea function for generic software area copying. - This is used by drivers that don't provide their own (accelerated) - version. - -config FB_CFB_IMAGEBLIT - tristate - depends on FB - help - Include the cfb_imageblit function for generic software image - blitting. This is used by drivers that don't provide their own - (accelerated) version. - -config FB_CFB_REV_PIXELS_IN_BYTE - bool - depends on FB - help - Allow generic frame-buffer functions to work on displays with 1, 2 - and 4 bits per pixel depths which has opposite order of pixels in - byte order to bytes in long order. - -config FB_SYS_FILLRECT - tristate - depends on FB - help - Include the sys_fillrect function for generic software rectangle - filling. This is used by drivers that don't provide their own - (accelerated) version and the framebuffer is in system RAM. - -config FB_SYS_COPYAREA - tristate - depends on FB - help - Include the sys_copyarea function for generic software area copying. - This is used by drivers that don't provide their own (accelerated) - version and the framebuffer is in system RAM. - -config FB_SYS_IMAGEBLIT - tristate - depends on FB - help - Include the sys_imageblit function for generic software image - blitting. This is used by drivers that don't provide their own - (accelerated) version and the framebuffer is in system RAM. - -config FB_PROVIDE_GET_FB_UNMAPPED_AREA - bool - depends on FB - help - Allow generic frame-buffer to provide get_fb_unmapped_area - function to provide shareable character device support on nommu. - -menuconfig FB_FOREIGN_ENDIAN - bool "Framebuffer foreign endianness support" - depends on FB - help - This menu will let you enable support for the framebuffers with - non-native endianness (e.g. Little-Endian framebuffer on a - Big-Endian machine). Most probably you don't have such hardware, - so it's safe to say "n" here. - -choice - prompt "Choice endianness support" - depends on FB_FOREIGN_ENDIAN - -config FB_BOTH_ENDIAN - bool "Support for Big- and Little-Endian framebuffers" - -config FB_BIG_ENDIAN - bool "Support for Big-Endian framebuffers only" - -config FB_LITTLE_ENDIAN - bool "Support for Little-Endian framebuffers only" - -endchoice - -config FB_SYS_FOPS - tristate - depends on FB - -config FB_DEFERRED_IO - bool - depends on FB - -config FB_IO_HELPERS - bool - depends on FB - select FB_CFB_COPYAREA - select FB_CFB_FILLRECT - select FB_CFB_IMAGEBLIT - -config FB_SYS_HELPERS - bool - depends on FB - select FB_SYS_COPYAREA - select FB_SYS_FILLRECT - select FB_SYS_FOPS - select FB_SYS_IMAGEBLIT - -config FB_SYS_HELPERS_DEFERRED - bool - depends on FB - select FB_DEFERRED_IO - select FB_SYS_HELPERS - -config FB_HECUBA - tristate - depends on FB - depends on FB_DEFERRED_IO - -config FB_SVGALIB - tristate - depends on FB - help - Common utility functions useful to fbdev drivers of VGA-based - cards. - -config FB_MACMODES - tristate - depends on FB - -config FB_BACKLIGHT - tristate - depends on FB - select BACKLIGHT_CLASS_DEVICE - -config FB_MODE_HELPERS - bool "Enable Video Mode Handling Helpers" - depends on FB - help - This enables functions for handling video modes using the - Generalized Timing Formula and the EDID parser. A few drivers rely - on this feature such as the radeonfb, rivafb, and the i810fb. If - your driver does not take advantage of this feature, choosing Y will - just increase the kernel size by about 5K. - -config FB_TILEBLITTING - bool "Enable Tile Blitting Support" - depends on FB - help - This enables tile blitting. Tile blitting is a drawing technique - where the screen is divided into rectangular sections (tiles), whereas - the standard blitting divides the screen into pixels. Because the - default drawing element is a tile, drawing functions will be passed - parameters in terms of number of tiles instead of number of pixels. - For example, to draw a single character, instead of using bitmaps, - an index to an array of bitmaps will be used. To clear or move a - rectangular section of a screen, the rectangle will be described in - terms of number of tiles in the x- and y-axis. - - This is particularly important to one driver, matroxfb. If - unsure, say N. - -comment "Frame buffer hardware drivers" - depends on FB - config FB_GRVGA tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC @@ -2244,3 +2043,5 @@ config FB_SM712 source "drivers/video/fbdev/omap/Kconfig" source "drivers/video/fbdev/omap2/Kconfig" source "drivers/video/fbdev/mmp/Kconfig" + +source "drivers/video/fbdev/core/Kconfig" diff --git a/drivers/video/fbdev/core/Kconfig b/drivers/video/fbdev/core/Kconfig new file mode 100644 index 000000000000..8e308d12c57b --- /dev/null +++ b/drivers/video/fbdev/core/Kconfig @@ -0,0 +1,202 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# fbdev core configuration +# + +config FB_NOTIFY + bool + +config FIRMWARE_EDID + bool "Enable firmware EDID" + depends on FB + help + This enables access to the EDID transferred from the firmware. + On the i386, this is from the Video BIOS. Enable this if DDC/I2C + transfers do not work for your driver and if you are using + nvidiafb, i810fb or savagefb. + + In general, choosing Y for this option is safe. If you + experience extremely long delays while booting before you get + something on your display, try setting this to N. Matrox cards in + combination with certain motherboards and monitors are known to + suffer from this problem. + +config FB_DEVICE + bool "Provide legacy /dev/fb* device" + depends on FB + default y + help + Say Y here if you want the legacy /dev/fb* device file and + interfaces within sysfs anc procfs. It is only required if you + have userspace programs that depend on fbdev for graphics output. + This does not affect the framebuffer console. If unsure, say N. + +config FB_DDC + tristate + depends on FB + select I2C_ALGOBIT + select I2C + +config FB_CFB_FILLRECT + tristate + depends on FB + help + Include the cfb_fillrect function for generic software rectangle + filling. This is used by drivers that don't provide their own + (accelerated) version. + +config FB_CFB_COPYAREA + tristate + depends on FB + help + Include the cfb_copyarea function for generic software area copying. + This is used by drivers that don't provide their own (accelerated) + version. + +config FB_CFB_IMAGEBLIT + tristate + depends on FB + help + Include the cfb_imageblit function for generic software image + blitting. This is used by drivers that don't provide their own + (accelerated) version. + +config FB_CFB_REV_PIXELS_IN_BYTE + bool + depends on FB + help + Allow generic frame-buffer functions to work on displays with 1, 2 + and 4 bits per pixel depths which has opposite order of pixels in + byte order to bytes in long order. + +config FB_SYS_FILLRECT + tristate + depends on FB + help + Include the sys_fillrect function for generic software rectangle + filling. This is used by drivers that don't provide their own + (accelerated) version and the framebuffer is in system RAM. + +config FB_SYS_COPYAREA + tristate + depends on FB + help + Include the sys_copyarea function for generic software area copying. + This is used by drivers that don't provide their own (accelerated) + version and the framebuffer is in system RAM. + +config FB_SYS_IMAGEBLIT + tristate + depends on FB + help + Include the sys_imageblit function for generic software image + blitting. This is used by drivers that don't provide their own + (accelerated) version and the framebuffer is in system RAM. + +config FB_PROVIDE_GET_FB_UNMAPPED_AREA + bool + depends on FB + help + Allow generic frame-buffer to provide get_fb_unmapped_area + function to provide shareable character device support on nommu. + +menuconfig FB_FOREIGN_ENDIAN + bool "Framebuffer foreign endianness support" + depends on FB + help + This menu will let you enable support for the framebuffers with + non-native endianness (e.g. Little-Endian framebuffer on a + Big-Endian machine). Most probably you don't have such hardware, + so it's safe to say "n" here. + +choice + prompt "Choice endianness support" + depends on FB_FOREIGN_ENDIAN + +config FB_BOTH_ENDIAN + bool "Support for Big- and Little-Endian framebuffers" + +config FB_BIG_ENDIAN + bool "Support for Big-Endian framebuffers only" + +config FB_LITTLE_ENDIAN + bool "Support for Little-Endian framebuffers only" + +endchoice + +config FB_SYS_FOPS + tristate + depends on FB + +config FB_DEFERRED_IO + bool + depends on FB + +config FB_IO_HELPERS + bool + depends on FB + select FB_CFB_COPYAREA + select FB_CFB_FILLRECT + select FB_CFB_IMAGEBLIT + +config FB_SYS_HELPERS + bool + depends on FB + select FB_SYS_COPYAREA + select FB_SYS_FILLRECT + select FB_SYS_FOPS + select FB_SYS_IMAGEBLIT + +config FB_SYS_HELPERS_DEFERRED + bool + depends on FB + select FB_DEFERRED_IO + select FB_SYS_HELPERS + +config FB_HECUBA + tristate + depends on FB + depends on FB_DEFERRED_IO + +config FB_SVGALIB + tristate + depends on FB + help + Common utility functions useful to fbdev drivers of VGA-based + cards. + +config FB_MACMODES + tristate + depends on FB + +config FB_BACKLIGHT + tristate + depends on FB + select BACKLIGHT_CLASS_DEVICE + +config FB_MODE_HELPERS + bool "Enable Video Mode Handling Helpers" + depends on FB + help + This enables functions for handling video modes using the + Generalized Timing Formula and the EDID parser. A few drivers rely + on this feature such as the radeonfb, rivafb, and the i810fb. If + your driver does not take advantage of this feature, choosing Y will + just increase the kernel size by about 5K. + +config FB_TILEBLITTING + bool "Enable Tile Blitting Support" + depends on FB + help + This enables tile blitting. Tile blitting is a drawing technique + where the screen is divided into rectangular sections (tiles), whereas + the standard blitting divides the screen into pixels. Because the + default drawing element is a tile, drawing functions will be passed + parameters in terms of number of tiles instead of number of pixels. + For example, to draw a single character, instead of using bitmaps, + an index to an array of bitmaps will be used. To clear or move a + rectangular section of a screen, the rectangle will be described in + terms of number of tiles in the x- and y-axis. + + This is particularly important to one driver, matroxfb. If + unsure, say N. From patchwork Mon Jul 3 23:05:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13300529 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A0275EB64DD for ; Mon, 3 Jul 2023 23:05:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CE38E10E24A; Mon, 3 Jul 2023 23:05:50 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6063F10E24B for ; Mon, 3 Jul 2023 23:05:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688425547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TKwSmrhTaDUuj6nOeH5v86nAPSbYWAm2divbLmIUh94=; b=dVjLTn4u/ptMooh+xwPdWt3iupkQ82yV3cfTZ97YqYLQ9k0nMKUKd+yasVL1y+PgQb0q5A +ewVV2xOi8AI+/aVhRuoVv8nmuMt3CRrRJJgRL8YUQYIaUJUBYPni35kQ6N/1ljYKyl61U IBz17jOIY8MDu00cbiAncFTJJtL7nPg= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-96-yXEVQX3cNmmUKVTK-pGFvg-1; Mon, 03 Jul 2023 19:05:46 -0400 X-MC-Unique: yXEVQX3cNmmUKVTK-pGFvg-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3141a98a29aso2124845f8f.1 for ; Mon, 03 Jul 2023 16:05:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688425545; x=1691017545; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TKwSmrhTaDUuj6nOeH5v86nAPSbYWAm2divbLmIUh94=; b=Nji7G/HLHboJv1cSIIZZWg84x3VHmFafZBW/LQNSaPIt0Cfelj0wll5xifW8yTxPwb S043qjix7I0dToVqMgkkO6g4IQUxo9qoM1qyHLg/6JQ2s3TRpMsNVgp3XjnSe0gvLiUn K1KbOB08pj7cuspZdvBCzRwSr9VWnqJBgVz/WORVAuaxVWUZAJBRE3JWMqbNcEcpfUBX vyj/CHr9e/oJ2UyZ+lqY88X60evv2v5KcJhJllw2ya2D9SK75omq8kzUZqA+pT/8724Y HeMDx7oeFH3lFwRmh76utwq5RIXR1JwH44tYrXMSavAsQlD0S6dUWT3OzP92JMgO9K/3 f1pA== X-Gm-Message-State: ABy/qLY3ZombajLbpWWBAD2exOQs3gIJiNZKePFgMu7qiIeGoKJhqw+W TGjk05vza4ShLy9kD6uS2gK2ISoGjPvP2uWciUmWdOqv2nF279OF/QC+hi9HkUDKW7dbjN8iL6h 8QrOKvoYnGC3O4dcBBPgl3GsJZ3xF X-Received: by 2002:adf:f8c8:0:b0:314:23e:c8fc with SMTP id f8-20020adff8c8000000b00314023ec8fcmr9734650wrq.33.1688425545206; Mon, 03 Jul 2023 16:05:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlGm9A12oMGIbB0eiER252jgpMh8fddozs5Y4ECUnCr8I5AQbLu2lRDz7vnx11yA2VHlZ5L4zQ== X-Received: by 2002:adf:f8c8:0:b0:314:23e:c8fc with SMTP id f8-20020adff8c8000000b00314023ec8fcmr9734638wrq.33.1688425545007; Mon, 03 Jul 2023 16:05:45 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id cw13-20020a056000090d00b003112f836d4esm26504465wrb.85.2023.07.03.16.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 16:05:44 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v4 3/5] drm/arm: Make ARM devices menu depend on DRM Date: Tue, 4 Jul 2023 01:05:27 +0200 Message-ID: <20230703230534.997525-4-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230703230534.997525-1-javierm@redhat.com> References: <20230703230534.997525-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Zimmermann , Arnd Bergmann , Liviu Dudau , Javier Martinez Canillas , dri-devel@lists.freedesktop.org, Geert Uytterhoeven Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Otherwise if CONFIG_DRM is disabled, menuconfig will show an empty menu. Signed-off-by: Javier Martinez Canillas Acked-by: Liviu Dudau --- (no changes since v1) drivers/gpu/drm/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/arm/Kconfig b/drivers/gpu/drm/arm/Kconfig index c1b89274d2a4..ddf20708370f 100644 --- a/drivers/gpu/drm/arm/Kconfig +++ b/drivers/gpu/drm/arm/Kconfig @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 menu "ARM devices" + depends on DRM config DRM_HDLCD tristate "ARM HDLCD" From patchwork Mon Jul 3 23:05:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13300530 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1C306EB64DC for ; Mon, 3 Jul 2023 23:06:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AC63110E24B; Mon, 3 Jul 2023 23:05:52 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0462A10E24A for ; Mon, 3 Jul 2023 23:05:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688425549; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uLDMtsQ7x8sK8Yp4yXeZqors8D/LGiL+rTQqlGxqvwY=; b=TDob6jxXRum21xyW1YVtUhk769+p3F/dWb4G/wKl07jvFP8CJqA/mlkT1V98lT0YgVlvA1 NlmiMG92wfui0QChMmzqZ7awYvlQX4yAusee+XZ0F3BFcfWq/Uze/Bs4WOBGfGhdSiUhtd vBIK5zaeSiyPfz/lamdVMDkOczzftQ8= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-182-_6_1IfCtMwOGdJxpCbsRWA-1; Mon, 03 Jul 2023 19:05:48 -0400 X-MC-Unique: _6_1IfCtMwOGdJxpCbsRWA-1 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-3fbaade0c71so31072425e9.2 for ; Mon, 03 Jul 2023 16:05:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688425547; x=1691017547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uLDMtsQ7x8sK8Yp4yXeZqors8D/LGiL+rTQqlGxqvwY=; b=GDGTtaZGYfNI042w8c8zSx+eo8UryIhqKCcnc/tLN+TXITMLVayGgR7YfVrV66egiZ IMS8WFUVd7upV3c14qLN7h71PKnvZQkw7/YkiQw8VBu9XuLbvCPyY1D1ZV2xGbje7rWf cK9GYU6D7t0vru55YS65ww155k18XLl5MyBGiiXTDDZuf432UCqaTDD0kJJX2SRCAa4C LrMS8cZPdkMHI7GlNmjBZ0Os3ff8o5pJvsweqjySm0uaxY+MIUt+hfbFBmsrIA0RXeuA FaQ3vDkOe5P5wQXwSqWZXL6bQY5KBAHr9uEN6CfLKLlvWSilRfifmTqxv8GGsHu5ZfBB 5f7A== X-Gm-Message-State: AC+VfDz/5ozkSN++RZG5EyLRlhFbafYKsXWeXNDtbewhESJQwbwwZYYZ oDJ+6oprsaV8cocVGM6km6pEtU56CswH/5XP2hIuCxR/Jt50hFVHSYSTRw0/fXVkot6rxMbFFOk GKXAPYVE2whjTmvXyXV8zIgg1I7cg X-Received: by 2002:a1c:4c08:0:b0:3fb:b8a6:33f9 with SMTP id z8-20020a1c4c08000000b003fbb8a633f9mr9977069wmf.0.1688425546946; Mon, 03 Jul 2023 16:05:46 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4lYdF3dqf9fAKeuNwNXf1SRGWV/yMOjcbQ+VJIzZ7uwkyrMAhz7mBxt/2leHZW9fKjrXxnUQ== X-Received: by 2002:a1c:4c08:0:b0:3fb:b8a6:33f9 with SMTP id z8-20020a1c4c08000000b003fbb8a633f9mr9977053wmf.0.1688425546709; Mon, 03 Jul 2023 16:05:46 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id cw13-20020a056000090d00b003112f836d4esm26504465wrb.85.2023.07.03.16.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 16:05:46 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v4 4/5] fbdev: Split frame buffer support in FB and FB_CORE symbols Date: Tue, 4 Jul 2023 01:05:28 +0200 Message-ID: <20230703230534.997525-5-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230703230534.997525-1-javierm@redhat.com> References: <20230703230534.997525-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: x86@kernel.org, linux-fbdev@vger.kernel.org, Randy Dunlap , Arnd Bergmann , Greg Kroah-Hartman , Helge Deller , Dave Hansen , Javier Martinez Canillas , dri-devel@lists.freedesktop.org, Ingo Molnar , Borislav Petkov , Thomas Zimmermann , "H. Peter Anvin" , Geert Uytterhoeven , Thomas Gleixner , Andy Shevchenko , Sam Ravnborg Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Currently the CONFIG_FB option has to be enabled even if no legacy fbdev drivers are needed (e.g: only to have support for framebuffer consoles). The DRM subsystem has a fbdev emulation layer, but depends on CONFIG_FB and so it can only be enabled if that dependency is enabled as well. That means fbdev drivers have to be explicitly disabled if users want to enable CONFIG_FB, only to use fbcon and/or the DRM fbdev emulation layer. This patch introduces a non-visible CONFIG_FB_CORE symbol that could be enabled just to have core support needed for CONFIG_DRM_FBDEV_EMULATION, allowing CONFIG_FB to be disabled (and automatically disabling all the fbdev drivers). Nothing from fb_backlight.o and fbmon.o is used by the DRM fbdev emulation layer so these two objects can be compiled out when CONFIG_FB is disabled. Signed-off-by: Javier Martinez Canillas --- Changes in v4: - Fix menuconfig hierarchy that was broken in v3 (Arnd Bergmann). Changes in v3: - Really make a hidden symbol by removing the prompt (Arnd Bergmann). - Change FB_CORE to config instead of menuconfig (Arnd Bergmann). - Keep "depends on FB" for FIRMWARE_EDID (Arnd Bergmann). - Compile out fb_backlight.o and fbmon.o that are only needed for FB (Arnd Bergmann). - Make FB_DEVICE to depend on FB_CORE instead of selecting it. Changes in v2: - Keep "depends on FB" for FB_DDC, FB_HECUBA, FB_SVGALIB, FB_MACMODES, FB_BACKLIGHT, FB_MODE_HELPERS and FB_TILEBLITTING (Arnd Bergmann). - Don't change the fb.o object name (Arnd Bergmann). - Make FB_CORE a non-visible Kconfig symbol instead (Thomas Zimmermann). arch/x86/Makefile | 2 +- arch/x86/video/Makefile | 2 +- drivers/video/console/Kconfig | 2 +- drivers/video/fbdev/Kconfig | 10 ++++++++-- drivers/video/fbdev/core/Kconfig | 30 +++++++++++++++++------------- drivers/video/fbdev/core/Makefile | 8 ++++---- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/arch/x86/Makefile b/arch/x86/Makefile index b39975977c03..89a02e69be5f 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -259,7 +259,7 @@ drivers-$(CONFIG_PCI) += arch/x86/pci/ # suspend and hibernation support drivers-$(CONFIG_PM) += arch/x86/power/ -drivers-$(CONFIG_FB) += arch/x86/video/ +drivers-$(CONFIG_FB_CORE) += arch/x86/video/ #### # boot loader support. Several targets are kept for legacy purposes diff --git a/arch/x86/video/Makefile b/arch/x86/video/Makefile index 11640c116115..5ebe48752ffc 100644 --- a/arch/x86/video/Makefile +++ b/arch/x86/video/Makefile @@ -1,2 +1,2 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-$(CONFIG_FB) += fbdev.o +obj-$(CONFIG_FB_CORE) += fbdev.o diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig index a2a88d42edf0..1b5a319971ed 100644 --- a/drivers/video/console/Kconfig +++ b/drivers/video/console/Kconfig @@ -72,7 +72,7 @@ config DUMMY_CONSOLE_ROWS config FRAMEBUFFER_CONSOLE bool "Framebuffer Console support" - depends on FB && !UML + depends on FB_CORE && !UML select VT_HW_CONSOLE_BINDING select CRC32 select FONT_SUPPORT diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 06199f044546..179e728aff5d 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -4,9 +4,9 @@ # menuconfig FB - tristate "Support for frame buffer devices" + tristate "Support for frame buffer device drivers" + select FB_CORE select FB_NOTIFY - select VIDEO_CMDLINE help The frame buffer device provides an abstraction for the graphics hardware. It represents the frame buffer of some video hardware and @@ -30,6 +30,12 @@ menuconfig FB for more information. + This enables support for native frame buffer device (fbdev) drivers. + + The DRM subsystem provides support for emulated frame buffer devices + on top of KMS drivers, but this option allows legacy fbdev drivers to + be enabled as well. + Say Y here and to the driver for your graphics board below if you are compiling a kernel for a non-x86 architecture. diff --git a/drivers/video/fbdev/core/Kconfig b/drivers/video/fbdev/core/Kconfig index 8e308d12c57b..15ce529d579a 100644 --- a/drivers/video/fbdev/core/Kconfig +++ b/drivers/video/fbdev/core/Kconfig @@ -3,6 +3,10 @@ # fbdev core configuration # +config FB_CORE + select VIDEO_CMDLINE + tristate + config FB_NOTIFY bool @@ -23,7 +27,7 @@ config FIRMWARE_EDID config FB_DEVICE bool "Provide legacy /dev/fb* device" - depends on FB + depends on FB_CORE default y help Say Y here if you want the legacy /dev/fb* device file and @@ -39,7 +43,7 @@ config FB_DDC config FB_CFB_FILLRECT tristate - depends on FB + depends on FB_CORE help Include the cfb_fillrect function for generic software rectangle filling. This is used by drivers that don't provide their own @@ -47,7 +51,7 @@ config FB_CFB_FILLRECT config FB_CFB_COPYAREA tristate - depends on FB + depends on FB_CORE help Include the cfb_copyarea function for generic software area copying. This is used by drivers that don't provide their own (accelerated) @@ -55,7 +59,7 @@ config FB_CFB_COPYAREA config FB_CFB_IMAGEBLIT tristate - depends on FB + depends on FB_CORE help Include the cfb_imageblit function for generic software image blitting. This is used by drivers that don't provide their own @@ -63,7 +67,7 @@ config FB_CFB_IMAGEBLIT config FB_CFB_REV_PIXELS_IN_BYTE bool - depends on FB + depends on FB_CORE help Allow generic frame-buffer functions to work on displays with 1, 2 and 4 bits per pixel depths which has opposite order of pixels in @@ -71,7 +75,7 @@ config FB_CFB_REV_PIXELS_IN_BYTE config FB_SYS_FILLRECT tristate - depends on FB + depends on FB_CORE help Include the sys_fillrect function for generic software rectangle filling. This is used by drivers that don't provide their own @@ -79,7 +83,7 @@ config FB_SYS_FILLRECT config FB_SYS_COPYAREA tristate - depends on FB + depends on FB_CORE help Include the sys_copyarea function for generic software area copying. This is used by drivers that don't provide their own (accelerated) @@ -87,7 +91,7 @@ config FB_SYS_COPYAREA config FB_SYS_IMAGEBLIT tristate - depends on FB + depends on FB_CORE help Include the sys_imageblit function for generic software image blitting. This is used by drivers that don't provide their own @@ -126,22 +130,22 @@ endchoice config FB_SYS_FOPS tristate - depends on FB + depends on FB_CORE config FB_DEFERRED_IO bool - depends on FB + depends on FB_CORE config FB_IO_HELPERS bool - depends on FB + depends on FB_CORE select FB_CFB_COPYAREA select FB_CFB_FILLRECT select FB_CFB_IMAGEBLIT config FB_SYS_HELPERS bool - depends on FB + depends on FB_CORE select FB_SYS_COPYAREA select FB_SYS_FILLRECT select FB_SYS_FOPS @@ -149,7 +153,7 @@ config FB_SYS_HELPERS config FB_SYS_HELPERS_DEFERRED bool - depends on FB + depends on FB_CORE select FB_DEFERRED_IO select FB_SYS_HELPERS diff --git a/drivers/video/fbdev/core/Makefile b/drivers/video/fbdev/core/Makefile index 9150bafd9e89..2cd213716c12 100644 --- a/drivers/video/fbdev/core/Makefile +++ b/drivers/video/fbdev/core/Makefile @@ -1,10 +1,10 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_NOTIFY) += fb_notify.o -obj-$(CONFIG_FB) += fb.o -fb-y := fb_backlight.o \ - fb_info.o \ - fbmem.o fbmon.o fbcmap.o \ +obj-$(CONFIG_FB_CORE) += fb.o +fb-y := fb_info.o \ + fbmem.o fbcmap.o \ modedb.o fbcvt.o fb_cmdline.o fb_io_fops.o +fb-$(CONFIG_FB) += fb_backlight.o fbmon.o fb-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o fb-$(CONFIG_FB_DEVICE) += fb_chrdev.o \ fb_procfs.o \ From patchwork Mon Jul 3 23:05:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13300533 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D500BEB64DC for ; Mon, 3 Jul 2023 23:06:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9163710E250; Mon, 3 Jul 2023 23:05:56 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id E261D10E24E for ; Mon, 3 Jul 2023 23:05:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688425551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Lkg59yW6N3qp9OWXgPkPBl5HF5mAhGC8YRJ6AIKa7QU=; b=Gr0auuNsXRw2Lij7u3CIfGp4MCLlQaw977HDcla3PBDiTE0DV962IHKRLlBf6MpCNgY4cO 28BQvKN6GTCuV2cJnvVpCEM8ORm8ywN2tiDBVtAN8ni7pkHas9AtREg0TWto/VJsxF8GUf wYRvP4vUIr+eGYkYuEJUL3Ej6Fvn8w0= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-399-yJ34WN2GPuOgOtCmxxHv5g-1; Mon, 03 Jul 2023 19:05:50 -0400 X-MC-Unique: yJ34WN2GPuOgOtCmxxHv5g-1 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-3fa8f8fb7b3so57197475e9.2 for ; Mon, 03 Jul 2023 16:05:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688425549; x=1691017549; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lkg59yW6N3qp9OWXgPkPBl5HF5mAhGC8YRJ6AIKa7QU=; b=i5UOnC4DHNTniaMl8zV68fe5qLGt7domYVmKbPUYRVno1DVpj44owuXcH/yCTHVjkX GhAkKVR41oU6LITsrxeaItNlIfP/it8E8mcSryxQcvUrYEWCME9FF6VBDywNK3kGaQt0 0juJO9NnrzURfIDqqzIHnKEuQnn5mINwXiJOVttrdm2so8rod0knrr/hyKMFeZc0xeKH CwMmqojk9oLO2l4Woo2//AgjjOWlQi3X/Wdls08UvHvrXmw/+Be/4DeSRqE9hsEslRxp nUnTp/ebdy6pFCqkPTclpLfvz/tRBDuYgeN3eACPfIUKKpkEQLR8rFHVg6p5M6bbR6ih 5KIQ== X-Gm-Message-State: ABy/qLbn8bR8Jjyib6AtZfGYA9+pfEWX7BlEQJvC+6DMCMP44+6Cdz91 N22OLhdj0FIXRFRUUj5xIHeS/3TZAsF4UrByJAqxi2q5s8lr7C1mvJvclXGiv+9UoaVjXSxrqAu koHQ7LKqyREuQ04AI0SuDavPwiLIH X-Received: by 2002:a7b:c3c1:0:b0:3fb:c77e:80f6 with SMTP id t1-20020a7bc3c1000000b003fbc77e80f6mr14175966wmj.36.1688425549033; Mon, 03 Jul 2023 16:05:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlFH9VDFE2aV2/hIaFGZ0GQV1akJl6P61RNQPug3Y8zK/CzFjL40FrXKgHbC+BraT1RvK21S8Q== X-Received: by 2002:a7b:c3c1:0:b0:3fb:c77e:80f6 with SMTP id t1-20020a7bc3c1000000b003fbc77e80f6mr14175942wmj.36.1688425548710; Mon, 03 Jul 2023 16:05:48 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id cw13-20020a056000090d00b003112f836d4esm26504465wrb.85.2023.07.03.16.05.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 16:05:47 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v4 5/5] drm: Make FB_CORE to be selected if DRM fbdev emulation is enabled Date: Tue, 4 Jul 2023 01:05:29 +0200 Message-ID: <20230703230534.997525-6-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230703230534.997525-1-javierm@redhat.com> References: <20230703230534.997525-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Zimmermann , Arnd Bergmann , Javier Martinez Canillas , Maxime Ripard , Geert Uytterhoeven , dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Now that fbdev core has been split in FB_CORE and FB, make the DRM symbol to select the FB_CORE option if the DRM fbdev emulation layer is enabled. This allows to disable the CONFIG_FB option if is not needed, which will avoid the need to explicitly disable each of the legacy fbdev drivers. Signed-off-by: Javier Martinez Canillas --- (no changes since v3) Changes in v3: - Make the DRM symbol to select FB_CORE if DRM_FBDEV_EMULATION is enabled (Arnd Bergmann). - Also make DRM select FB_SYS_HELPERS_DEFERRED if DRM_FBDEV_EMULATION - Make DRM_FBDEV_EMULATION to depend on DRM instead of DRM_KMS_HELPER. Changes in v2: - Make CONFIG_DRM_FBDEV_EMULATION to select FB_CORE (Thomas Zimmermann). drivers/gpu/drm/Kconfig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index afb3b2f5f425..775564558152 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -9,6 +9,9 @@ menuconfig DRM tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA select DRM_PANEL_ORIENTATION_QUIRKS + select DRM_KMS_HELPER if DRM_FBDEV_EMULATION + select FB_CORE if DRM_FBDEV_EMULATION + select FB_SYS_HELPERS_DEFERRED if DRM_FBDEV_EMULATION select HDMI select I2C select DMA_SHARED_BUFFER @@ -95,7 +98,6 @@ config DRM_KUNIT_TEST config DRM_KMS_HELPER tristate depends on DRM - select FB_SYS_HELPERS_DEFERRED if DRM_FBDEV_EMULATION help CRTC helpers for KMS drivers. @@ -131,8 +133,7 @@ config DRM_DEBUG_MODESET_LOCK config DRM_FBDEV_EMULATION bool "Enable legacy fbdev support for your modesetting driver" - depends on DRM_KMS_HELPER - depends on FB=y || FB=DRM_KMS_HELPER + depends on DRM select FRAMEBUFFER_CONSOLE if !EXPERT select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE default y