* porting fb driver to 2, 6(fb_get_fix, fb_get_var)
@ 2006-06-12 12:26 syed khader
2006-06-12 12:44 ` Antonino A. Daplas
0 siblings, 1 reply; 6+ messages in thread
From: syed khader @ 2006-06-12 12:26 UTC (permalink / raw)
To: linux-fbdev-devel
Hi,
I am trying to port one of our LCD display frame
buffer driver to 2.6 kernel.
The old 2.4 kernel had these functions defined in
fb_ops
fb_open:
fb_release:
fb_get_fix:
fb_get_var:
fb_set_var:
fb_get_cmap:
fb_set_cmap:
fb_ioctl:
But the latest 2.6 fb_ops has removed these and
there is entirely new set of functions.
I tried to go to list archives but I could not find
information.
What functions in 2.6 fb_ops should to used to
implement this old 2.4 set of functions?
Regards
Syed
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: porting fb driver to 2, 6(fb_get_fix, fb_get_var)
2006-06-12 12:26 porting fb driver to 2, 6(fb_get_fix, fb_get_var) syed khader
@ 2006-06-12 12:44 ` Antonino A. Daplas
2006-06-20 12:01 ` syed khader
0 siblings, 1 reply; 6+ messages in thread
From: Antonino A. Daplas @ 2006-06-12 12:44 UTC (permalink / raw)
To: linux-fbdev-devel
syed khader wrote:
> Hi,
> I am trying to port one of our LCD display frame
> buffer driver to 2.6 kernel.
> The old 2.4 kernel had these functions defined in
> fb_ops
> fb_open:
> fb_release:
These 2 are still in 2.6, but they're optional.
> fb_get_fix:
> fb_get_var:
Gone.
> fb_set_var:
The above is split into:
fb_check_var() - see if the requested var is compatible
and if not, round up to the next
legal value
fb_set_par() - set the hardware based on the current
var
> fb_get_cmap:
gone
> fb_set_cmap:
replaced by fb_setcolreg()
> fb_ioctl:
optional.
Additional required ops for 2.6.
fb_imageblit - expand monochrome to color and/or
expand 8-bit pseudocolor to color
Generic version for packed-pixel: cfb_imageblit
fb_fillrect - fill rectangular area with solid color
Generic version for packed-pixel: cfb_fillrect
fb_copyarea - copy rectangular area
Generic version for packed-pixel: cfb_copyarea
>
> But the latest 2.6 fb_ops has removed these and
> there is entirely new set of functions.
> I tried to go to list archives but I could not find
> information.
> What functions in 2.6 fb_ops should to used to
> implement this old 2.4 set of functions?
Look at skeletonfb.c for comments. The simplest
framebuffer driver you can start with is vfb.c
Tony
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: porting fb driver to 2, 6(fb_get_fix, fb_get_var)
2006-06-12 12:44 ` Antonino A. Daplas
@ 2006-06-20 12:01 ` syed khader
2006-06-20 14:25 ` Antonino A. Daplas
0 siblings, 1 reply; 6+ messages in thread
From: syed khader @ 2006-06-20 12:01 UTC (permalink / raw)
To: linux-fbdev-devel
--- "Antonino A. Daplas" <adaplas@gmail.com> wrote:
> syed khader wrote:
> > Hi,
> > I am trying to port one of our LCD display frame
> > buffer driver to 2.6 kernel.
> > The old 2.4 kernel had these functions defined
> in
> > fb_ops
> > fb_open:
> > fb_release:
>
> These 2 are still in 2.6, but they're optional.
>
> > fb_get_fix:
> > fb_get_var:
>
> Gone.
If they were gone do I have to just remove these
functions in the older version of the driver and
compile again. Will that suffice?
>
> > fb_set_var:
>
> The above is split into:
>
> fb_check_var() - see if the requested var is
> compatible
> and if not, round up to the next
> legal value
>
> fb_set_par() - set the hardware based on the
> current
> var
> > fb_get_cmap:
>
> gone
>
> > fb_set_cmap:
>
> replaced by fb_setcolreg()
>
>
> > fb_ioctl:
>
> optional.
>
> Additional required ops for 2.6.
>
> fb_imageblit - expand monochrome to color and/or
> expand 8-bit pseudocolor to color
>
> Generic version for packed-pixel: cfb_imageblit
>
> fb_fillrect - fill rectangular area with solid color
>
> Generic version for packed-pixel: cfb_fillrect
>
>
> fb_copyarea - copy rectangular area
>
> Generic version for packed-pixel: cfb_copyarea
>
>
> >
> > But the latest 2.6 fb_ops has removed these and
> > there is entirely new set of functions.
> > I tried to go to list archives but I could not
> find
> > information.
> > What functions in 2.6 fb_ops should to used to
> > implement this old 2.4 set of functions?
>
> Look at skeletonfb.c for comments. The simplest
> framebuffer driver you can start with is vfb.c
>
>
> Tony
>
>
Another question: What happens to "struct display"
being used in the older version.
Regards
Syed
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: porting fb driver to 2, 6(fb_get_fix, fb_get_var)
2006-06-20 12:01 ` syed khader
@ 2006-06-20 14:25 ` Antonino A. Daplas
2006-06-21 7:37 ` syed khader
0 siblings, 1 reply; 6+ messages in thread
From: Antonino A. Daplas @ 2006-06-20 14:25 UTC (permalink / raw)
To: linux-fbdev-devel
syed khader wrote:
>
> --- "Antonino A. Daplas" <adaplas@gmail.com> wrote:
>
>> syed khader wrote:
>>> Hi,
>>> I am trying to port one of our LCD display frame
>>> buffer driver to 2.6 kernel.
>>> The old 2.4 kernel had these functions defined
>> in
>>> fb_ops
>>> fb_open:
>>> fb_release:
>> These 2 are still in 2.6, but they're optional.
>>
>>> fb_get_fix:
>>> fb_get_var:
>> Gone.
> If they were gone do I have to just remove these
> functions in the older version of the driver and
> compile again. Will that suffice?
That, plus you need to add the functions that are
new in 2.6, as mentioned below.
>>> fb_set_var:
>> The above is split into:
>>
>> fb_check_var() - see if the requested var is
>> compatible
>> and if not, round up to the next
>> legal value
>>
>> fb_set_par() - set the hardware based on the
>> current
>> var
>>> fb_get_cmap:
>> gone
>>
>>> fb_set_cmap:
>> replaced by fb_setcolreg()
>>
>>
>>> fb_ioctl:
>> optional.
>>
>> Additional required ops for 2.6.
>>
>> fb_imageblit - expand monochrome to color and/or
>> expand 8-bit pseudocolor to color
>>
>> Generic version for packed-pixel: cfb_imageblit
>>
>> fb_fillrect - fill rectangular area with solid color
>>
>> Generic version for packed-pixel: cfb_fillrect
>>
>>
>> fb_copyarea - copy rectangular area
>>
>> Generic version for packed-pixel: cfb_copyarea
>>
>>
>>> But the latest 2.6 fb_ops has removed these and
>>> there is entirely new set of functions.
>>> I tried to go to list archives but I could not
>> find
>>> information.
>>> What functions in 2.6 fb_ops should to used to
>>> implement this old 2.4 set of functions?
>> Look at skeletonfb.c for comments. The simplest
>> framebuffer driver you can start with is vfb.c
>>
>>
>> Tony
>>
>>
> Another question: What happens to "struct display"
> being used in the older version.
It's gone. It's now private to the framebuffer console
which you need not worry about.
Tony
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: porting fb driver to 2, 6(fb_get_fix, fb_get_var)
2006-06-20 14:25 ` Antonino A. Daplas
@ 2006-06-21 7:37 ` syed khader
2006-06-21 8:41 ` Antonino A. Daplas
0 siblings, 1 reply; 6+ messages in thread
From: syed khader @ 2006-06-21 7:37 UTC (permalink / raw)
To: linux-fbdev-devel
--- "Antonino A. Daplas" <adaplas@gmail.com> wrote:
> syed khader wrote:
> >
> > --- "Antonino A. Daplas" <adaplas@gmail.com>
> wrote:
> >
> >> syed khader wrote:
> >>> Hi,
> >>> I am trying to port one of our LCD display
> frame
> >>> buffer driver to 2.6 kernel.
> >>> The old 2.4 kernel had these functions defined
> >> in
> >>> fb_ops
> >>> fb_open:
> >>> fb_release:
> >> These 2 are still in 2.6, but they're optional.
> >>
> >>> fb_get_fix:
> >>> fb_get_var:
> >> Gone.
> > If they were gone do I have to just remove these
> > functions in the older version of the driver and
> > compile again. Will that suffice?
>
> That, plus you need to add the functions that are
> new in 2.6, as mentioned below.
>
> >>> fb_set_var:
> >> The above is split into:
> >>
> >> fb_check_var() - see if the requested var is
> >> compatible
> >> and if not, round up to the next
> >> legal value
> >>
> >> fb_set_par() - set the hardware based on the
> >> current
> >> var
> >>> fb_get_cmap:
> >> gone
> >>
> >>> fb_set_cmap:
> >> replaced by fb_setcolreg()
> >>
> >>
> >>> fb_ioctl:
> >> optional.
> >>
> >> Additional required ops for 2.6.
> >>
> >> fb_imageblit - expand monochrome to color and/or
> >> expand 8-bit pseudocolor to color
> >>
> >> Generic version for packed-pixel: cfb_imageblit
> >>
> >> fb_fillrect - fill rectangular area with solid
> color
> >>
> >> Generic version for packed-pixel: cfb_fillrect
> >>
> >>
> >> fb_copyarea - copy rectangular area
> >>
> >> Generic version for packed-pixel: cfb_copyarea
> >>
> >>
> >>> But the latest 2.6 fb_ops has removed these
> and
> >>> there is entirely new set of functions.
> >>> I tried to go to list archives but I could not
> >> find
> >>> information.
> >>> What functions in 2.6 fb_ops should to used to
> >>> implement this old 2.4 set of functions?
> >> Look at skeletonfb.c for comments. The simplest
> >> framebuffer driver you can start with is vfb.c
> >>
> >>
> >> Tony
> >>
> >>
> > Another question: What happens to "struct
> display"
> > being used in the older version.
>
> It's gone. It's now private to the framebuffer
> console
> which you need not worry about.
>
> Tony
>
Thanks for the inputs. Written as per your
suggestions. I still have these questions:
1) The 2.4 driver code had fb_ioctl defined,
apparently there is a user space application which
uses these ioctls.(Basically these ioctls are used to
set X and Y fontsizes and print at x and y
coordinates) Shall I retain these ioctl OR does 2.6
framebuffer has a different mechanism to do this?
2) How can I know whether generic versions
(cfb_imageblit & cfb_fillrect) will be sufficient OR
I should write specific to my LCD hardware.
Regards
Syed
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: porting fb driver to 2, 6(fb_get_fix, fb_get_var)
2006-06-21 7:37 ` syed khader
@ 2006-06-21 8:41 ` Antonino A. Daplas
0 siblings, 0 replies; 6+ messages in thread
From: Antonino A. Daplas @ 2006-06-21 8:41 UTC (permalink / raw)
To: linux-fbdev-devel, syed khader
syed khader wrote:
>
> --- "Antonino A. Daplas" <adaplas@gmail.com> wrote:
>
>> syed khader wrote:
>>> --- "Antonino A. Daplas" <adaplas@gmail.com>
>> wrote:
>>>> syed khader wrote:
>>
> Thanks for the inputs. Written as per your
> suggestions. I still have these questions:
> 1) The 2.4 driver code had fb_ioctl defined,
> apparently there is a user space application which
> uses these ioctls.(Basically these ioctls are used to
> set X and Y fontsizes and print at x and y
> coordinates)
If the 2.4 driver an xxxfb_ioctl() hook, then yes, you
can retain them practically unchanged.
(Just curious about the description of the ioctl, I don't
think you will need them for 2.6 as the driver should have
no concept of fontsizes)
> Shall I retain these ioctl OR does 2.6
> framebuffer has a different mechanism to do this?
You can retain driver-specific ioctls.
> 2) How can I know whether generic versions
> (cfb_imageblit & cfb_fillrect) will be sufficient OR
> I should write specific to my LCD hardware.
If the framebuffer supports packed-pixel formats, then the
cfb_* drawing functions are sufficient.
In 2.4, if your driver is linked to fbcon-cfb*.c, then
you should be fine using the generic functions.
Tony
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-06-21 8:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-12 12:26 porting fb driver to 2, 6(fb_get_fix, fb_get_var) syed khader
2006-06-12 12:44 ` Antonino A. Daplas
2006-06-20 12:01 ` syed khader
2006-06-20 14:25 ` Antonino A. Daplas
2006-06-21 7:37 ` syed khader
2006-06-21 8:41 ` Antonino A. Daplas
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).