From patchwork Thu Aug 3 18:35:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Zimmermann X-Patchwork-Id: 13340706 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 8D547C27C53 for ; Thu, 3 Aug 2023 18:41:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=iDNbfit5MuVf2U4IE795V2jz8K3fvKODtaLyEdejl8c=; b=waY7eP94nAZbxF sQ4ibFQnjHRUcNCZh59aMmm6+TZE29IbkFGZ0hkgAKrSkLJHkXRXX3i0+iVIXPw6yqaAmdU4ksq1N gH1zoUuE688FjOuYDPE8z0ItzxnRwIpXbN7heUMNuZAicVudkWApbP1SrGg37zMrTIP2uCTzaA8nJ VHIEykl7ANjeaWRuKbxNsscEapq9vpkl7nx+G4EIMoVEYCrgH0vMjoZoxLPuROI1GYBI3aKqndOxK Lj23V+OD1Ju5K8TmrHLaU3JY+gYAs7Bf6gNNaXNONzDCo5rk173VCwxwtvfZ5ZcrIRh+7Ojed0ai2 1l5Fo7MhPyNoOysaHi9A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qRdFr-00AbxF-1j; Thu, 03 Aug 2023 18:40:59 +0000 Received: from smtp-out1.suse.de ([2001:67c:2178:6::1c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qRdFa-00Abbj-1j; Thu, 03 Aug 2023 18:40:46 +0000 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id E8B232189D; Thu, 3 Aug 2023 18:40:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1691088037; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=OtTqFXBQhlrG+PZAvHxivPSqb0Fo/vxr7QReG0BjreQ=; b=uqV8yhMEb4iL193tfXjqv5+X4ARxnhBjn/KyK/krKa931N538DnrW6jSuuJbdPMnqVWEz6 rG1Lwbat9vFKhDkieHbSaBNKRflX54LJgot4HF7ACTyA3TL1Jl/ubURaeNxTelysKhUcL8 tfSLHdEolxQ8h09FzS78SYwc1diPX+o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1691088037; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=OtTqFXBQhlrG+PZAvHxivPSqb0Fo/vxr7QReG0BjreQ=; b=du5u9+OHtnBg+RMsEpDMTVwG8N1kRebeeHEvq+egzUBYpUTgNJW0CiqTllKzfzFEcZEXR+ FAn2X86CkwCkf6AQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AE7491333C; Thu, 3 Aug 2023 18:40:37 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 7zagKaX0y2TLGAAAMHmgww (envelope-from ); Thu, 03 Aug 2023 18:40:37 +0000 From: Thomas Zimmermann To: deller@gmx.de, javierm@redhat.com, sam@ravnborg.org Cc: linux-media@vger.kernel.org, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-geode@lists.infradead.org, linux-omap@vger.kernel.org, kvm@vger.kernel.org, Thomas Zimmermann Subject: [PATCH v3 00/47] fbdev: Use I/O helpers Date: Thu, 3 Aug 2023 20:35:25 +0200 Message-ID: <20230803184034.6456-1-tzimmermann@suse.de> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230803_114042_841202_A33D2ECE X-CRM114-Status: GOOD ( 10.65 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Most fbdev drivers operate on I/O memory. And most of those use the default implementations for file I/O and console drawing. Convert all these low-hanging fruits to the fb_ops initializer macro and Kconfig token for fbdev I/O helpers. The fbdev I/O helpers are easily grep-able. In a later patch, they can be left to empty values if the rsp. functionality, such as file I/O or console, has been disabled. There are no functional changes. The helpers set the defaults that the drivers already use. The fb_io_*() functions that the initializer macro sets are the defaults if struct fb_ops.fb_read or .fb_write are NULL. After all drivers have been updated to set them explicitly, the defaults can be dropped and the functions can be made optional. v3: * use _IOMEM_ in commit message v2: * updated to use _IOMEM_ tokens Thomas Zimmermann (47): media/vivid: Use fbdev I/O helpers fbdev/acornfb: Use fbdev I/O helpers fbdev/asiliantfb: Use fbdev I/O helpers fbdev/atmel_lcdfb: Use fbdev I/O helpers fbdev/aty128fb: Use fbdev I/O helpers fbdev/carminefb: Use fbdev I/O helpers fbdev/chipsfb: Use fbdev I/O helpers fbdev/da8xx-fb: Use fbdev I/O helpers fbdev/efifb: Use fbdev I/O helpers fbdev/fm2fb: Use fbdev I/O helpers fbdev/fsl-diu-fb: Use fbdev I/O helpers fbdev/g364fb: Use fbdev I/O helpers fbdev/geode/gx1fb: Use fbdev I/O helpers fbdev/geode/gxfb: Use fbdev I/O helpers fbdev/geode/lxfb: Use fbdev I/O helpers fbdev/goldfishfb: Use fbdev I/O helpers fbdev/grvga: Use fbdev I/O helpers fbdev/gxt4500: Use fbdev I/O helpers fbdev/i740fb: Use fbdev I/O helpers fbdev/imxfb: Use fbdev I/O helpers fbdev/kyro: Use fbdev I/O helpers fbdev/macfb: Use fbdev I/O helpers fbdev/maxinefb: Use fbdev I/O helpers fbdev/mb862xxfb: Use fbdev I/O helpers fbdev/mmpfb: Use fbdev I/O helpers fbdev/mx3fb: Use fbdev I/O helpers fbdev/ocfb: Use fbdev I/O helpers fbdev/offb: Use fbdev I/O helpers fbdev/omapfb: Use fbdev I/O helpers fbdev/platinumfb: Use fbdev I/O helpers fbdev/pmag-aa-fb: Use fbdev I/O helpers fbdev/pmag-ba-fb: Use fbdev I/O helpers fbdev/pmagb-b-fb: Use fbdev I/O helpers fbdev/pxa168fb: Use fbdev I/O helpers fbdev/pxafb: Use fbdev I/O helpers fbdev/q40fb: Use fbdev I/O helpers fbdev/s3cfb: Use fbdev I/O helpers fbdev/sh7760fb: Use fbdev I/O helpers fbdev/simplefb: Use fbdev I/O helpers fbdev/sstfb: Use fbdev I/O helpers fbdev/sunxvr1000: Use fbdev I/O helpers fbdev/sunxvr2500: Use fbdev I/O helpers fbdev/uvesafb: Use fbdev I/O helpers fbdev/valkyriefb: Use fbdev I/O helpers fbdev/vesafb: Use fbdev I/O helpers fbdev/xilinxfb: Use fbdev I/O helpers vfio-dev/mdpy-fb: Use fbdev I/O helpers drivers/media/test-drivers/vivid/Kconfig | 4 +- drivers/media/test-drivers/vivid/vivid-osd.c | 4 +- drivers/video/fbdev/Kconfig | 160 +++++-------------- drivers/video/fbdev/acornfb.c | 4 +- drivers/video/fbdev/asiliantfb.c | 4 +- drivers/video/fbdev/atmel_lcdfb.c | 4 +- drivers/video/fbdev/aty/aty128fb.c | 4 +- drivers/video/fbdev/carminefb.c | 5 +- drivers/video/fbdev/chipsfb.c | 4 +- drivers/video/fbdev/da8xx-fb.c | 4 +- drivers/video/fbdev/efifb.c | 4 +- drivers/video/fbdev/fm2fb.c | 4 +- drivers/video/fbdev/fsl-diu-fb.c | 4 +- drivers/video/fbdev/g364fb.c | 4 +- drivers/video/fbdev/geode/Kconfig | 12 +- drivers/video/fbdev/geode/gx1fb_core.c | 5 +- drivers/video/fbdev/geode/gxfb_core.c | 5 +- drivers/video/fbdev/geode/lxfb_core.c | 5 +- drivers/video/fbdev/goldfishfb.c | 4 +- drivers/video/fbdev/grvga.c | 4 +- drivers/video/fbdev/gxt4500.c | 4 +- drivers/video/fbdev/i740fb.c | 4 +- drivers/video/fbdev/imxfb.c | 4 +- drivers/video/fbdev/kyro/fbdev.c | 4 +- drivers/video/fbdev/macfb.c | 4 +- drivers/video/fbdev/maxinefb.c | 4 +- drivers/video/fbdev/mb862xx/mb862xxfbdrv.c | 4 +- drivers/video/fbdev/mmp/fb/Kconfig | 4 +- drivers/video/fbdev/mmp/fb/mmpfb.c | 4 +- drivers/video/fbdev/mx3fb.c | 4 +- drivers/video/fbdev/ocfb.c | 4 +- drivers/video/fbdev/offb.c | 4 +- drivers/video/fbdev/omap/Kconfig | 4 +- drivers/video/fbdev/omap/omapfb_main.c | 4 +- drivers/video/fbdev/platinumfb.c | 4 +- drivers/video/fbdev/pmag-aa-fb.c | 4 +- drivers/video/fbdev/pmag-ba-fb.c | 4 +- drivers/video/fbdev/pmagb-b-fb.c | 4 +- drivers/video/fbdev/pxa168fb.c | 4 +- drivers/video/fbdev/pxafb.c | 4 +- drivers/video/fbdev/q40fb.c | 4 +- drivers/video/fbdev/s3c-fb.c | 4 +- drivers/video/fbdev/sh7760fb.c | 4 +- drivers/video/fbdev/simplefb.c | 4 +- drivers/video/fbdev/sstfb.c | 4 +- drivers/video/fbdev/sunxvr1000.c | 4 +- drivers/video/fbdev/sunxvr2500.c | 4 +- drivers/video/fbdev/uvesafb.c | 4 +- drivers/video/fbdev/valkyriefb.c | 4 +- drivers/video/fbdev/vesafb.c | 4 +- drivers/video/fbdev/xilinxfb.c | 4 +- samples/Kconfig | 4 +- samples/vfio-mdev/mdpy-fb.c | 4 +- 53 files changed, 94 insertions(+), 286 deletions(-) base-commit: 194cd63362db9ed2cbdd3deaa7a8752b86d95f3b prerequisite-patch-id: 0aa359f6144c4015c140c8a6750be19099c676fb prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 prerequisite-patch-id: cbc453ee02fae02af22fbfdce56ab732c7a88c36 prerequisite-patch-id: 9e45f32f01ebd4d3a927038e52b91a389673b9bb prerequisite-patch-id: b0b735b6e10a12816cea5ea15e3292c6342ed2f2 prerequisite-patch-id: 3997b2a71240d34ccf6990cf133cad39d4efc8f4 prerequisite-patch-id: d64b3896ffd91137df0c4311a8b7aa0d5fa40a11 prerequisite-patch-id: 5c8669f6947f5a44d19f4f8bd36b77c31163eda7