[U-Boot] What's purpose of DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO?

Hi,
I plan to send a patch to remove the DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO. They look useless to me. For example,
$ grep -nr DEV_FLAGS_SYSTEM * arch/blackfin/cpu/jtag-console.c:186: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/kosagi/novena/novena.c:80: .flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM, board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/mpl/common/kbd.c:206: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/mpl/pati/pati.c:569: pci_con_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM; common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.', common/usb_kbd.c:505: usb_kbd_dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:91: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:102: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/cros_ec_keyb.c:261: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/tegra-kbc.c:361: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/keyboard.c:277: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/video/cfb_console.c:2296: console_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM; drivers/net/netconsole.c:325: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; include/stdio_dev.h:19:#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */
Except for this one below which tests the flag and prints an 'S', common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.',
I don't see any actual meaning of this flag. I wonder if someone on the mailing list knows the history.
Also I noticed that several blackfin boards' video driver only set this flag without setting DEV_FLAGS_OUTPUT.
board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM;
I wonder these video drivers are not used for system output purpose?
Regards, Bin

On Mon, Aug 17, 2015 at 1:09 PM, Bin Meng bmeng.cn@gmail.com wrote:
Hi,
I plan to send a patch to remove the DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO. They look useless to me. For example,
$ grep -nr DEV_FLAGS_SYSTEM * arch/blackfin/cpu/jtag-console.c:186: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/kosagi/novena/novena.c:80: .flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM, board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/mpl/common/kbd.c:206: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/mpl/pati/pati.c:569: pci_con_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM; common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.', common/usb_kbd.c:505: usb_kbd_dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:91: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:102: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/cros_ec_keyb.c:261: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/tegra-kbc.c:361: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/keyboard.c:277: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/video/cfb_console.c:2296: console_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM; drivers/net/netconsole.c:325: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; include/stdio_dev.h:19:#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */
Except for this one below which tests the flag and prints an 'S', common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.',
I don't see any actual meaning of this flag. I wonder if someone on the mailing list knows the history.
Also I noticed that several blackfin boards' video driver only set this flag without setting DEV_FLAGS_OUTPUT.
board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM;
I wonder these video drivers are not used for system output purpose?
Ping?
Regards, Bin

Hi,
On 2 September 2015 at 03:44, Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Aug 17, 2015 at 1:09 PM, Bin Meng bmeng.cn@gmail.com wrote:
Hi,
I plan to send a patch to remove the DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO. They look useless to me. For example,
$ grep -nr DEV_FLAGS_SYSTEM * arch/blackfin/cpu/jtag-console.c:186: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/kosagi/novena/novena.c:80: .flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM, board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/mpl/common/kbd.c:206: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/mpl/pati/pati.c:569: pci_con_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM; common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.', common/usb_kbd.c:505: usb_kbd_dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:91: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:102: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/cros_ec_keyb.c:261: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/tegra-kbc.c:361: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/keyboard.c:277: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/video/cfb_console.c:2296: console_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM; drivers/net/netconsole.c:325: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; include/stdio_dev.h:19:#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */
Except for this one below which tests the flag and prints an 'S', common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.',
I don't see any actual meaning of this flag. I wonder if someone on the mailing list knows the history.
Also I noticed that several blackfin boards' video driver only set this flag without setting DEV_FLAGS_OUTPUT.
board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM;
I wonder these video drivers are not used for system output purpose?
Ping?
This is from the dawn of time and I don't see any purpose still remaining.
Regards, Simon

On Wed, Sep 02, 2015 at 08:05:47AM -0600, Simon Glass wrote:
Hi,
On 2 September 2015 at 03:44, Bin Meng bmeng.cn@gmail.com wrote:
On Mon, Aug 17, 2015 at 1:09 PM, Bin Meng bmeng.cn@gmail.com wrote:
Hi,
I plan to send a patch to remove the DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO. They look useless to me. For example,
$ grep -nr DEV_FLAGS_SYSTEM * arch/blackfin/cpu/jtag-console.c:186: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/kosagi/novena/novena.c:80: .flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM, board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/mpl/common/kbd.c:206: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/mpl/pati/pati.c:569: pci_con_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM; common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.', common/usb_kbd.c:505: usb_kbd_dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:91: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; common/stdio.c:102: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/cros_ec_keyb.c:261: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/tegra-kbc.c:361: dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/input/keyboard.c:277: kbddev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; drivers/video/cfb_console.c:2296: console_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM; drivers/net/netconsole.c:325: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; include/stdio_dev.h:19:#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */
Except for this one below which tests the flag and prints an 'S', common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.',
I don't see any actual meaning of this flag. I wonder if someone on the mailing list knows the history.
Also I noticed that several blackfin boards' video driver only set this flag without setting DEV_FLAGS_OUTPUT.
board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM;
I wonder these video drivers are not used for system output purpose?
Ping?
This is from the dawn of time and I don't see any purpose still remaining.
Sounds reasonable.

Hi Bin,
On Mon, 17 Aug 2015 13:09:20 +0800 Bin Meng bmeng.cn@gmail.com wrote: ...
I plan to send a patch to remove the DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO. They look useless to me. For example,
$ grep -nr DEV_FLAGS_SYSTEM *
...
drivers/video/cfb_console.c:2296: console_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM; drivers/net/netconsole.c:325: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; include/stdio_dev.h:19:#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */
Except for this one below which tests the flag and prints an 'S', common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.',
I don't see any actual meaning of this flag. I wonder if someone on the mailing list knows the history.
This is very old code, and I do not know the history. Both flags could be dropped, I've no objection.
Also I noticed that several blackfin boards' video driver only set this flag without setting DEV_FLAGS_OUTPUT.
board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM;
I wonder these video drivers are not used for system output purpose?
No, they don't. In the board configs I see that these use very small Displays (320x240). These shows the logo, but it would be very difficult to use such displays as a console.
Thanks,
Anatolij

Hi,
On Thu, Sep 3, 2015 at 6:25 AM, Anatolij Gustschin agust@denx.de wrote:
Hi Bin,
On Mon, 17 Aug 2015 13:09:20 +0800 Bin Meng bmeng.cn@gmail.com wrote: ...
I plan to send a patch to remove the DEV_FLAGS_SYSTEM and DEV_EXT_VIDEO. They look useless to me. For example,
$ grep -nr DEV_FLAGS_SYSTEM *
...
drivers/video/cfb_console.c:2296: console_dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM; drivers/net/netconsole.c:325: dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; include/stdio_dev.h:19:#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */
Except for this one below which tests the flag and prints an 'S', common/cmd_console.c:33: (dev->flags & DEV_FLAGS_SYSTEM) ? 'S' : '.',
I don't see any actual meaning of this flag. I wonder if someone on the mailing list knows the history.
This is very old code, and I do not know the history. Both flags could be dropped, I've no objection.
Also I noticed that several blackfin boards' video driver only set this flag without setting DEV_FLAGS_OUTPUT.
board/bf527-ezkit/video.c:442: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/cm-bf548/video.c:336: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf548-ezkit/video.c:332: videodev.flags = DEV_FLAGS_SYSTEM; /* No Output */ board/bf533-stamp/video.c:168: videodev.flags = DEV_FLAGS_SYSTEM;
I wonder these video drivers are not used for system output purpose?
No, they don't. In the board configs I see that these use very small Displays (320x240). These shows the logo, but it would be very difficult to use such displays as a console.
Thanks all for the information. I will see if I can spend some time to clean these up.
Regards, Bin
participants (4)
-
Anatolij Gustschin
-
Bin Meng
-
Simon Glass
-
Tom Rini