diff --git a/TODO b/TODO index b69eb820fad..1c5c29be674 100644 --- a/TODO +++ b/TODO @@ -1977,7 +1977,7 @@ o File system / Generic drivers (fs/, drivers/) This can be seen with the NSH mount command which locks the inode tree while traversing all of the mountpoints and also with a simple directory listing with the 'ls' command which - locks the inode tree while the directory entries are enumerate. + locks the inode tree while the directory entries are enumerated. The simplest solution would be change the IPC so that it does not interact with the inode tree. The simplest IPC change diff --git a/configs/lm3s6965-ek/src/lm_oled.c b/configs/lm3s6965-ek/src/lm_oled.c index 93705b76cdb..3172e019af2 100644 --- a/configs/lm3s6965-ek/src/lm_oled.c +++ b/configs/lm3s6965-ek/src/lm_oled.c @@ -63,11 +63,6 @@ * Verbose debug must also be enabled */ -#ifndef CONFIG_DEBUG_FEATURES -# undef CONFIG_DEBUG_INFO -# undef CONFIG_DEBUG_GRAPHICS -#endif - #ifndef CONFIG_DEBUG_INFO # undef CONFIG_LCD_RITDEBUG #endif diff --git a/configs/sim/fb/defconfig b/configs/sim/fb/defconfig index 19a50164152..57d543ba7cf 100644 --- a/configs/sim/fb/defconfig +++ b/configs/sim/fb/defconfig @@ -10,11 +10,11 @@ CONFIG_DISABLE_ENVIRON=y CONFIG_DISABLE_MOUNTPOINT=y CONFIG_DISABLE_POLL=y CONFIG_DISABLE_POSIX_TIMERS=y +CONFIG_DRIVERS_VIDEO=y CONFIG_EXAMPLES_FB=y CONFIG_IDLETHREAD_STACKSIZE=4096 CONFIG_MAX_TASKS=16 CONFIG_NX_KBD=y -CONFIG_NX_UPDATE=y CONFIG_NX_XYINPUT_MOUSE=y CONFIG_NX=y CONFIG_NXFONT_SANS23X27=y @@ -26,5 +26,4 @@ CONFIG_START_MONTH=11 CONFIG_START_YEAR=2008 CONFIG_USER_ENTRYPOINT="fb_main" CONFIG_USERMAIN_STACKSIZE=4096 -CONFIG_DRIVERS_VIDEO=y CONFIG_VIDEO_FB=y diff --git a/drivers/lcd/Kconfig b/drivers/lcd/Kconfig index 8aa8bc8569e..ae3e82c704f 100644 --- a/drivers/lcd/Kconfig +++ b/drivers/lcd/Kconfig @@ -19,12 +19,17 @@ menuconfig LCD if LCD +config LCD_UPDATE + bool + default n + select NX_UPDATE if NX + comment "Common Graphic LCD Settings" config LCD_FRAMEBUFFER bool "LCD framebuffer front end" default n - select NX_UPDATE if NX + select LCD_UPDATE ---help--- Enable a "front end" that converts an sequential LCD driver into a standard, NuttX frame buffer driver. diff --git a/drivers/lcd/lcd_framebuffer.c b/drivers/lcd/lcd_framebuffer.c index f8bffbd6426..aa302223046 100644 --- a/drivers/lcd/lcd_framebuffer.c +++ b/drivers/lcd/lcd_framebuffer.c @@ -666,7 +666,7 @@ void up_fbuninitialize(int display) * Name: nx_notify_rectangle * * Description: - * When CONFIG_NX_UPDATE=y, then the graphics system will callout to + * When CONFIG_LCD_UPDATE=y, then the graphics system will callout to * inform some external module that the display has been updated. This * would be useful in a couple for cases. * @@ -677,13 +677,17 @@ void up_fbuninitialize(int display) * - When VNC is enabled. This is case, this callout is necessary to * update the remote frame buffer to match the local framebuffer. * - * When this feature is enabled, some external logic must provide this - * interface. This is the function that will handle the notification. It - * receives the rectangular region that was updated on the provided plane. + * When this feature is enabled, some external logic must provide this + * interface. This is the function that will handle the notification. It + * receives the rectangular region that was updated on the provided plane. + * + * NOTE: This function is also required for use with the LCD framebuffer + * driver front end when CONFIG_LCD_UPDATE=y, although that use does not + * depend on CONFIG_NX (and this function seems misnamed in that case). * ****************************************************************************/ -#ifdef CONFIG_NX_UPDATE +#if defined(CONFIG_LCD_UPDATE) || defined(CONFIG_NX_UPDATE) void nx_notify_rectangle(FAR NX_PLANEINFOTYPE *pinfo, FAR const struct nxgl_rect_s *rect) { @@ -706,4 +710,4 @@ void nx_notify_rectangle(FAR NX_PLANEINFOTYPE *pinfo, } #endif -#endif /* CONFIG_LCD_FRAMEBUFFER */ \ No newline at end of file +#endif /* CONFIG_LCD_FRAMEBUFFER */ diff --git a/drivers/video/fb.c b/drivers/video/fb.c index d696b815bfe..dcf606db799 100644 --- a/drivers/video/fb.c +++ b/drivers/video/fb.c @@ -404,7 +404,7 @@ static int fb_ioctl(FAR struct file *filep, int cmd, unsigned long arg) break; #endif -#ifdef CONFIG_NX_UPDATE +#ifdef CONFIG_LCD_UPDATE case FBIO_UPDATE: /* Get video plane info */ { FAR struct nxgl_rect_s *rect = diff --git a/include/nuttx/nx/nx.h b/include/nuttx/nx/nx.h index 912f92b7236..aec345ac603 100644 --- a/include/nuttx/nx/nx.h +++ b/include/nuttx/nx/nx.h @@ -843,13 +843,17 @@ int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, * - When VNC is enabled. This is case, this callout is necessary to * update the remote frame buffer to match the local framebuffer. * - * When this feature is enabled, some external logic must provide this - * interface. This is the function that will handle the notification. It - * receives the rectangular region that was updated on the provided plane. + * When this feature is enabled, some external logic must provide this + * interface. This is the function that will handle the notification. It + * receives the rectangular region that was updated on the provided plane. + * + * NOTE: This function is also required for use with the LCD framebuffer + * driver front end when CONFIG_LCD_UPDATE=y, although that use does not + * depend on CONFIG_NX (and this function seems misnamed in that case). * ****************************************************************************/ -#ifdef CONFIG_NX_UPDATE +#if defined(CONFIG_NX_UPDATE) || defined(CONFIG_LCD_UPDATE) void nx_notify_rectangle(FAR NX_PLANEINFOTYPE *pinfo, FAR const struct nxgl_rect_s *rect); #endif diff --git a/include/nuttx/video/fb.h b/include/nuttx/video/fb.h index 101901b954e..114e6ec1d69 100644 --- a/include/nuttx/video/fb.h +++ b/include/nuttx/video/fb.h @@ -211,7 +211,7 @@ # define FBIOPUT_CURSOR _FBIOC(0x0006) /* Set cursor attributes */ /* Argument: read-only struct fb_setcursor_s */ #endif -#ifdef CONFIG_NX_UPDATE +#ifdef CONFIG_LCD_UPDATE # define FBIO_UPDATE _FBIOC(0x0007) /* Update a rectangular region in the framebuffer */ /* Argument: read-only struct nxgl_rect_s */ #endif