All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Kieran Bingham <kieran.bingham@ideasonboard.com>,
	LibCamera Devel <libcamera-devel@lists.libcamera.org>,
	Jenkins Builder Robot <jenkins@linuxtv.org>,
	linux-media@vger.kernel.org
Subject: Re: [libcamera-devel] Build failed in Jenkins: libcamera #72
Date: Tue, 21 Jan 2020 15:51:49 +0200	[thread overview]
Message-ID: <20200121135149.GA7686@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20200121141246.4d1b2ac5@kernel.org>

Hi Mauro,

On Tue, Jan 21, 2020 at 02:12:46PM +0100, Mauro Carvalho Chehab wrote:
> Em Sun, 19 Jan 2020 21:16:31 +0000 Kieran Bingham escreveu:
> > Hi Mauro,
> > 
> > It looks like the Jenkins jobs for Libcamera are failing continuously.
> > 
> > I believe it looks like the jobs reuse an existing build configuration,
> > and that doesn't get reconfigured if we change the top level meson.build
> > or such.
> > 
> > In particular, here we have changed to C++14, and the build should
> > certainly be done from clean, as compiler flags should be updated.
> > 
> > As a side note, is it possible (or desirable?) to cc
> > <libcamera-devel@lists.libcamera.org> on these failures to make sure we
> > see them?
> > 
> > On 15/01/2020 00:03, Jenkins Builder Robot wrote:
> > > See <https://builder.linuxtv.org/job/libcamera/72/display/redirect?page=changes>
> > > 
> > > Changes:
> > > 
> > > [laurent.pinchart] meson.build: Switch to C++14
> > > 
> > > [laurent.pinchart] libcamera: Switch from utils::make_unique to std::make_unique
> > > 
> > > 
> > > ------------------------------------------
> > > Started by an SCM change
> > > Running as SYSTEM
> > > Building remotely on slave1 in workspace <https://builder.linuxtv.org/job/libcamera/ws/>
> > > No credentials specified  
> > >  > git rev-parse --is-inside-work-tree # timeout=10  
> > > Fetching changes from the remote Git repository  
> > >  > git config remote.origin.url git://linuxtv.org/libcamera.git # timeout=10  
> > > Fetching upstream changes from git://linuxtv.org/libcamera.git  
> > >  > git --version # timeout=10
> > >  > git fetch --tags --force --progress -- git://linuxtv.org/libcamera.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> > >  > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> > >  > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10  
> > > Checking out Revision acf18e4265dec2991e62f7c8baecfacf1a6708b3 (refs/remotes/origin/master)  
> > >  > git config core.sparsecheckout # timeout=10
> > >  > git checkout -f acf18e4265dec2991e62f7c8baecfacf1a6708b3 # timeout=10  
> > > Commit message: "libcamera: Switch from utils::make_unique to std::make_unique"  
> > >  > git rev-list --no-walk 055335bf49dbcb8c149bdcd4e96004c68e6b6ece # timeout=10  
> > > [libcamera] $ /bin/sh -xe /tmp/jenkins2777310540601637282.sh
> > > + meson build -Dandroid=true
> > > Directory already configured.  
> > 
> > ^^ This implies the previous build is being re-used.
> > 
> > Perhaps for a CI job, would it make more sense to do from-scratch clean
> > configure and rebuilds?
> > 
> > It would be nice if meson always knew when to reconfigure, but I'm not
> > sure how to make sure that always happens :-D
> > 
> > > Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
> > > If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
> > > to force Meson to regenerate.
> > > 
> > > If build failures persist, run "meson setup --wipe" to rebuild from scratch
> > > using the same options as passed when configuring the build.
> > > To change option values, run "meson configure" instead.
> > > + cd build
> > > + ninja
> > > [0/1] Regenerating build files.
> > > The Meson build system
> > > Version: 0.49.2
> > > Source dir: <https://builder.linuxtv.org/job/libcamera/ws/>
> > > Build dir: <https://builder.linuxtv.org/job/libcamera/ws/build>
> > > Build type: native build
> > > Project name: libcamera
> > > Project version: 0.0.0
> > > Native C compiler: ccache cc (gcc 8.3.0 "cc (Debian 8.3.0-6) 8.3.0")
> > > Native C++ compiler: ccache c++ (gcc 8.3.0 "c++ (Debian 8.3.0-6) 8.3.0")
> > > Build machine cpu family: x86_64
> > > Build machine cpu: x86_64
> > > Header <execinfo.h> has symbol "backtrace" : YES
> > > Header <stdlib.h> has symbol "secure_getenv" : YES
> > > Configuring version.h using configuration
> > > Dependency libudev found: YES (cached)
> > > Library atomic found: YES
> > > Library dl found: YES
> > > Dependency threads found: YES (cached)
> > > WARNING: rcc dependencies will not work reliably until this upstream issue is fixed: https://bugreports.qt.io/browse/QTBUG-45460
> > > Dependency qt5 found: YES (cached)
> > > Detecting Qt5 tools
> > >  moc: YES (/usr/lib/x86_64-linux-gnu/qt5/bin/moc, 5.11.3)
> > >  uic: YES (/usr/lib/x86_64-linux-gnu/qt5/bin/uic, 5.11.3)
> > >  rcc: YES (/usr/lib/x86_64-linux-gnu/qt5/bin/rcc, 5.11.3)
> > >  lrelease: NO
> > > Program doxygen found: YES (/usr/bin/doxygen)
> > > Configuring Doxyfile using configuration
> > > Program sphinx-build-3 found: NO
> > > Program sphinx-build found: YES (/usr/bin/sphinx-build)
> > > Configuring config.h using configuration
> > > Build targets in project: 68
> > > Option werror is: True [default: true]
> > > Option cpp_std is: c++11 [default: c++14]
> > > Found ninja-1.8.2 at /usr/bin/ninja
> > > [1/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/buffer.cpp.o'.
> > > [2/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/message.cpp.o'.
> > > [3/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/object.cpp.o'.
> > > [4/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/media_object.cpp.o'.
> > > [5/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/process.cpp.o'.
> > > [6/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/pipeline_vimc.cpp.o'.
> > > FAILED: src/libcamera/4ab8042@@camera@sha/pipeline_vimc.cpp.o 
> > > ccache c++ -Isrc/libcamera/4ab8042@@camera@sha -Isrc/libcamera -I../src/libcamera -Iinclude -I../include -Isrc/libcamera/include -I../src/libcamera/include -I../include/android/hardware/libhardware/include/ -I../include/android/metadata/ -I../include/android/system/core/include -Iinclude/libcamera -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -std=c++11 -g -Wno-unused-parameter -include config.h -fPIC -pthread  -MD -MQ 'src/libcamera/4ab8042@@camera@sha/pipeline_vimc.cpp.o' -MF 'src/libcamera/4ab8042@@camera@sha/pipeline_vimc.cpp.o.d' -o 'src/libcamera/4ab8042@@camera@sha/pipeline_vimc.cpp.o' -c ../src/libcamera/pipeline/vimc.cpp
> > > ../src/libcamera/pipeline/vimc.cpp: In member function ‘virtual bool libcamera::PipelineHandlerVimc::match(libcamera::DeviceEnumerator*)’:
> > > ../src/libcamera/pipeline/vimc.cpp:368:46: error: ‘make_unique’ is not a member of ‘std’
> > >   std::unique_ptr<VimcCameraData> data = std::make_unique<VimcCameraData>(this);
> > >                                               ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/vimc.cpp:368:46: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> > > ../src/libcamera/pipeline/vimc.cpp:34:1:
> > > +#include <memory>
> > >  
> > > ../src/libcamera/pipeline/vimc.cpp:368:46:
> > >   std::unique_ptr<VimcCameraData> data = std::make_unique<VimcCameraData>(this);
> > >                                               ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/vimc.cpp:368:72: error: expected primary-expression before ‘>’ token
> > >   std::unique_ptr<VimcCameraData> data = std::make_unique<VimcCameraData>(this);
> > >                                                                         ^
> > > [7/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/framebuffer_allocator.cpp.o'.
> > > [8/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/pipeline_ipu3_ipu3.cpp.o'.
> > > FAILED: src/libcamera/4ab8042@@camera@sha/pipeline_ipu3_ipu3.cpp.o 
> > > ccache c++ -Isrc/libcamera/4ab8042@@camera@sha -Isrc/libcamera -I../src/libcamera -Iinclude -I../include -Isrc/libcamera/include -I../src/libcamera/include -I../include/android/hardware/libhardware/include/ -I../include/android/metadata/ -I../include/android/system/core/include -Iinclude/libcamera -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -std=c++11 -g -Wno-unused-parameter -include config.h -fPIC -pthread  -MD -MQ 'src/libcamera/4ab8042@@camera@sha/pipeline_ipu3_ipu3.cpp.o' -MF 'src/libcamera/4ab8042@@camera@sha/pipeline_ipu3_ipu3.cpp.o.d' -o 'src/libcamera/4ab8042@@camera@sha/pipeline_ipu3_ipu3.cpp.o' -c ../src/libcamera/pipeline/ipu3/ipu3.cpp
> > > ../src/libcamera/pipeline/ipu3/ipu3.cpp: In member function ‘int libcamera::PipelineHandlerIPU3::registerCameras()’:
> > > ../src/libcamera/pipeline/ipu3/ipu3.cpp:879:9: error: ‘make_unique’ is not a member of ‘std’
> > >     std::make_unique<IPU3CameraData>(this);
> > >          ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/ipu3/ipu3.cpp:879:9: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> > > ../src/libcamera/pipeline/ipu3/ipu3.cpp:29:1:
> > > +#include <memory>
> > >  
> > > ../src/libcamera/pipeline/ipu3/ipu3.cpp:879:9:
> > >     std::make_unique<IPU3CameraData>(this);
> > >          ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/ipu3/ipu3.cpp:879:35: error: expected primary-expression before ‘>’ token
> > >     std::make_unique<IPU3CameraData>(this);
> > >                                    ^
> > > [9/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/request.cpp.o'.
> > > [10/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/pipeline_rkisp1_timeline.cpp.o'.
> > > [11/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/pipeline_handler.cpp.o'.
> > > [12/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/proxy_ipa_proxy_linux.cpp.o'.
> > > FAILED: src/libcamera/4ab8042@@camera@sha/proxy_ipa_proxy_linux.cpp.o 
> > > ccache c++ -Isrc/libcamera/4ab8042@@camera@sha -Isrc/libcamera -I../src/libcamera -Iinclude -I../include -Isrc/libcamera/include -I../src/libcamera/include -I../include/android/hardware/libhardware/include/ -I../include/android/metadata/ -I../include/android/system/core/include -Iinclude/libcamera -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -std=c++11 -g -Wno-unused-parameter -include config.h -fPIC -pthread  -MD -MQ 'src/libcamera/4ab8042@@camera@sha/proxy_ipa_proxy_linux.cpp.o' -MF 'src/libcamera/4ab8042@@camera@sha/proxy_ipa_proxy_linux.cpp.o.d' -o 'src/libcamera/4ab8042@@camera@sha/proxy_ipa_proxy_linux.cpp.o' -c ../src/libcamera/proxy/ipa_proxy_linux.cpp
> > > In file included from ../src/libcamera/proxy/ipa_proxy_linux.cpp:14:
> > > ../src/libcamera/proxy/ipa_proxy_linux.cpp: In member function ‘virtual std::unique_ptr<libcamera::IPAProxy> libcamera::IPAProxyLinuxFactory::create(libcamera::IPAModule*)’:
> > > ../src/libcamera/include/ipa_proxy.h:58:15: error: ‘make_unique’ is not a member of ‘std’
> > >    return std::make_unique<proxy>(ipam); \
> > >                ^~~~~~~~~~~
> > > ../src/libcamera/proxy/ipa_proxy_linux.cpp:93:1: note: in expansion of macro ‘REGISTER_IPA_PROXY’
> > >  REGISTER_IPA_PROXY(IPAProxyLinux)
> > >  ^~~~~~~~~~~~~~~~~~
> > > ../src/libcamera/include/ipa_proxy.h:58:15: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> > >    return std::make_unique<proxy>(ipam); \
> > >                ^~~~~~~~~~~
> > > ../src/libcamera/proxy/ipa_proxy_linux.cpp:93:1: note: in expansion of macro ‘REGISTER_IPA_PROXY’
> > >  REGISTER_IPA_PROXY(IPAProxyLinux)
> > >  ^~~~~~~~~~~~~~~~~~
> > > ../src/libcamera/include/ipa_proxy.h:58:32: error: expected primary-expression before ‘>’ token
> > >    return std::make_unique<proxy>(ipam); \
> > >                                 ^
> > > ../src/libcamera/proxy/ipa_proxy_linux.cpp:93:1: note: in expansion of macro ‘REGISTER_IPA_PROXY’
> > >  REGISTER_IPA_PROXY(IPAProxyLinux)
> > >  ^~~~~~~~~~~~~~~~~~
> > > [13/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/.._android_camera3_hal.cpp.o'.
> > > [14/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/device_enumerator_udev.cpp.o'.
> > > [15/144] Compiling C++ object 'src/libcamera/4ab8042@@camera@sha/pipeline_rkisp1_rkisp1.cpp.o'.
> > > FAILED: src/libcamera/4ab8042@@camera@sha/pipeline_rkisp1_rkisp1.cpp.o 
> > > ccache c++ -Isrc/libcamera/4ab8042@@camera@sha -Isrc/libcamera -I../src/libcamera -Iinclude -I../include -Isrc/libcamera/include -I../src/libcamera/include -I../include/android/hardware/libhardware/include/ -I../include/android/metadata/ -I../include/android/system/core/include -Iinclude/libcamera -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Werror -std=c++11 -g -Wno-unused-parameter -include config.h -fPIC -pthread  -MD -MQ 'src/libcamera/4ab8042@@camera@sha/pipeline_rkisp1_rkisp1.cpp.o' -MF 'src/libcamera/4ab8042@@camera@sha/pipeline_rkisp1_rkisp1.cpp.o.d' -o 'src/libcamera/4ab8042@@camera@sha/pipeline_rkisp1_rkisp1.cpp.o' -c ../src/libcamera/pipeline/rkisp1/rkisp1.cpp
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp: In member function ‘void libcamera::RkISP1CameraData::queueFrameAction(unsigned int, const libcamera::IPAOperationData&)’:
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:391:33: error: ‘make_unique’ is not a member of ‘std’
> > >    timeline_.scheduleAction(std::make_unique<RkISP1ActionSetSensor>(frame,
> > >                                  ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:391:33: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:34:1:
> > > +#include <memory>
> > >  
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:391:33:
> > >    timeline_.scheduleAction(std::make_unique<RkISP1ActionSetSensor>(frame,
> > >                                  ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:391:66: error: expected primary-expression before ‘>’ token
> > >    timeline_.scheduleAction(std::make_unique<RkISP1ActionSetSensor>(frame,
> > >                                                                   ^
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:392:12: error: left operand of comma operator has no effect [-Werror=unused-value]
> > >             sensor_,
> > >             ^~~~~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:392:12: error: right operand of comma operator has no effect [-Werror=unused-value]
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp: In member function ‘virtual int libcamera::PipelineHandlerRkISP1::queueRequestDevice(libcamera::Camera*, libcamera::Request*)’:
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:849:38: error: ‘make_unique’ is not a member of ‘std’
> > >   data->timeline_.scheduleAction(std::make_unique<RkISP1ActionQueueBuffers>(data->frame_,
> > >                                       ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:849:38: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:849:74: error: expected primary-expression before ‘>’ token
> > >   data->timeline_.scheduleAction(std::make_unique<RkISP1ActionQueueBuffers>(data->frame_,
> > >                                                                           ^
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:849:82: error: left operand of comma operator has no effect [-Werror=unused-value]
> > >   data->timeline_.scheduleAction(std::make_unique<RkISP1ActionQueueBuffers>(data->frame_,
> > >                                                                             ~~~~~~^~~~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:851:13: error: right operand of comma operator has no effect [-Werror=unused-value]
> > >              this));
> > >              ^~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp: In member function ‘int libcamera::PipelineHandlerRkISP1::createCamera(libcamera::MediaEntity*)’:
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:895:8: error: ‘make_unique’ is not a member of ‘std’
> > >    std::make_unique<RkISP1CameraData>(this);
> > >         ^~~~~~~~~~~
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:895:8: note: ‘std::make_unique’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> > > ../src/libcamera/pipeline/rkisp1/rkisp1.cpp:895:36: error: expected primary-expression before ‘>’ token
> > >    std::make_unique<RkISP1CameraData>(this);
> > >                                     ^
> > > cc1plus: all warnings being treated as errors
> > > ninja: build stopped: subcommand failed.
> > > Build step 'Execute shell' marked build as failure
> 
> I added a clean step, just to be sure, e. g. the current build script is:
> 
> 	ninja -C build clean
> 	meson build -Dandroid=true
> 	ninja -C build

The recommended steps are

meson -Dandroid=true build
ninja -C build clean
ninja -C build

This will ensure the build directory is created if it doesn't exist
before trying to run ninja in it. However, the meson step will will be a
no-op in case the directory exists. If you want to change options for an
existing build directory, you have to run

meson --reconfigure -Dandroid=true build

This will fail if the build directory doesn't exist. The following
script should work in all cases.

options="-Dandroid=true"

if [[ -d build ]] ; then
	meson --reconfigure $options build
else
	meson $options build
fi

ninja -C build clean
ninja -C build

> But it still produces errors when trying to build.

Clean is a good idea, but won't be enough when core configuration
options of the project change I'm afraid :-( We need to wipe out the
build directory completely, or run

meson configure -Dcpp_std=c++14 build

However, the only configuration option that requires such an operation
to prevent breakages is cpp_std, and we don't envision switching to
C++17 very soon. Even if we did, that would be a one time change, as
there's no other published C++ version after that :-)

Could you handle this manually to fix the build ? No further action
should be needed after that.

While at it, could you also set -Dv4l2=true to compile-test the V4L2
compatibility layer ?

-- 
Regards,

Laurent Pinchart

  parent reply	other threads:[~2020-01-21 13:52 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-15  0:03 Build failed in Jenkins: libcamera #72 Jenkins Builder Robot
2020-01-16 17:48 ` Build failed in Jenkins: libcamera #73 Jenkins Builder Robot
2020-01-16 23:33   ` Build failed in Jenkins: libcamera #74 Jenkins Builder Robot
2020-01-16 23:48     ` Build failed in Jenkins: libcamera #75 Jenkins Builder Robot
2020-01-18 20:48       ` Build failed in Jenkins: libcamera #76 Jenkins Builder Robot
2020-01-20 17:03         ` Build failed in Jenkins: libcamera #77 Jenkins Builder Robot
2020-01-21 13:26           ` Build failed in Jenkins: libcamera #78 Jenkins Builder Robot
2020-01-21 13:38             ` Jenkins build is back to normal : libcamera #79 Jenkins Builder Robot
2020-01-19 21:16 ` Build failed in Jenkins: libcamera #72 Kieran Bingham
2020-01-21 13:12   ` Mauro Carvalho Chehab
2020-01-21 13:46     ` Mauro Carvalho Chehab
2020-01-21 13:48       ` Kieran Bingham
2020-01-21 13:47     ` Kieran Bingham
2020-01-21 14:22       ` Mauro Carvalho Chehab
2020-01-21 13:51     ` Laurent Pinchart [this message]
2020-01-21 13:54       ` [libcamera-devel] " Laurent Pinchart
2020-01-21 14:28       ` Mauro Carvalho Chehab
2020-01-21 13:14   ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200121135149.GA7686@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=jenkins@linuxtv.org \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=libcamera-devel@lists.libcamera.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.