Re: [PATCH v1] media: staging: tegra-vde: Replace debug messages with trace points

From: Mauro Carvalho Chehab
Date: Tue Jul 24 2018 - 20:37:41 EST


Em Wed, 25 Jul 2018 01:38:37 +0300
Dmitry Osipenko <digetx@xxxxxxxxx> escreveu:

> On Wednesday, 25 July 2018 01:06:52 MSK Mauro Carvalho Chehab wrote:
> > Em Sat, 7 Jul 2018 19:20:49 +0300
> >
> > Dmitry Osipenko <digetx@xxxxxxxxx> escreveu:
> > > Trace points are much more efficient than debug messages for extensive
> > > tracing and could be conveniently enabled / disabled dynamically, hence
> > > let's replace debug messages with the trace points.
> >
> > This patch require some work:
> >
> > $ make ARCH=i386 CF=-D__CHECK_ENDIAN__ CONFIG_DEBUG_SECTION_MISMATCH=y C=1
> > W=1 CHECK='compile_checks' M=drivers/staging/media
> >
> > ./include/linux/slab.h:631:13: error: undefined identifier
> > '__builtin_mul_overflow' ./include/linux/slab.h:631:13: warning: call with
> > no type!
> > fixdep: error opening file: drivers/staging/media/tegra-vde/trace.h: No such
> > file or directory
>
> CHECK drivers/staging/media/tegra-vde/tegra-vde.c
> /bin/sh: compile_checks: command not found
>
> Upstream kernel doesn't have "compile_checks" script and I can't find it
> anywhere else.

This is just a call for smatch/sparse:

#!/bin/bash
/devel/smatch/smatch -p=kernel $@
# This is too pedantic and produce lots of false-positives
#/devel/smatch/smatch --two-passes -- -p=kernel $@
/devel/sparse/sparse $@

However, the problem here is that you're doing a 64 bits division.
That causes compilation to break with 32 bits. you need to use
do_div & friends.


Thanks,
Mauro