fb_write missing in skeleton

4 messages, 2 authors, 2016-02-04 · open the first message on its own page

fb_write missing in skeleton

From: Ran Shalit <hidden>
Date: 2016-02-03 20:54:11

Hello,

Is there any reason why fb_write is missing in skeletonfb.c  ?
Isn't it required ?

Thank you,
Ran

Re: fb_write missing in skeleton

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2016-02-04 08:16:14

Hi Ran,

On Wed, Feb 3, 2016 at 9:54 PM, Ran Shalit [off-list ref] wrote:
Is there any reason why fb_write is missing in skeletonfb.c  ?
Isn't it required ?
No, it's not required, cfr. the comments in include/linux/fb.h:

        /* For framebuffers with strange non linear layouts or that do not
         * work with normal memory mapped access
         */
        ssize_t (*fb_read)(struct fb_info *info, char __user *buf,
                           size_t count, loff_t *ppos);
        ssize_t (*fb_write)(struct fb_info *info, const char __user *buf,
                            size_t count, loff_t *ppos);

If not implemented, drivers/video/fbdev/core/fbmem.c:fb_write() will use
normal memory mapped access.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Re: fb_write missing in skeleton

From: Ran Shalit <hidden>
Date: 2016-02-04 09:22:15

On Thu, Feb 4, 2016 at 10:16 AM, Geert Uytterhoeven
[off-list ref] wrote:
Hi Ran,

On Wed, Feb 3, 2016 at 9:54 PM, Ran Shalit [off-list ref] wrote:
quoted
Is there any reason why fb_write is missing in skeletonfb.c  ?
Isn't it required ?
No, it's not required, cfr. the comments in include/linux/fb.h:

        /* For framebuffers with strange non linear layouts or that do not
         * work with normal memory mapped access
         */
        ssize_t (*fb_read)(struct fb_info *info, char __user *buf,
                           size_t count, loff_t *ppos);
        ssize_t (*fb_write)(struct fb_info *info, const char __user *buf,
                            size_t count, loff_t *ppos);

If not implemented, drivers/video/fbdev/core/fbmem.c:fb_write() will use
normal memory mapped access.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Thanks  Geert !

But When we do:
    > cp mybitmap > /dev/fb0
Which method is called (isn't fb_write is called) ?

Is there a readme/tutorial which list the relation between userspace
operations (read/write/ioctl etc) to framebuffer drivers callbacks ?
I couldn't find any.

Best Regards,
Ran

Re: fb_write missing in skeleton

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2016-02-04 09:34:23

Hi Ran,

On Thu, Feb 4, 2016 at 10:22 AM, Ran Shalit [off-list ref] wrote:
On Thu, Feb 4, 2016 at 10:16 AM, Geert Uytterhoeven
[off-list ref] wrote:
quoted
On Wed, Feb 3, 2016 at 9:54 PM, Ran Shalit [off-list ref] wrote:
quoted
Is there any reason why fb_write is missing in skeletonfb.c  ?
Isn't it required ?
No, it's not required, cfr. the comments in include/linux/fb.h:

        /* For framebuffers with strange non linear layouts or that do not
         * work with normal memory mapped access
         */
        ssize_t (*fb_read)(struct fb_info *info, char __user *buf,
                           size_t count, loff_t *ppos);
        ssize_t (*fb_write)(struct fb_info *info, const char __user *buf,
                            size_t count, loff_t *ppos);

If not implemented, drivers/video/fbdev/core/fbmem.c:fb_write() will use
normal memory mapped access.
But When we do:
    > cp mybitmap > /dev/fb0
Which method is called (isn't fb_write is called) ?
drivers/video/fbdev/core/fbmem.c:fb_write()

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help