Hi Bin, On 20 September 2017 at 08:41, Bin Meng <bmeng...@gmail.com> wrote: > > Hi Simon, > > On Wed, Sep 20, 2017 at 9:50 PM, Simon Glass <s...@chromium.org> wrote: > > Hi Bin, > > > > On 17 September 2017 at 21:45, Bin Meng <bmeng...@gmail.com> wrote: > >> Hi Simon, > >> > >> On Sun, Sep 17, 2017 at 5:23 AM, Simon Glass <s...@chromium.org> wrote: > >>> Add the logging header file and implementation with some configuration > >>> options to control it. > >>> > >>> Signed-off-by: Simon Glass <s...@chromium.org> > >>> --- > >>> > >>> MAINTAINERS | 9 ++ > >>> common/Kconfig | 56 +++++++++ > >>> common/Makefile | 1 + > >>> common/log.c | 246 > >>> +++++++++++++++++++++++++++++++++++++ > >>> include/asm-generic/global_data.h | 5 + > >>> include/log.h | 247 > >>> ++++++++++++++++++++++++++++++++++++-- > >>> 6 files changed, 555 insertions(+), 9 deletions(-) > >>> create mode 100644 common/log.c > >>> > >>> diff --git a/MAINTAINERS b/MAINTAINERS > >>> index 04acf2b89d..eb420afa8d 100644 > >>> --- a/MAINTAINERS > >>> +++ b/MAINTAINERS > >>> @@ -290,6 +290,15 @@ S: Maintained > >>> T: git git://git.denx.de/u-boot-i2c.git > >>> F: drivers/i2c/ > >>> > >>> +LOGGING > >>> +M: Simon Glass <s...@chromium.org> > >>> +S: Maintained > >>> +T: git git://git.denx.de/u-boot.git > >>> +F: common/log.c > >>> +F: cmd/log.c > >>> +F: test/log/log_test.c > >>> +F: test/py/tests/test_log.py > >> > >> test/log/log_test.c and test/py/tests/test_log.py have not been > >> introduced at this point. > > > > OK I can tweak that, > > [..] > > > >>> +/** > >>> + * struct log_driver - a driver which accepts and processes log records > >>> + * > >>> + * @name: Name of driver > >>> + */ > >>> +struct log_driver { > >>> + const char *name; > >>> + /** > >>> + * emit() - emit a log record > >>> + * > >>> + * Called by the log system to pass a log record to a particular > >>> driver > >>> + * for processing. The filter is checked before calling this > >>> function. > >>> + */ > >>> + int (*emit)(struct log_device *ldev, struct log_rec *rec); > >>> +}; > >>> + > >> > >> So we are creating a new type of non-DM driver which is log-specific? > >> How about we add this emit to the existing uclass driver that can be > >> used as the log driver? (eg: blk devices with file system?) > > > > Yes that's right. I think I can link it to DM once it starts up, but a > > logging of DM start-up is useful. > > > > Re your idea are you saying add an emit() method to UCLASS_BLK? > > > > Yep, something like > > #ifdef CONFIG_LOG > .log_emit = xxx_log_emit, > #endif > > Probably we need a flag to find out which driver provides such log > functionality.
So what would the block driver do in that function? I guess I don't understand what it is for. Can you please give me more information? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot