LattePandaGeneral

Building Robopeak 2.8” USB TFT driver for Angstrom.

userHead ferite 2014-05-21 23:33:27 7404 Views3 Replies
Hi.

I am working on building the driver for a the Robopeak 2.8” USB TFT Touch Display. When I build the driver against Ångström (for x86 board) 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

I tryed just to add the line to the file but it still does not work. I tryed to add the following section to video/Kconfig (this does not make difference either):

config FB_DEFERRED_IO
      tristate
      depends on FB
      default n

I hope that someone could provide some advice on how could I add CONFIG_FB_DEFERRED_IO config to my system so I can finish the building process?.

Thanks.
2014-05-23 11:38:51 Ferite,

After a little digging around. I guess that it might depend on the Board support package.
Is it possible that parameter has changed name in Angstrom?

cheers^^
userHeadPic Jose
2014-05-23 00:56:47 Hi csk,

I tested your sugestion. After adding "Displaylink USB Framebuffer support" with 'M' option, I found the following chages:

.config file:

CONFIG_FB_DEFERRED_IO=y

/drivers/video/Kconfig file:

config FB_DEFERRED_IO
bool
depends on FB


config FB_HECUBA
tristate
depends on FB
depends on FB_DEFERRED_IO

config FB_N411
      tristate "N411 Apollo/Hecuba devkit support"
      depends on FB && X86 && MMU
      select FB_SYS_FILLRECT
      select FB_SYS_COPYAREA
      select FB_SYS_IMAGEBLIT
      select FB_SYS_FOPS
      select FB_DEFERRED_IO
      select FB_HECUBA

config FB_SH_MOBILE_LCDC
tristate "SuperH Mobile LCDC framebuffer support"
depends on FB && (SUPERH || ARCH_SHMOBILE) && HAVE_CLK
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO
select FB_BACKLIGHT
select SH_MIPI_DSI if SH_LCD_MIPI_DSI

config FB_SMSCUFX
tristate "SMSC UFX6000/7000 USB Framebuffer support"
depends on FB && USB
select FB_MODE_HELPERS
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO

config FB_UDL
tristate "Displaylink USB Framebuffer support"
depends on FB && USB
select FB_MODE_HELPERS
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO

config XEN_FBDEV_FRONTEND
tristate "Xen virtual frame buffer support"
depends on FB && XEN
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO
select INPUT_XEN_KBDDEV_FRONTEND
select XEN_XENBUS_FRONTEND
default y

config FB_METRONOME
tristate "E-Ink Metronome/8track controller support"
depends on FB
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO

config FB_BROADSHEET
tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
depends on FB
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO

config FB_AUO_K190X
tristate "AUO-K190X EPD controller support"
depends on FB
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_DEFERRED_IO

config FB_SSD1307
tristate "Solomon SSD1307 framebuffer support"
depends on FB && I2C
depends on OF
depends on GENERIC_GPIO
select FB_SYS_FOPS
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_DEFERRED_IO
select PWM

However the build error still taking place. :(
userHeadPic ferite
2014-05-22 15:17:24 Hi ferite,

The standard approach is to add some KConfig line in the kernel source to create a driver section which refer to the CONFIG_FB_DEFERRED_IO feature.
A simple way is :

Select the Displaylink display driver ( Device Drivers-> Graphics support -> Support for frame buffer devices-> Displaylink USB Framebuffer support) as an external module. By doing so, the above features will be selected by the menuconfiger.
userHeadPic csk