Discussion:
[MinnowBoard] Kernel .config file lacks CONFIG_FB_DEFERRED_IO
Fernando
2014-05-17 01:28:33 UTC
Permalink
I am trying to build a frame buffer driver. When I build the driver against
?ngstr?m kernel header sources, I am getting this error:

* error: 'struct fb_info' has no member named 'fbdefio'*

After researching the problem, it seems caused for the lack of a setting in
the kernel .config file:

CONFIG_FB_DEFERRED_IO=y

(after fb.h, if CONFIG_FB_DEFERRED_IO is not defined, fbdefio is not
included in struct fb_info)

I tryed just to add the line to the file but it still does not work. For the
record my Ubuntu system does include CONFIG_FB_DEFERRED_IO setting.

I hope that some one could provide some guidance in this regards.

Thanks



--
View this message in context: http://minnowboard.57273.x6.nabble.com/Kernel-config-file-lacks-CONFIG-FB-DEFERRED-IO-tp147.html
Sent from the MinnowBoard mailing list archive at Nabble.com.
Fernando
2014-05-20 04:03:02 UTC
Permalink
The hardware manufacturer has told me that just adding CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.

I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.



--
View this message in context: http://minnowboard.57273.x6.nabble.com/Kernel-config-file-lacks-CONFIG-FB-DEFERRED-IO-tp147p151.html
Sent from the MinnowBoard mailing list archive at Nabble.com.
Darren Hart
2014-05-23 04:02:13 UTC
Permalink
Post by Fernando
The hardware manufacturer has told me that just adding CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.
I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.
I'm not really sure how to answer your question. The structure you
reference in the include/linux headers is impacted by whether or not
CONFIG_FB_DEFERRED_IO is configured in or not.

Does what you are trying to do work on a typical desktop Linux
distribution? Ubuntu, Fedora?

If so, can you compare the files - exactly how are things different?
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
Ferchu R
2014-05-23 19:57:26 UTC
Permalink
Hi Darren.

The driver's source code uses a struct named "fb_info" that is defined in
fb.h (this file is part of the standard kernel. Within the definition of
fb_info is the following code:

#ifdef CONFIG_FB_DEFERRED_IO
struct delayed_work deferred_work;
struct fb_deferred_io *fbdefio;
#endif

Because of that, when CONFIG_FB_DEFERRED_IO is not present, member fbdefio
are not included in fb_info struct, thus I am getting the error at build
time.

The manufacturer gave me the advice of running "make menuconfig" on the
kernel source directory and add "Displaylink USB Framebuffer support"
option. After that, both files (.config and Kconfig) were automatically
changed in a way all entries involving CONFIG_FB_DEFERRED_IO now are equal
to those of their counterpart in Ubuntu. So I think the files at this time
are not th problem. The manufacturer told me too that I should re-compile
the kernel for the changes to take effect. How could I do this?. Should I
only cd to the kernel source directory and run make?. I am running all this
stuff in the same Angstrom Minnow system.

Thanks and best regards.
Post by Darren Hart
Post by Fernando
The hardware manufacturer has told me that just adding
CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.
I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.
I'm not really sure how to answer your question. The structure you
reference in the include/linux headers is impacted by whether or not
CONFIG_FB_DEFERRED_IO is configured in or not.
Does what you are trying to do work on a typical desktop Linux
distribution? Ubuntu, Fedora?
If so, can you compare the files - exactly how are things different?
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20140523/48f693e0/attachment.html>
Ferchu R
2014-05-26 23:32:58 UTC
Permalink
I seted up bitbake for building Angstrom on Ubuntu 12.10. My new strategy
is not to to build the kernel module using the same Angstrom target system
as host, but building it on Ubuntu targetting the "minnowboard
environment". As I should pass KERNEL_SOURCE_DIR as make argument when
building the module, what path should use in this case, if the directory
structure is "/opt/minnowboard/ourbuild"?.

Thanks.
Post by Ferchu R
Hi Darren.
The driver's source code uses a struct named "fb_info" that is defined in
fb.h (this file is part of the standard kernel. Within the definition of
#ifdef CONFIG_FB_DEFERRED_IO
struct delayed_work deferred_work;
struct fb_deferred_io *fbdefio;
#endif
Because of that, when CONFIG_FB_DEFERRED_IO is not present, member fbdefio
are not included in fb_info struct, thus I am getting the error at build
time.
The manufacturer gave me the advice of running "make menuconfig" on the
kernel source directory and add "Displaylink USB Framebuffer support"
option. After that, both files (.config and Kconfig) were automatically
changed in a way all entries involving CONFIG_FB_DEFERRED_IO now are equal
to those of their counterpart in Ubuntu. So I think the files at this time
are not th problem. The manufacturer told me too that I should re-compile
the kernel for the changes to take effect. How could I do this?. Should I
only cd to the kernel source directory and run make?. I am running all this
stuff in the same Angstrom Minnow system.
Thanks and best regards.
Post by Darren Hart
Post by Fernando
The hardware manufacturer has told me that just adding
CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.
I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.
I'm not really sure how to answer your question. The structure you
reference in the include/linux headers is impacted by whether or not
CONFIG_FB_DEFERRED_IO is configured in or not.
Does what you are trying to do work on a typical desktop Linux
distribution? Ubuntu, Fedora?
If so, can you compare the files - exactly how are things different?
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20140526/61d8a8f8/attachment.html>
Darren Hart
2014-05-29 00:03:20 UTC
Permalink
Details on working with the kernel build by the yocto project are here:

http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html

If you find a particular task you want to perform is not adequately covered
there, please do let me know.

As to support for this particular feature, if you can send me the delta
between the stock config and the one you modified, I can probably just add
it to the minnow config fragment and you can then just rebuild the angstrom
image per the angstrom instructions using the latest git of meta-minnow.

If all you want to do is quickly rebuild the kernel (and don't care about
packaging, etc), then Angstrom provides a linux-dev (or similar) package
which you can find using "opkg list" and install with "opkg install ..." and
the kernel source will then be in /usr/src/linux...

There you can "make menuconfig; make; make modules; make modules_install;
make install" as per usual.

--
Darren
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation

From: Ferchu R <chamac2 at gmail.com>
Reply-To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Date: Monday, May 26, 2014 at 16:32
To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Subject: Re: [MinnowBoard] Kernel .config file lacks CONFIG_FB_DEFERRED_IO
I seted up bitbake for building Angstrom on Ubuntu 12.10. My new strategy is
not to to build the kernel module using the same Angstrom target system as
host, but building it on Ubuntu targetting the "minnowboard environment". As I
should pass KERNEL_SOURCE_DIR as make argument when building the module, what
path should use in this case, if the directory structure is
"/opt/minnowboard/ourbuild"?.
Thanks.
Post by Ferchu R
Hi Darren.
The driver's source code uses a struct named "fb_info" that is defined in
fb.h (this file is part of the standard kernel. Within the definition of
#ifdef CONFIG_FB_DEFERRED_IO
struct delayed_work deferred_work;
struct fb_deferred_io *fbdefio;
#endif
Because of that, when CONFIG_FB_DEFERRED_IO is not present, member fbdefio
are not included in fb_info struct, thus I am getting the error at build
time.
The manufacturer gave me the advice of running "make menuconfig" on the
kernel source directory and add "Displaylink USB Framebuffer support" option.
After that, both files (.config and Kconfig) were automatically changed in a
way all entries involving CONFIG_FB_DEFERRED_IO now are equal to those of
their counterpart in Ubuntu. So I think the files at this time are not th
problem. The manufacturer told me too that I should re-compile the kernel for
the changes to take effect. How could I do this?. Should I only cd to the
kernel source directory and run make?. I am running all this stuff in the
same Angstrom Minnow system.
Thanks and best regards.
Post by Fernando
The hardware manufacturer has told me that just adding
CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.
I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.
I'm not really sure how to answer your question. The structure you reference
in the include/linux headers is impacted by whether or not
CONFIG_FB_DEFERRED_IO is configured in or not.
Does what you are trying to do work on a typical desktop Linux distribution?
Ubuntu, Fedora?
If so, can you compare the files - exactly how are things different?
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
<mailto:elinux-MinnowBoard at lists.elinux.org>
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
<http://lists.elinux.org/mailman/listinfo/elinux-minnowboard>
_______________________________________________ elinux-MinnowBoard mailing
list elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20140528/fbfff565/attachment.html>
Ferchu R
2014-06-05 01:46:43 UTC
Permalink
Hi Darren.

I am going to run a Windiff or something similar between my already
modified files (/usr/src/kernel/.config and
/usr/src/kernel/drivers/video/Kconfig in my Minnowboard) and the original
"sotck" files, but I don't know where I can find them. Can I find them on
the bitbake Minnowboard directory structure
(/opt/minnowboard/ourbuild/setup-scripts) ??.

Note: I found a .config in
"/opt/minnowboard/ourbuild/setup-scripts/build/tmp-angstrom_v2013_12-eglibc/sysroots/minnow/usr/src/kernel".

Thanks.
Post by Darren Hart
http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html
If you find a particular task you want to perform is not adequately
covered there, please do let me know.
As to support for this particular feature, if you can send me the delta
between the stock config and the one you modified, I can probably just add
it to the minnow config fragment and you can then just rebuild the angstrom
image per the angstrom instructions using the latest git of meta-minnow.
If all you want to do is quickly rebuild the kernel (and don't care about
packaging, etc), then Angstrom provides a linux-dev (or similar) package
which you can find using "opkg list" and install with "opkg install ..."
and the kernel source will then be in /usr/src/linux...
There you can "make menuconfig; make; make modules; make modules_install;
make install" as per usual.
--
Darren
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
From: Ferchu R <chamac2 at gmail.com>
Reply-To: MinnowBoard Development and Community Discussion <
elinux-minnowboard at lists.elinux.org>
Date: Monday, May 26, 2014 at 16:32
To: MinnowBoard Development and Community Discussion <
elinux-minnowboard at lists.elinux.org>
Subject: Re: [MinnowBoard] Kernel .config file lacks CONFIG_FB_DEFERRED_IO
I seted up bitbake for building Angstrom on Ubuntu 12.10. My new strategy
is not to to build the kernel module using the same Angstrom target system
as host, but building it on Ubuntu targetting the "minnowboard
environment". As I should pass KERNEL_SOURCE_DIR as make argument when
building the module, what path should use in this case, if the directory
structure is "/opt/minnowboard/ourbuild"?.
Thanks.
Post by Ferchu R
Hi Darren.
The driver's source code uses a struct named "fb_info" that is defined in
fb.h (this file is part of the standard kernel. Within the definition of
#ifdef CONFIG_FB_DEFERRED_IO
struct delayed_work deferred_work;
struct fb_deferred_io *fbdefio;
#endif
Because of that, when CONFIG_FB_DEFERRED_IO is not present, member
fbdefio are not included in fb_info struct, thus I am getting the error at
build time.
The manufacturer gave me the advice of running "make menuconfig" on the
kernel source directory and add "Displaylink USB Framebuffer support"
option. After that, both files (.config and Kconfig) were automatically
changed in a way all entries involving CONFIG_FB_DEFERRED_IO now are equal
to those of their counterpart in Ubuntu. So I think the files at this time
are not th problem. The manufacturer told me too that I should re-compile
the kernel for the changes to take effect. How could I do this?. Should I
only cd to the kernel source directory and run make?. I am running all this
stuff in the same Angstrom Minnow system.
Thanks and best regards.
Post by Darren Hart
Post by Fernando
The hardware manufacturer has told me that just adding
CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.
I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.
I'm not really sure how to answer your question. The structure you
reference in the include/linux headers is impacted by whether or not
CONFIG_FB_DEFERRED_IO is configured in or not.
Does what you are trying to do work on a typical desktop Linux
distribution? Ubuntu, Fedora?
If so, can you compare the files - exactly how are things different?
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
_______________________________________________ elinux-MinnowBoard mailing
list elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20140604/b45db0ee/attachment.html>
Darren Hart
2014-06-05 04:42:48 UTC
Permalink
Please just run "diff -Nurp config.orig config.yours > config.diff"

You can find the .config in the build dir of the linux recipe. If you
don't have an angstrom or poky build around, you can always use the binary
image that came with the board or download it again, and fetch the config
from the running system in /proc/config.gz.
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation



From: Ferchu R <chamac2 at gmail.com>
Reply-To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Date: Wednesday, June 4, 2014 at 18:46
To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Subject: Re: [MinnowBoard] Kernel .config file lacks CONFIG_FB_DEFERRED_IO
Post by Ferchu R
Hi Darren.
I am going to run a Windiff or something similar between my already
modified files (/usr/src/kernel/.config and
/usr/src/kernel/drivers/video/Kconfig in my Minnowboard) and the original
"sotck" files, but I don't know where I can find them. Can I find them on
the bitbake Minnowboard directory structure
(/opt/minnowboard/ourbuild/setup-scripts) ??.
Note: I found a .config in
"/opt/minnowboard/ourbuild/setup-scripts/build/tmp-angstrom_v2013_12-eglib
c/sysroots/minnow/usr/src/kernel".
Thanks.
http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html
If you find a particular task you want to perform is not adequately
covered there, please do let me know.
As to support for this particular feature, if you can send me the delta
between the stock config and the one you modified, I can probably just
add it to the minnow config fragment and you can then just rebuild the
angstrom image per the angstrom instructions using the latest git of
meta-minnow.
If all you want to do is quickly rebuild the kernel (and don't care about
packaging, etc), then Angstrom provides a linux-dev (or similar) package
which you can find using "opkg list" and install with "opkg install ..."
and the kernel source will then be in /usr/src/linux...
There you can "make menuconfig; make; make modules; make modules_install;
make install" as per usual.
--
Darren
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
From: Ferchu R <chamac2 at gmail.com>
Reply-To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Date: Monday, May 26, 2014 at 16:32
To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Subject: Re: [MinnowBoard] Kernel .config file lacks
CONFIG_FB_DEFERRED_IO
I seted up bitbake for building Angstrom on Ubuntu 12.10. My new
strategy is not to to build the kernel module using the same Angstrom
target system as host, but building it on Ubuntu targetting the
"minnowboard environment". As I should pass KERNEL_SOURCE_DIR as make
argument when building the module, what path should use in this case, if
the directory structure is "/opt/minnowboard/ourbuild"?.
Thanks.
Hi Darren.
The driver's source code uses a struct named "fb_info" that is defined in
fb.h (this file is part of the standard kernel. Within the definition of
#ifdef CONFIG_FB_DEFERRED_IO
struct delayed_work deferred_work;
struct fb_deferred_io *fbdefio;
#endif
Because of that, when CONFIG_FB_DEFERRED_IO is not present, member
fbdefio are not included in fb_info struct, thus I am getting the error
at build time.
The manufacturer gave me the advice of running "make menuconfig" on the
kernel source directory and add "Displaylink USB Framebuffer support"
option. After that, both files (.config and Kconfig) were automatically
changed in a way all entries involving CONFIG_FB_DEFERRED_IO now are
equal to those of their counterpart in Ubuntu. So I think the files at
this time are not th problem. The manufacturer told me too that I should
re-compile the kernel for the changes to take effect. How could I do
this?. Should I only cd to the kernel source directory and run make?. I
am running all this stuff in the same Angstrom Minnow system.
Thanks and best regards.
The hardware manufacturer has told me that just adding
CONFIG_FB_DEFERRED_IO
to the .config file, is not going to work. It is necessary add a section
which make reference to the CONFIG_FB_DEFERRED_IO feature in the KConfig
file.
I hope that someone can advice me if this is the right approach and if there
is a template to add a new section to this KConfig file.
I'm not really sure how to answer your question. The structure you
reference in the include/linux headers is impacted by whether or not
CONFIG_FB_DEFERRED_IO is configured in or not.
Does what you are trying to do work on a typical desktop Linux
distribution? Ubuntu, Fedora?
If so, can you compare the files - exactly how are things different?
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.orghttp://lists.elinux.org/mailman/listinf
o/elinux-minnowboard
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.org
http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
_______________________________________________
elinux-MinnowBoard mailing list
elinux-MinnowBoard at lists.elinux.orghttp://lists.elinux.org/mailman/listinf
o/elinux-minnowboard
Ferchu R
2014-06-06 00:36:55 UTC
Permalink
This post might be inappropriate. Click to display it.
Loading...