From patchwork Fri Jul 14 17:16: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: 120590 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2659986vqm; Fri, 14 Jul 2023 10:48:56 -0700 (PDT) X-Google-Smtp-Source: APBJJlF//MWPIs6Q3jbGM9lbs9VsFhooVTsyH2D/e5VlOHrIvE1uOvFOjKia3x6kwf9fZyOqJ+FJ X-Received: by 2002:a17:907:1257:b0:957:2e48:5657 with SMTP id wc23-20020a170907125700b009572e485657mr3942642ejb.68.1689356936040; Fri, 14 Jul 2023 10:48:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689356936; cv=none; d=google.com; s=arc-20160816; b=mz5Y18RFBcOPINSZomni6n7bkDTE0X3iynLkBX2lYtaXD9hGFup/6QzYUxVlUM5Kdl 9iXHjLnI8PvgxslH4bysiWvLxvh8zeFwEWNfh1NMFkH+G6CI0+MnwncPX+Mcc0dheB2k OMYsq60SQQTG9+YTGZO9tdPx96LozCGEFsbXwirAe8FAvQDZKqAGBvqAFgb5fnOzculE A6IytNVWcOZ36RdnqZPTT/IUl+r3SjeWL3butj9NK34t7udHtbNDTekbKE/PDMTdEot+ ttQoYJO2JwakkRjkG7LFpicWDZYX0UbzCWa1Z/mkjKeKmX2nHEVxx4JdFm36REqi6IJ3 W2Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Mf75CzVatbv3pQWH8r83ggHJgBXSpuprGf6QjemCQEc=; fh=WTyGn68VG7eLNtVuew2HAf5/f8drbcdxhBVOtvIT950=; b=EnOZGgDNPVyyKNtKeU4qL72+IBgaEO3ZFC2XrarCMWSdc72frbHqk1PyS0rfO6euBb /l+YpB86eh8R1LvfQ2X+z7VpCPmt+NR58vhjfAtWNnVfOjZhVz5Ltq0a0LrdS/0+hC5B YzgL14nF7KYSnEnGxKhBmU7vMzIdtMVfbTvaa0nkyfRSoHuo2LxXVGHL9MNop65wvu0n U8HTp33ojJG3L3cyt/4563j8wWOkC5fjmaI+pfwTv55OswW/Mbk9nie8AB8XWffPhKqL vf9I3YEnWG/BlyBVULmijx8M2SBXGZUTyqn/FCysNfoqYgD/npASrg3hsonHebPPx/91 n11Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=GootNOsf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s21-20020a170906355500b00988d0cd5273si9345487eja.112.2023.07.14.10.48.32; Fri, 14 Jul 2023 10:48:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=GootNOsf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235958AbjGNRRx (ORCPT + 99 others); Fri, 14 Jul 2023 13:17:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44806 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235946AbjGNRRt (ORCPT ); Fri, 14 Jul 2023 13:17:49 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D7DC83599 for ; Fri, 14 Jul 2023 10:16:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689355016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Mf75CzVatbv3pQWH8r83ggHJgBXSpuprGf6QjemCQEc=; b=GootNOsfCV8n89rmaHzesx3XU02fGseHqTkmDYe34QPvfu9JXM2P4NCHo0WYogjwHmlkoz 28RNZm4bABVg9Tudwplm7g/5+YDtUCzoIj1yibbQ7YqDxZa9kgkB+wEd+eClwq3h1Y/tfH TMDfmNg1bwdgBJFv6x/gShCPnerdnZU= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-303-smVA7ZTNOCKP3HkrohivUw-1; Fri, 14 Jul 2023 13:16:54 -0400 X-MC-Unique: smVA7ZTNOCKP3HkrohivUw-1 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3144bf68a03so1247553f8f.2 for ; Fri, 14 Jul 2023 10:16:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689355013; x=1691947013; 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=Mf75CzVatbv3pQWH8r83ggHJgBXSpuprGf6QjemCQEc=; b=dx4OXDl2GzaaiOHaywEoRW28SeEg9g2VBh5M0csmZ57qetw7thQc8Svjqw7Aq1iAp0 PA5BLH+U/J8i+12FKWjU4bV5qg8qwrjuFifoOFXGJuscp1Cyn9+EsSDW1FfLNDu1274r g1jVRcAWwj1F7Ucb8H8F8XRpl3BKnoQLXqJwiVOO1TraH1GTZdt1LXO6oUFnTUQyIfiq VdBx9ZFs9NqVOZTodefpbnfZ+E6WbOtbHDB4yUvQISJkgkQXfVmqJYoCeDmTiDfbMTzX JrFMTvc8W7TtZ1UQpV3MVLXXDemF51XA8YtX81IJmcUc/QUSiAPQqBasgj2enL/trqpV FIZw== X-Gm-Message-State: ABy/qLbIOL5T/Ak4+Ntli7d4gtmy072NgAwWgTQ75EnbCldu3IFUKLF/ SR2j/4/9YP6MpiTZyb1WajS1ATjHmBaBGwLuh5BhPyZtz876DtLJAjchSOGiWGggO2yBvlEcMS8 zn1RtVHc/M5qJENG/zIbd7NWK5Foh5Db9mefmUkVYL8jMAbtFq/H09E6wJMvRxUF1PSJDos/ttc Yv7De+M2U= X-Received: by 2002:adf:e952:0:b0:30e:5bd0:21a2 with SMTP id m18-20020adfe952000000b0030e5bd021a2mr4555843wrn.52.1689355013439; Fri, 14 Jul 2023 10:16:53 -0700 (PDT) X-Received: by 2002:adf:e952:0:b0:30e:5bd0:21a2 with SMTP id m18-20020adfe952000000b0030e5bd021a2mr4555827wrn.52.1689355013182; Fri, 14 Jul 2023 10:16:53 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id d17-20020adfe891000000b003143cdc5949sm11620842wrm.9.2023.07.14.10.16.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jul 2023 10:16:52 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Geert Uytterhoeven , Thomas Zimmermann , Arnd Bergmann , Javier Martinez Canillas , Greg Kroah-Hartman , Helge Deller , Jacek Lawrynowicz , Melissa Wen , Nipun Gupta , Oded Gabbay , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Subject: [PATCH v5 1/4] video: Add auxiliary display drivers to Graphics support menu Date: Fri, 14 Jul 2023 19:16:29 +0200 Message-ID: <20230714171642.91185-2-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230714171642.91185-1-javierm@redhat.com> References: <20230714171642.91185-1-javierm@redhat.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771419138477384314 X-GMAIL-MSGID: 1771419138477384314 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 --- Changes in v5: - Take the auxdisplay/Kconfig source out of "if HAS_IOMEM" (Geert Uytterhoeven). 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..e5b1cc54cafa 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -25,6 +25,8 @@ config VIDEO_NOMODESET bool default n +source "drivers/auxdisplay/Kconfig" + if HAS_IOMEM config HAVE_FB_ATMEL From patchwork Fri Jul 14 17:16:30 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: 120578 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2656590vqm; Fri, 14 Jul 2023 10:41:47 -0700 (PDT) X-Google-Smtp-Source: APBJJlGJO0watUNw/2R2BjOYBhlZEQYM4ofSDQ0xwr1WEMLPwb1UylZCPrcp6VmyFe/Urp831b6s X-Received: by 2002:a05:6a20:549f:b0:122:c6c4:36b1 with SMTP id i31-20020a056a20549f00b00122c6c436b1mr6656741pzk.4.1689356506703; Fri, 14 Jul 2023 10:41:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689356506; cv=none; d=google.com; s=arc-20160816; b=e9Cs1KEWPneZmFBHBqnCumDc9ngSmr7KPcxfkd6ggl8MTTMBob5B4rRez+dQxO9V4P VCTYC/1RyEn/3GDlyBLc4buteUfZhfAWa4ovniHXPeq68VufVUcF2zFBUCBMu7a+3liL lzHbkGs2/DTk/AVjgn0cEjHoXbrs03nVdtlJ3xzAJ0gtrbbEKRIBxYvZixxa/RWwaxD0 I0scPXIFbdZu1PTKpdjEANCHWWih7mCnRuqQXezoZEogD4PciXCZzf2gkzD7xtarTVOb V/pMxEsPXVDJ8DLqVZgw2KiqHPuu9Zqle8T5YltTWX09Lcb3vJSu0fNX7RG3xsZ+YE01 iChg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=H3RubCoS5fodtVjbVQMhDpySdYC1/vabLgYbQkOImtE=; fh=DUpcL4zlEfkTfZvE3FHE2tOBfli0fzV813W/EKptjrs=; b=045wJWNqmyb3brCwOD6XnjTWmYZlIwXjm3L1E7U+1mgJemjFxEdDaum34Hn+otezwv 3l8lf2m5soM3xZUho7ElB4VnHpvCuKncWMrB82h1fDeKUI6ODu61eLkyqTk9/wnN7WNL IoeAl79F6LbybU4WPwhbVovTp/1w5YzZ1f97nQbT5uUO0OdSX071uztl1LNkGsUn5U4R Phu+Kx+BL9tLIPqiZvWTxxOMZOWeuxam2JFp4WbvXWHLvyYwpzsnCE0IyKZRqJofY/cj rlTxc2UH6U55hJDFu6e8X8yYT60VUo1057l4XGXWEjcCQloVAYyZxTEZyHVL7xBIBQcA Bjow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="Ez3/FoQh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q24-20020a631f58000000b0054fe4a4f66bsi7430566pgm.61.2023.07.14.10.41.34; Fri, 14 Jul 2023 10:41:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="Ez3/FoQh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236032AbjGNRSO (ORCPT + 99 others); Fri, 14 Jul 2023 13:18:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235554AbjGNRRv (ORCPT ); Fri, 14 Jul 2023 13:17:51 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E6BE2D40 for ; Fri, 14 Jul 2023 10:16:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689355018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H3RubCoS5fodtVjbVQMhDpySdYC1/vabLgYbQkOImtE=; b=Ez3/FoQhZlXxQz4Pv9RqvpjoQXJEE5h298bWgvjZ5R3A6gUH4vOV6JddSRIiVbJNj7e77Z ZGFU76JaS/1ddcvnHh8jTr0ZlOb3Ee9yzujMC81ZLN8SvKY1j6kWei8VWfCcBcAqSqT3Uh tCNg5PgR7paVNVkWwlUenPBnuUneYUo= 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-379-L5etGFtjP3OOvPC6-5ntzA-1; Fri, 14 Jul 2023 13:16:57 -0400 X-MC-Unique: L5etGFtjP3OOvPC6-5ntzA-1 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-31444df0fafso1220836f8f.2 for ; Fri, 14 Jul 2023 10:16:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689355016; x=1691947016; 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=H3RubCoS5fodtVjbVQMhDpySdYC1/vabLgYbQkOImtE=; b=UHaCTOSopCnJYG/eoncTX7oLGi+tLFpnBE0XfCi2nk9qIfmP410lsZHMVmi8BB37oq LR9qn24+qw+/EkMWBxyCV2sqFf6OR0VOKNevgl6lQVMC7h9B1sHqLsoxGM5Y8WuDgTVa ckQiNBS7yK7G77oW3MPMEFdFJDFEScEN5mwma+Pg/kNm5cXzifv8bqTPUqxY8akMz3d9 ZEoNuqslRfICp9zr0yyOsw1SkoH1A5JRagN77B/5cw6cKAXpeF7KOCN6bt7A7cZEAqEp DhtRE7RM6Kr32qbXrvuPTcvGy/nMQkqqmGpt1iPqAGEYv4Zxomlcxi0oFI8QRE98isvu bx0w== X-Gm-Message-State: ABy/qLYWx4YjEAYofSN49wMfHepN12m1S7uSxkCzOI62bCtIGt4RwGCf kmoSF8ZBL453Us1gEZIWe384DS1+B1uIusywOT7BO5dkpE3KzrMM5kt9ZIv2AERANrApnXHKy5g iYOpMcHpxeAq7MXlVjAvdS2nbVhLECw/Vie/0SSEp5SPl0te7zSOokeA1qXr3oRUrz9+5PyPsv5 BFrbKTwaM= X-Received: by 2002:a5d:54c1:0:b0:314:1fdc:796d with SMTP id x1-20020a5d54c1000000b003141fdc796dmr4676269wrv.70.1689355015717; Fri, 14 Jul 2023 10:16:55 -0700 (PDT) X-Received: by 2002:a5d:54c1:0:b0:314:1fdc:796d with SMTP id x1-20020a5d54c1000000b003141fdc796dmr4676244wrv.70.1689355015281; Fri, 14 Jul 2023 10:16:55 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id d17-20020adfe891000000b003143cdc5949sm11620842wrm.9.2023.07.14.10.16.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jul 2023 10:16:54 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Geert Uytterhoeven , Thomas Zimmermann , Arnd Bergmann , Javier Martinez Canillas , Andy Shevchenko , Daniel Vetter , Helge Deller , Randy Dunlap , Sam Ravnborg , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org Subject: [PATCH v5 2/4] fbdev: Move core fbdev symbols to a separate Kconfig file Date: Fri, 14 Jul 2023 19:16:30 +0200 Message-ID: <20230714171642.91185-3-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230714171642.91185-1-javierm@redhat.com> References: <20230714171642.91185-1-javierm@redhat.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771418688545721096 X-GMAIL-MSGID: 1771418688545721096 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 c12c166be7d1..ec4068abeb8e 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 - select FB_SYS_HELPERS_DEFERRED - -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 @@ -2223,3 +2022,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 Fri Jul 14 17:16:31 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: 120575 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2656188vqm; Fri, 14 Jul 2023 10:40:53 -0700 (PDT) X-Google-Smtp-Source: APBJJlG03yNFjlD9sXwh8ySBvjuvvMxYy9jNqnPuZKC/1XHyg95VgSkw9IAaj5S7iCiSZeqPc+c2 X-Received: by 2002:a17:902:da8a:b0:1b3:b84b:9008 with SMTP id j10-20020a170902da8a00b001b3b84b9008mr4440558plx.5.1689356452851; Fri, 14 Jul 2023 10:40:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689356452; cv=none; d=google.com; s=arc-20160816; b=xT8MCxDqAvA/HkP5wAWr1A5xaUJM0gYUDR80Vv5Kail9dxdm7m4b7Ui4ggzrcpCWZb y5JnlXSoppGrc0CpB5pbfHQ7W3sPs+jPMg/bxaruNtMdTT1y5N1t+cH1rOqP+pvn70UE Y+cvyWA0RdxbpCwsw39qRU02Gaf8Vst04kqcp31gdBDAVujezry6fQyFFXZkndi0SWk3 ndhkQbjvm5DfYoCTqgJ1xMmCuMDXH2CS6fQbD27eiwCiXMcjx0sO+p59bdG3ADX73WrW JPAtqZ+W4vMOCpnnb8QzliBdAPaQqWrGQl9l8FMnrSCGKyoVDkpO1QozE16dZEkuqf9r S3hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=jxx5TTk5lZu9HJvHT+E7YQeM4QywQCqf8gUUxBZGqhw=; fh=SH7amtEbFtxW6624fEN4rVxD3Xj3rJrkMCq/GsnXQCg=; b=YZlZ8NN2jWAVwm57fbv7oiqN0hs4TJFomLCzl5U+0aOru+mUj0cDZusQkn/0KyVrhN WM7AhSELuN4ugAEQCcBJyyR+YNVn7ZXNnxRznC96/lhADEqqU1o6HC9GYH9kvoyaYiS7 yMoEJfgsz3YSePL3XNHfLzPeXHkwZC/ulBCNqRRD05KmzT+Qd8Ez7a6LxI2dpWHpd5J5 nEh8Srl4qXyo9n44chqO01pRYlvq949IY16XkvauSfdttZUACtZ863kd7mdCSDwNtKSg kyuRID55HnYOe3nnBL2XDgJUtJz7f7EX8uGqWwDGu+FpWPNd3zGZRz5Sz7p8t1uGgg2R 5dLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Lmh1otN0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jw19-20020a170903279300b001b0450241d1si2345967plb.283.2023.07.14.10.40.39; Fri, 14 Jul 2023 10:40:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Lmh1otN0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236201AbjGNRSS (ORCPT + 99 others); Fri, 14 Jul 2023 13:18:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235643AbjGNRRw (ORCPT ); Fri, 14 Jul 2023 13:17:52 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D04B52691 for ; Fri, 14 Jul 2023 10:17:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689355020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jxx5TTk5lZu9HJvHT+E7YQeM4QywQCqf8gUUxBZGqhw=; b=Lmh1otN0hWeyPiKtTf8EJ4urNfp2D4CM9Zu3UcpNpzH006qRpghfwh9SH8hVPSn1poroSB REHQBZT6KpvBUixkF0aLAP/iMeE/Rpx3hZsrHM+WVa+efrIhyYRJscZuVOD5jsUirIYZZi 49jQdoODr04m04X3cKsd50SNwBoB700= 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-436-R0zMpvUzPnmY_Z3qxMEoPA-1; Fri, 14 Jul 2023 13:16:59 -0400 X-MC-Unique: R0zMpvUzPnmY_Z3qxMEoPA-1 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-3fa9a282fffso11952155e9.1 for ; Fri, 14 Jul 2023 10:16:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689355017; x=1691947017; 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=jxx5TTk5lZu9HJvHT+E7YQeM4QywQCqf8gUUxBZGqhw=; b=gMoqguhC2N7TiMaquPPsIZ9ul9NhdCHNSxj2boW7Du9exZ/WNnhia8fjmCJAtV/END 1zXRy8pr3DhKKlIPcSvNKIPT03gGYdWT4cwKvACVV56C6rN0fuv2KCyTUAeqbmZuroo4 3aflof7uBLFnqqupTSKLAZiJ3IruUpAKXU++fU0rGJOMMNXvzTTXZT/leOLJgLO7Imw9 ipFg8IUJaHrAI5hVXqYMJAKlTIEnIjOZWNboWw5yIfHfk7377eLj1Jh0aQNNppsPm7O9 GlMr5QpIoN4a6i5F3XFyrqvcZuYxlACaYI3htJ0sedl7j78rYc6V76GQLB2LnJXiMRG5 fvqQ== X-Gm-Message-State: ABy/qLZEtHbmzyouImR/LSd2vN6/Jyk9PZ236tDf6UAZfvBhU6JuP0iE u0LA79BfdBuw1P07xMHr2ETJX9/Fh0DX0W1qrkNv1HFAu2mNVNWMDgxnF5fwiwAOG/zHSzwD2be TD1LN++Yh48ixm/3Q+liMq9oPG6rNp5k8opEsBVokbfBWUcuGJ9A/w12QVqSR3Y9xcsnFeXQcsg vwP0WBUX4= X-Received: by 2002:adf:e48e:0:b0:313:f463:9d40 with SMTP id i14-20020adfe48e000000b00313f4639d40mr4564557wrm.65.1689355017399; Fri, 14 Jul 2023 10:16:57 -0700 (PDT) X-Received: by 2002:adf:e48e:0:b0:313:f463:9d40 with SMTP id i14-20020adfe48e000000b00313f4639d40mr4564526wrm.65.1689355017078; Fri, 14 Jul 2023 10:16:57 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id d17-20020adfe891000000b003143cdc5949sm11620842wrm.9.2023.07.14.10.16.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jul 2023 10:16:56 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Geert Uytterhoeven , Thomas Zimmermann , Arnd Bergmann , Javier Martinez Canillas , Andy Shevchenko , Borislav Petkov , Daniel Thompson , Daniel Vetter , Dave Hansen , Greg Kroah-Hartman , "H. Peter Anvin" , Helge Deller , Ingo Molnar , Jingoo Han , Lee Jones , Randy Dunlap , Sam Ravnborg , Thomas Gleixner , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, x86@kernel.org Subject: [PATCH v5 3/4] fbdev: Split frame buffer support in FB and FB_CORE symbols Date: Fri, 14 Jul 2023 19:16:31 +0200 Message-ID: <20230714171642.91185-4-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230714171642.91185-1-javierm@redhat.com> References: <20230714171642.91185-1-javierm@redhat.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771418631655886454 X-GMAIL-MSGID: 1771418631655886454 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 v5: - Fix ifdef guard check in drivers/video/backlight/backlight.c (Arnd Bergmann). 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/backlight/backlight.c | 6 +++--- drivers/video/console/Kconfig | 2 +- drivers/video/fbdev/Kconfig | 10 ++++++++-- drivers/video/fbdev/core/Kconfig | 30 ++++++++++++++++------------- drivers/video/fbdev/core/Makefile | 8 ++++---- 7 files changed, 35 insertions(+), 25 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/backlight/backlight.c b/drivers/video/backlight/backlight.c index 9a885d398c22..86e1cdc8e369 100644 --- a/drivers/video/backlight/backlight.c +++ b/drivers/video/backlight/backlight.c @@ -79,8 +79,8 @@ static const char *const backlight_scale_types[] = { [BACKLIGHT_SCALE_NON_LINEAR] = "non-linear", }; -#if defined(CONFIG_FB) || (defined(CONFIG_FB_MODULE) && \ - defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)) +#if defined(CONFIG_FB_CORE) || (defined(CONFIG_FB_CORE_MODULE) && \ + defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)) /* * fb_notifier_callback * @@ -155,7 +155,7 @@ static inline int backlight_register_fb(struct backlight_device *bd) static inline void backlight_unregister_fb(struct backlight_device *bd) { } -#endif /* CONFIG_FB */ +#endif /* CONFIG_FB_CORE */ static void backlight_generate_event(struct backlight_device *bd, enum backlight_update_reason reason) 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 ec4068abeb8e..7e65a648f71a 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 Fri Jul 14 17:16:32 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: 120577 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2656539vqm; Fri, 14 Jul 2023 10:41:38 -0700 (PDT) X-Google-Smtp-Source: APBJJlFm5dkKRsMDOhn0RfCclUWhOp7sChygIBO2toHVHkeeDyMsRR8agvxQIqish1fnXFaZQK5R X-Received: by 2002:a17:903:22c7:b0:1b8:a894:407c with SMTP id y7-20020a17090322c700b001b8a894407cmr4234192plg.22.1689356497649; Fri, 14 Jul 2023 10:41:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689356497; cv=none; d=google.com; s=arc-20160816; b=fqc7FDoyZH8NoKF6STOIfN6kT6f5pwfVBfZtZ7GvwXQJO3Ms2nvOHPh7a7tPyLQ+3H m5qvMoubfBNeCoflrgHGnpr77BcNdoSBAXuHsKYlPXOjAnyP5JdtAMsSJYIYBCSGYSRX LWZ6C/mGSb9czASQM+AP/ERcxr0HvxnEag9mKEzubG4QpUKXaL9MCTBMtoi2XoWO5lz0 rbpq1aZhdkqI7wc10pg2WB8XyDWOQwJPxBB2fKnFgW3X48ZHE+1RoJSS+k10Tmm5FMTN 00HYDYfJ8J18ZbMqRaDoyEHdGgpbNUzWbow2e3L8H0hk8PCGiT3c+Yc1MR52NdnVmyaS dV3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vxKxDl8hkASbmof5obTD+MsN6Wed2Skg+HdVQ+mL5aQ=; fh=wvfTW4scKkExbFptg+eZ4JW/AaOz+6+ZEh/R1aQ22II=; b=mVSTLcuQO+VOePCQ05HPhsOWVtUPpKUBgWAxWU2RynT7CWacfvTmRC38JQAUn4JQW2 6tHd2fVX3z11/2Ri7m9dL5r+hguTFXqLjhqYgPSLKaxS+bD65KPe3cJszXnZZqE3Db+7 tpXI7KLo+W0shAn5ytvOg+mynvMuPfO6INgnkDIdlQE/uBQJpaXQs0j/Sxlog0yrMxnl HPhU8tGM4+tsJiEFD1Dry49BZVig+BFbEroYJF1ts2a+XjSUHhKw1DzhOlUlUOE+QgsC NgNUzqLa6wUHIDXPfS2yEVupWgnwSV/sRWz073pWHOVVxy329pmq6QFavOQkh2Ej2z7z lYAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=L9chM0Wi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ik8-20020a170902ab0800b001b554cf3a43si7175372plb.163.2023.07.14.10.41.24; Fri, 14 Jul 2023 10:41:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=L9chM0Wi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236004AbjGNRSM (ORCPT + 99 others); Fri, 14 Jul 2023 13:18:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235965AbjGNRRu (ORCPT ); Fri, 14 Jul 2023 13:17:50 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7663A2683 for ; Fri, 14 Jul 2023 10:17:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689355021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vxKxDl8hkASbmof5obTD+MsN6Wed2Skg+HdVQ+mL5aQ=; b=L9chM0Wie/Bek0HYoEx+NWotVszErv0NTVL69noYmDf67t17fhUrQKAiJBKZTyFXM07foc A2QZbMWocE3QEyiPqf6ljgYy5T6q+SAhD9d1xaScb14sz/o0tSh6KQUBPSPxi+9HbSKqFn +F4u0xRoRxujdx42+AKfglUzW4i4LdM= 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-103-miSZorVhMsqg6qhbabc57g-1; Fri, 14 Jul 2023 13:17:00 -0400 X-MC-Unique: miSZorVhMsqg6qhbabc57g-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3143a431a01so1256258f8f.1 for ; Fri, 14 Jul 2023 10:17:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689355019; x=1691947019; 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=vxKxDl8hkASbmof5obTD+MsN6Wed2Skg+HdVQ+mL5aQ=; b=AAPVVSGMXDVdMrIDENtprCyPTLF+ZTTI4zFsxitafnIWaaOhckWsUqmU6D9HlonKhI eJsNGQr61fy7wqCo27yDODuhrXGdeAgLmFxo1a4yDrBUgOs8y9VuyXpZsEkpOHxLkPTa fQcwQoo6IufeWMMPf54GTJwY+xMchD6dolep1CrCpKVAholX3Mf3gI3OON9db12ADLd+ VH3IlU29WoKzbuviFLo75ORJz3KcfEyFGDHiLXYmTiScqbpRjvpau162qqEQcH7adMIl zyFdsXQcLjWKCwFgY1sWH8TjAyBGFl7wUCTLDViK87C/LKCMY13gfE3TszWeJWRNHj6+ M4FQ== X-Gm-Message-State: ABy/qLats3qWfd/nFadTMRG5fVRGXrcNmzwIoRkhd5iuIKENY6XdPari exx6O4HsKj0E8QxTtplv/zh8wgjqtbk1mET9zqwEHXPSPvNQ64UWtelR6tPFgy3AeyhP8CcNdn0 Lx64J6JnlKaVHGyWHJZty5OluNIK4HNer+qvFXdOniEnHMSCNqBVuJZ4zt7h7KRZh/v7XqrmI/o ViSFp0nJ4= X-Received: by 2002:a5d:4c41:0:b0:316:d887:624a with SMTP id n1-20020a5d4c41000000b00316d887624amr4545166wrt.15.1689355019257; Fri, 14 Jul 2023 10:16:59 -0700 (PDT) X-Received: by 2002:a5d:4c41:0:b0:316:d887:624a with SMTP id n1-20020a5d4c41000000b00316d887624amr4545148wrt.15.1689355019005; Fri, 14 Jul 2023 10:16:59 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id d17-20020adfe891000000b003143cdc5949sm11620842wrm.9.2023.07.14.10.16.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jul 2023 10:16:57 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Geert Uytterhoeven , Thomas Zimmermann , Arnd Bergmann , Javier Martinez Canillas , Daniel Vetter , David Airlie , Maarten Lankhorst , Maxime Ripard , dri-devel@lists.freedesktop.org Subject: [PATCH v5 4/4] drm: Make FB_CORE to be selected if DRM fbdev emulation is enabled Date: Fri, 14 Jul 2023 19:16:32 +0200 Message-ID: <20230714171642.91185-5-javierm@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230714171642.91185-1-javierm@redhat.com> References: <20230714171642.91185-1-javierm@redhat.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771418678890446302 X-GMAIL-MSGID: 1771418678890446302 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 22c1ba9ea28c..4f209e5c958c 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 @@ -96,7 +99,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. @@ -132,8 +134,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