All of lore.kernel.org
 help / color / mirror / Atom feed
* fb_write missing in skeleton
@ 2016-02-03 20:54 Ran Shalit
  2016-02-04  8:16 ` Geert Uytterhoeven
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ran Shalit @ 2016-02-03 20:54 UTC (permalink / raw)
  To: linux-fbdev

Hello,

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

Thank you,
Ran

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fb_write missing in skeleton
  2016-02-03 20:54 fb_write missing in skeleton Ran Shalit
@ 2016-02-04  8:16 ` Geert Uytterhoeven
  2016-02-04  9:22 ` Ran Shalit
  2016-02-04  9:34 ` Geert Uytterhoeven
  2 siblings, 0 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2016-02-04  8:16 UTC (permalink / raw)
  To: linux-fbdev

Hi Ran,

On Wed, Feb 3, 2016 at 9:54 PM, Ran Shalit <ranshalit@gmail.com> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fb_write missing in skeleton
  2016-02-03 20:54 fb_write missing in skeleton Ran Shalit
  2016-02-04  8:16 ` Geert Uytterhoeven
@ 2016-02-04  9:22 ` Ran Shalit
  2016-02-04  9:34 ` Geert Uytterhoeven
  2 siblings, 0 replies; 4+ messages in thread
From: Ran Shalit @ 2016-02-04  9:22 UTC (permalink / raw)
  To: linux-fbdev

On Thu, Feb 4, 2016 at 10:16 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Ran,
>
> On Wed, Feb 3, 2016 at 9:54 PM, Ran Shalit <ranshalit@gmail.com> 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

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fb_write missing in skeleton
  2016-02-03 20:54 fb_write missing in skeleton Ran Shalit
  2016-02-04  8:16 ` Geert Uytterhoeven
  2016-02-04  9:22 ` Ran Shalit
@ 2016-02-04  9:34 ` Geert Uytterhoeven
  2 siblings, 0 replies; 4+ messages in thread
From: Geert Uytterhoeven @ 2016-02-04  9:34 UTC (permalink / raw)
  To: linux-fbdev

Hi Ran,

On Thu, Feb 4, 2016 at 10:22 AM, Ran Shalit <ranshalit@gmail.com> wrote:
> On Thu, Feb 4, 2016 at 10:16 AM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
>> On Wed, Feb 3, 2016 at 9:54 PM, Ran Shalit <ranshalit@gmail.com> 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.

> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-02-04  9:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03 20:54 fb_write missing in skeleton Ran Shalit
2016-02-04  8:16 ` Geert Uytterhoeven
2016-02-04  9:22 ` Ran Shalit
2016-02-04  9:34 ` Geert Uytterhoeven

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.