From: Helge Deller <deller@gmx.de>
To: Thomas Zimmermann <tzimmermann@suse.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
Subject: Re: [PATCH 00/47] fbdev: Use I/O helpers
Date: Fri, 28 Jul 2023 20:46:59 +0200 [thread overview]
Message-ID: <c1a4b7c9-50f2-c43f-277d-c2af9ccc0b50@gmx.de> (raw)
In-Reply-To: <20230728182234.10680-1-tzimmermann@suse.de>
On 7/28/23 18:39, Thomas Zimmermann wrote:
> Most fbdev drivers operate on I/O memory.
Just nitpicking here:
What is I/O memory?
Isn't it either memory, or I/O ?
I mean, I would never think of the cfb* draw functions under I/O.
> 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.
I do see the motivation for your patch, but I think the
macro names are very misleading.
You have:
#define __FB_DEFAULT_IO_OPS_RDWR \
.fb_read = fb_io_read, \
.fb_write = fb_io_write
#define __FB_DEFAULT_IO_OPS_DRAW \
.fb_fillrect = cfb_fillrect, \
.fb_copyarea = cfb_copyarea, \
.fb_imageblit = cfb_imageblit
#define __FB_DEFAULT_IO_OPS_MMAP \
.fb_mmap = NULL /* default implementation */
#define FB_DEFAULT_IO_OPS \
__FB_DEFAULT_IO_OPS_RDWR, \
__FB_DEFAULT_IO_OPS_DRAW, \
__FB_DEFAULT_IO_OPS_MMAP
I think FB_DEFAULT_IO_OPS is OK for read/write/mmap.
But I would suggest to split out __FB_DEFAULT_IO_OPS_DRAW.
Something like:
#define FB_DEFAULT_IO_OPS \
__FB_DEFAULT_IO_OPS_RDWR, \
__FB_DEFAULT_IO_OPS_MMAP
#define FB_DEFAULT_CFB_OPS \
.fb_fillrect = cfb_fillrect, \
.fb_copyarea = cfb_copyarea, \
.fb_imageblit = cfb_imageblit
and then add FB_DEFAULT_IO_OPS *and* FB_DEFAULT_CFB_OPS
to the various struct fb_ops in the drivers.
Helge
next prev parent reply other threads:[~2023-07-28 18:47 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-28 16:39 [PATCH 00/47] fbdev: Use I/O helpers Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 01/47] media/vivid: Use fbdev " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 02/47] fbdev/acornfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 03/47] fbdev/asiliantfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 04/47] fbdev/atmel_lcdfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 05/47] fbdev/aty128fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 06/47] fbdev/carminefb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 07/47] fbdev/chipsfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 08/47] fbdev/da8xx-fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 09/47] fbdev/efifb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 10/47] fbdev/fm2fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 11/47] fbdev/fsl-diu-fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 12/47] fbdev/g364fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 13/47] fbdev/geode/gx1fb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 14/47] fbdev/geode/gxfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 15/47] fbdev/geode/lxfb: " Thomas Zimmermann
2023-07-28 16:39 ` [PATCH 16/47] fbdev/goldfishfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 17/47] fbdev/grvga: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 18/47] fbdev/gxt4500: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 19/47] fbdev/i740fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 20/47] fbdev/imxfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 21/47] fbdev/kyro: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 22/47] fbdev/macfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 23/47] fbdev/maxinefb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 24/47] fbdev/mb862xxfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 25/47] fbdev/mmpfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 26/47] fbdev/mx3fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 27/47] fbdev/ocfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 28/47] fbdev/offb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 29/47] fbdev/omapfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 30/47] fbdev/platinumfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 31/47] fbdev/pmag-aa-fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 32/47] fbdev/pmag-ba-fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 33/47] fbdev/pmag-b-fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 34/47] fbdev/pxa168fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 35/47] fbdev/pxafb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 36/47] fbdev/q40fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 37/47] fbdev/s3cfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 38/47] fbdev/sh7760fb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 39/47] fbdev/simplefb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 40/47] fbdev/sstfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 41/47] fbdev/sunxvr1000: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 42/47] fbdev/sunxvr2500: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 43/47] fbdev/uvesafb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 44/47] fbdev/valkyriefb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 45/47] fbdev/vesafb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 46/47] fbdev/xilinxfb: " Thomas Zimmermann
2023-07-28 16:40 ` [PATCH 47/47] vfio-dev/mdpy-fb: " Thomas Zimmermann
2023-07-28 18:35 ` [PATCH 00/47] fbdev: Use " Sam Ravnborg
2023-07-30 8:55 ` Sam Ravnborg
2023-07-28 18:39 ` Sam Ravnborg
2023-07-29 13:13 ` Thomas Zimmermann
2023-08-01 8:59 ` Thomas Zimmermann
2023-07-28 18:46 ` Helge Deller [this message]
2023-07-28 21:01 ` Sam Ravnborg
2023-07-29 6:51 ` Helge Deller
2023-07-29 13:21 ` Thomas Zimmermann
2023-07-29 13:53 ` Helge Deller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c1a4b7c9-50f2-c43f-277d-c2af9ccc0b50@gmx.de \
--to=deller@gmx.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=javierm@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-geode@lists.infradead.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).