From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: linux-fbdev@vger.kernel.org
Subject: Re: [PATCH v2] RFC: framebuffer: provide generic get_fb_unmapped_area
Date: Fri, 14 Mar 2014 21:06:13 +0000 [thread overview]
Message-ID: <20140314210613.GL15674@pengutronix.de> (raw)
In-Reply-To: <1391447684-22556-1-git-send-email-u.kleine-koenig@pengutronix.de>
On Mon, Feb 03, 2014 at 06:14:44PM +0100, Uwe Kleine-König wrote:
> This patch makes mmapping the simple-framebuffer device work on a no-MMU
> ARM target. The code is mostly taken from
> arch/blackfin/kernel/sys_bfin.c.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Hello,
>
> note this is only tested on this no-MMU machine and I don't know enough
> about framebuffers and mm to decide if this patch is sane. Also I'm
> a bit unsure about the size check, I just believed Geert that
> PAGE_ALIGN(info->fix.smem_len) is the right value to check against.
Do you still have this patch on your radar?
Best regards
Uwe
> drivers/video/fbmem.c | 20 +++++++++++++++++---
> 1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
> index 7309ac704e26..d0ccedafec8c 100644
> --- a/drivers/video/fbmem.c
> +++ b/drivers/video/fbmem.c
> @@ -1491,6 +1491,22 @@ __releases(&info->lock)
> return 0;
> }
>
> +#ifdef HAVE_ARCH_FB_UNMAPPED_AREA
> +#define fb_get_unmapped_area get_fb_unmapped_area
> +#else
> +unsigned long fb_get_unmapped_area(struct file *filp, unsigned long orig_addr,
> + unsigned long len, unsigned long pgoff, unsigned long flags)
> +{
> + struct fb_info * const info = filp->private_data;
> + unsigned long fb_size = PAGE_ALIGN(info->fix.smem_len);
> +
> + if (pgoff > fb_size || len > fb_size - pgoff)
> + return -EINVAL;
> +
> + return (unsigned long)info->screen_base + pgoff;
> +}
> +#endif
> +
> static const struct file_operations fb_fops = {
> .owner = THIS_MODULE,
> .read = fb_read,
> @@ -1502,9 +1518,7 @@ static const struct file_operations fb_fops = {
> .mmap = fb_mmap,
> .open = fb_open,
> .release = fb_release,
> -#ifdef HAVE_ARCH_FB_UNMAPPED_AREA
> - .get_unmapped_area = get_fb_unmapped_area,
> -#endif
> + .get_unmapped_area = fb_get_unmapped_area,
> #ifdef CONFIG_FB_DEFERRED_IO
> .fsync = fb_deferred_io_fsync,
> #endif
> --
> 1.8.5.2
>
>
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2014-03-14 21:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-03 17:14 [PATCH v2] RFC: framebuffer: provide generic get_fb_unmapped_area Uwe Kleine-König
2014-03-14 21:06 ` Uwe Kleine-König [this message]
2014-03-17 11:23 ` Tomi Valkeinen
2014-03-17 12:15 ` David Herrmann
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=20140314210613.GL15674@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=linux-fbdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.