From: Pavel Machek <pavel@ucw.cz> To: Mauro Carvalho Chehab <mchehab@s-opensource.com> Cc: pali.rohar@gmail.com, sre@kernel.org, kernel list <linux-kernel@vger.kernel.org>, linux-arm-kernel <linux-arm-kernel@lists.infradead.org>, linux-omap@vger.kernel.org, tony@atomide.com, khilman@kernel.org, aaro.koskinen@iki.fi, ivo.g.dimitrov.75@gmail.com, patrikbachan@gmail.com, serge@hallyn.com, abcloriens@gmail.com, Sakari Ailus <sakari.ailus@iki.fi>, Sakari Ailus <sakari.ailus@linux.intel.com>, linux-media@vger.kernel.org Subject: Re: support autofocus / autogain in libv4l2 Date: Mon, 24 Apr 2017 23:29:14 +0200 [thread overview] Message-ID: <20170424212914.GA20780@amd> (raw) In-Reply-To: <20170424103802.00d3b554@vento.lan> [-- Attachment #1: Type: text/plain, Size: 6866 bytes --] Hi! > > For focus to be useful, we need autofocus implmented > > somewhere. Unfortunately, v4l framework does not seem to provide good > > place where to put autofocus. I believe, long-term, we'll need some > > kind of "video server" providing this kind of services. > > > > Anyway, we probably don't want autofocus in kernel (even through some > > cameras do it in hardware), and we probably don't want autofocus in > > each and every user application. > > > > So what remains is libv4l2. > > IMO, the best place for autofocus is at libv4l2. Putting it on a > separate "video server" application looks really weird for me. Well... let me see. libraries are quite limited -- it is hard to open files, or use threads/have custom main loop. It may be useful to switch resolutions -- do autofocus/autogain at lower resolution, then switch to high one for taking picture. It would be good to have that in "system" code, but I'm not at all sure libv4l2 design will allow that. It would be good if application could say "render live camera into this window" and only care about user interface, then say "give me a high resolution jpeg". But that would require main loop in the library... It would be nice if more than one application could be accessing the camera at the same time... (I.e. something graphical running preview then using command line tool to grab a picture.) This one is definitely not solveable inside a library... > Btw, libv4l2 already has some autotools for auto gain and auto > white balance. See the implementation under: > lib/libv4lconvert/processing > > The libv4l internal controls can be seen at: > lib/libv4lconvert/control/libv4lcontrol.h > > The ones implemented by the processing part of the library are: Thanks for pointer, will take a look. > > Now, this is in no way clean or complete, > > and functionality provided by sdl.c and asciicam.c probably _should_ > > be in application, but... I'd like to get the code out there. > > > > Oh and yes, I've canibalized decode_tm6000.c application instead of > > introducing my own. Autotools scare me, sorry. > > Why replace decode_tm6000.c by something else? If you want to add another > test application, just place it on a new file. Scary scary scary autotools ;-). Yes, I did rather lot of hacks, as you noted below. I do development on n900, so not everything is easy. > I added a few notes together with the code, pointing the main things > I think it require changes, in order for me to do a better review > at the code. I didn't test nor tried to check the algorithms inside, > as the code, on its current state, requires rework and code cleanup. Thanks, I'll take a look. > Please don't add a new application under lib/. It is fine if you want > some testing application, if the ones there aren't enough, but please > place it under contrib/test/. > > You should likely take a look at v4l2grab first, as it could have > almost everything you would need. Will take a look, thanks for pointer. > IMHO, it would be better to use aalib. Btw, xawtv3 has a code example > using it, under: > console/ttv.c > > As it already uses libv4l, prhaps you could use it, instead of adding > a new ascii app. No need to duplicate it, then. I was trying to quickly test video works, this was before SDL. > > +#include "sdl.c" > > + > > +static struct sdl sdl; > > + > > +int v4l2_get_index(int fd); > > +void my_main(void); > > + > > The above looks really odd. Why do you want to make libv4l2 dependent > on sdl? I don't, but I had some nasty problems with linker; this should really go into application but it refused to link. Scary libtool. > > +static void v4l2_histogram(unsigned char *buf, int cdf[], struct v4l2_format *fmt) > > +{ > > + for (int y = 0; y < fmt->fmt.pix.height; y+=19) > > + for (int x = 0; x < fmt->fmt.pix.width; x+=19) { > > + pixel p = buf_pixel(fmt, buf, x, y); > > + > > + int b; > > + /* HACK: we divide green by 2 to have nice picture, undo it here. */ > > + b = p.r + 2*p.g + p.b; > > + b = (b * BUCKETS)/(256); > > + cdf[b]++; > > + } > > +} > > + > > +static long v4l2_sharpness(unsigned char *buf, struct v4l2_format *fmt) > > +{ > > + int h = fmt->fmt.pix.height; > > + int w = fmt->fmt.pix.width; > > + long r = 0; > > + > > + for (int y = h/3; y < h-h/3; y+=h/9) > > + for (int x = w/3; x < w-w/3; x++) { > > + pixel p1 = buf_pixel(fmt, buf, x, y); > > + pixel p2 = buf_pixel(fmt, buf, x+2, y); > > + > > + int b1, b2; > > + /* HACK: we divide green by 2 to have nice picture, undo it here. */ > > + b1 = p1.r + 2*p1.g + p1.b; > > + b2 = p2.r + 2*p2.g + p2.b; > > + > > + int v; > > + v = (b1-b2)*(b1-b2); > > + if (v > 36) > > + r+=v; > > + } > > + > > + return r; > > +} > > IMO, the above belongs to a separate processing module under > lib/libv4lconvert/processing/ I guess so. > > + > > +int v4l2_set_exposure(int fd, int exposure) > > +{ > > + int index = v4l2_get_index(fd); > > + > > + if (index == -1 || devices[index].convert == NULL) { > > + V4L2_LOG_ERR("v4l2_set_exposure called with invalid fd: %d\n", fd); > > + errno = EBADF; > > + return -1; > > + } > > + > > + struct v4l2_control ctrl; > > + ctrl.id = V4L2_CID_EXPOSURE; > > + ctrl.value = exposure; > > + if (ioctl(devices[index].subdev_fds[0], VIDIOC_S_CTRL, &ctrl) < 0) { > > + printf("Could not set exposure\n"); > > + } > > + return 0; > > +} > > Shouldn't it be together with lib/libv4lconvert/processing/autogain.c, > perhaps as an alternative implementation, if what's there is not > enough? I'll take a look, thanks. > > @@ -823,6 +1246,10 @@ int v4l2_close(int fd) > > { > > int index, result; > > > > + if (fd == -2) { > > + my_main(); > > + } > > + > > That looks a hack! That is _the_ hack ;-). Yes, agreed, need to look at processing/. .. when I get time. > > +#include <SDL2/SDL.h> > > +#include <SDL2/SDL_image.h> > > If you're adding a SDL-specific application, you'll need to add the > needed autoconf bits to detect if SDL devel package is installed, > auto-disabling it if not. > > Yet, I don't think that SDL should be part of the library, but, > instead, part of some application. Agreed. libtool prevented me from doing the right thing. > > index 4bffbdd..fda7e3b 100644 > > --- a/utils/decode_tm6000/decode_tm6000.c > > +++ b/utils/decode_tm6000/decode_tm6000.c > > Everything below it is completely wrong! And most of the stuff above is, too :-). I wanted to get the code out in case I won't have time... Thanks, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: pavel@ucw.cz (Pavel Machek) To: linux-arm-kernel@lists.infradead.org Subject: support autofocus / autogain in libv4l2 Date: Mon, 24 Apr 2017 23:29:14 +0200 [thread overview] Message-ID: <20170424212914.GA20780@amd> (raw) In-Reply-To: <20170424103802.00d3b554@vento.lan> Hi! > > For focus to be useful, we need autofocus implmented > > somewhere. Unfortunately, v4l framework does not seem to provide good > > place where to put autofocus. I believe, long-term, we'll need some > > kind of "video server" providing this kind of services. > > > > Anyway, we probably don't want autofocus in kernel (even through some > > cameras do it in hardware), and we probably don't want autofocus in > > each and every user application. > > > > So what remains is libv4l2. > > IMO, the best place for autofocus is at libv4l2. Putting it on a > separate "video server" application looks really weird for me. Well... let me see. libraries are quite limited -- it is hard to open files, or use threads/have custom main loop. It may be useful to switch resolutions -- do autofocus/autogain at lower resolution, then switch to high one for taking picture. It would be good to have that in "system" code, but I'm not at all sure libv4l2 design will allow that. It would be good if application could say "render live camera into this window" and only care about user interface, then say "give me a high resolution jpeg". But that would require main loop in the library... It would be nice if more than one application could be accessing the camera at the same time... (I.e. something graphical running preview then using command line tool to grab a picture.) This one is definitely not solveable inside a library... > Btw, libv4l2 already has some autotools for auto gain and auto > white balance. See the implementation under: > lib/libv4lconvert/processing > > The libv4l internal controls can be seen at: > lib/libv4lconvert/control/libv4lcontrol.h > > The ones implemented by the processing part of the library are: Thanks for pointer, will take a look. > > Now, this is in no way clean or complete, > > and functionality provided by sdl.c and asciicam.c probably _should_ > > be in application, but... I'd like to get the code out there. > > > > Oh and yes, I've canibalized decode_tm6000.c application instead of > > introducing my own. Autotools scare me, sorry. > > Why replace decode_tm6000.c by something else? If you want to add another > test application, just place it on a new file. Scary scary scary autotools ;-). Yes, I did rather lot of hacks, as you noted below. I do development on n900, so not everything is easy. > I added a few notes together with the code, pointing the main things > I think it require changes, in order for me to do a better review > at the code. I didn't test nor tried to check the algorithms inside, > as the code, on its current state, requires rework and code cleanup. Thanks, I'll take a look. > Please don't add a new application under lib/. It is fine if you want > some testing application, if the ones there aren't enough, but please > place it under contrib/test/. > > You should likely take a look at v4l2grab first, as it could have > almost everything you would need. Will take a look, thanks for pointer. > IMHO, it would be better to use aalib. Btw, xawtv3 has a code example > using it, under: > console/ttv.c > > As it already uses libv4l, prhaps you could use it, instead of adding > a new ascii app. No need to duplicate it, then. I was trying to quickly test video works, this was before SDL. > > +#include "sdl.c" > > + > > +static struct sdl sdl; > > + > > +int v4l2_get_index(int fd); > > +void my_main(void); > > + > > The above looks really odd. Why do you want to make libv4l2 dependent > on sdl? I don't, but I had some nasty problems with linker; this should really go into application but it refused to link. Scary libtool. > > +static void v4l2_histogram(unsigned char *buf, int cdf[], struct v4l2_format *fmt) > > +{ > > + for (int y = 0; y < fmt->fmt.pix.height; y+=19) > > + for (int x = 0; x < fmt->fmt.pix.width; x+=19) { > > + pixel p = buf_pixel(fmt, buf, x, y); > > + > > + int b; > > + /* HACK: we divide green by 2 to have nice picture, undo it here. */ > > + b = p.r + 2*p.g + p.b; > > + b = (b * BUCKETS)/(256); > > + cdf[b]++; > > + } > > +} > > + > > +static long v4l2_sharpness(unsigned char *buf, struct v4l2_format *fmt) > > +{ > > + int h = fmt->fmt.pix.height; > > + int w = fmt->fmt.pix.width; > > + long r = 0; > > + > > + for (int y = h/3; y < h-h/3; y+=h/9) > > + for (int x = w/3; x < w-w/3; x++) { > > + pixel p1 = buf_pixel(fmt, buf, x, y); > > + pixel p2 = buf_pixel(fmt, buf, x+2, y); > > + > > + int b1, b2; > > + /* HACK: we divide green by 2 to have nice picture, undo it here. */ > > + b1 = p1.r + 2*p1.g + p1.b; > > + b2 = p2.r + 2*p2.g + p2.b; > > + > > + int v; > > + v = (b1-b2)*(b1-b2); > > + if (v > 36) > > + r+=v; > > + } > > + > > + return r; > > +} > > IMO, the above belongs to a separate processing module under > lib/libv4lconvert/processing/ I guess so. > > + > > +int v4l2_set_exposure(int fd, int exposure) > > +{ > > + int index = v4l2_get_index(fd); > > + > > + if (index == -1 || devices[index].convert == NULL) { > > + V4L2_LOG_ERR("v4l2_set_exposure called with invalid fd: %d\n", fd); > > + errno = EBADF; > > + return -1; > > + } > > + > > + struct v4l2_control ctrl; > > + ctrl.id = V4L2_CID_EXPOSURE; > > + ctrl.value = exposure; > > + if (ioctl(devices[index].subdev_fds[0], VIDIOC_S_CTRL, &ctrl) < 0) { > > + printf("Could not set exposure\n"); > > + } > > + return 0; > > +} > > Shouldn't it be together with lib/libv4lconvert/processing/autogain.c, > perhaps as an alternative implementation, if what's there is not > enough? I'll take a look, thanks. > > @@ -823,6 +1246,10 @@ int v4l2_close(int fd) > > { > > int index, result; > > > > + if (fd == -2) { > > + my_main(); > > + } > > + > > That looks a hack! That is _the_ hack ;-). Yes, agreed, need to look at processing/. .. when I get time. > > +#include <SDL2/SDL.h> > > +#include <SDL2/SDL_image.h> > > If you're adding a SDL-specific application, you'll need to add the > needed autoconf bits to detect if SDL devel package is installed, > auto-disabling it if not. > > Yet, I don't think that SDL should be part of the library, but, > instead, part of some application. Agreed. libtool prevented me from doing the right thing. > > index 4bffbdd..fda7e3b 100644 > > --- a/utils/decode_tm6000/decode_tm6000.c > > +++ b/utils/decode_tm6000/decode_tm6000.c > > Everything below it is completely wrong! And most of the stuff above is, too :-). I wanted to get the code out in case I won't have time... Thanks, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170424/420fafa1/attachment.sig>
next prev parent reply other threads:[~2017-04-24 21:29 UTC|newest] Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-14 12:20 [PATCH v3 0/2] v4l: Add camera voice coil lens control class, current control Sakari Ailus 2017-02-14 12:20 ` [PATCH v3 1/2] " Sakari Ailus 2017-02-14 22:47 ` Pavel Machek 2017-02-15 7:15 ` Sakari Ailus 2017-02-15 8:09 ` Pavel Machek 2017-02-20 22:26 ` Sakari Ailus 2017-02-20 22:48 ` Pavel Machek 2017-04-15 2:23 ` Mauro Carvalho Chehab 2017-04-15 7:12 ` Pavel Machek 2017-04-16 9:12 ` Sakari Ailus 2017-04-19 13:51 ` Mauro Carvalho Chehab 2017-04-24 9:30 ` support autofocus / autogain in libv4l2 Pavel Machek 2017-04-24 13:38 ` Mauro Carvalho Chehab 2017-04-24 13:38 ` Mauro Carvalho Chehab 2017-04-24 21:29 ` Pavel Machek [this message] 2017-04-24 21:29 ` Pavel Machek 2017-04-25 1:47 ` Mauro Carvalho Chehab 2017-04-25 1:47 ` Mauro Carvalho Chehab 2017-04-25 8:05 ` Pavel Machek 2017-04-25 8:05 ` Pavel Machek 2017-04-25 8:08 ` Pali Rohár 2017-04-25 8:08 ` Pali Rohár 2017-04-25 8:08 ` Pali Rohár 2017-04-25 11:23 ` Pavel Machek 2017-04-25 11:23 ` Pavel Machek 2017-04-25 11:30 ` Pali Rohár 2017-04-25 11:30 ` Pali Rohár 2017-04-25 12:28 ` Pavel Machek 2017-04-25 12:28 ` Pavel Machek 2017-04-25 12:51 ` Pali Rohár 2017-04-25 12:51 ` Pali Rohár 2017-04-25 16:55 ` Nicolas Dufresne 2017-04-25 16:55 ` Nicolas Dufresne 2017-04-25 16:51 ` Nicolas Dufresne 2017-04-25 16:51 ` Nicolas Dufresne 2017-04-25 16:53 ` Nicolas Dufresne 2017-04-25 16:53 ` Nicolas Dufresne 2017-04-25 16:53 ` Nicolas Dufresne 2017-04-26 10:53 ` Pavel Machek 2017-04-26 10:53 ` Pavel Machek 2017-04-26 10:53 ` [patch] propagating controls in libv4l2 was " Pavel Machek 2017-04-26 10:53 ` Pavel Machek 2017-04-26 11:13 ` Mauro Carvalho Chehab 2017-04-26 11:13 ` Mauro Carvalho Chehab 2017-04-26 13:23 ` [patch] autogain support for bayer10 format (was Re: [patch] propagating controls in libv4l2) Pavel Machek 2017-04-26 13:23 ` Pavel Machek 2017-04-26 15:43 ` Ivaylo Dimitrov 2017-04-26 15:43 ` Ivaylo Dimitrov 2017-04-26 22:51 ` Pavel Machek 2017-04-26 22:51 ` Pavel Machek 2017-04-26 22:51 ` Pavel Machek 2017-04-27 5:52 ` Ivaylo Dimitrov 2017-04-27 5:52 ` Ivaylo Dimitrov 2017-07-13 7:57 ` Pavel Machek 2017-07-13 7:57 ` Pavel Machek 2017-05-03 19:05 ` Russell King - ARM Linux 2017-05-03 19:05 ` Russell King - ARM Linux 2017-05-03 19:58 ` Pavel Machek 2017-05-03 19:58 ` Pavel Machek 2017-05-08 22:28 ` [patch, libv4l]: fix integer overflow Pavel Machek 2017-05-09 6:29 ` Hans Verkuil 2017-05-09 6:32 ` Hans Verkuil 2017-05-09 8:02 ` Pavel Machek 2017-05-09 10:59 ` [patch, libv4l]: fix typos Pavel Machek 2017-05-09 11:01 ` [patch, libv4l]: Add support for GRBG10 format conversion Pavel Machek 2017-05-09 11:04 ` [patch, libv4l]: Introduce define for lookup table size Pavel Machek 2017-05-16 11:17 ` Hans Verkuil 2017-05-16 12:45 ` Pavel Machek 2017-05-16 12:56 ` Hans Verkuil 2017-05-16 23:23 ` Pavel Machek 2017-05-19 9:13 ` [libv4l]: How to do 10-bit support? Stand-alone conversions? Pavel Machek 2018-03-16 20:55 ` [RFC, libv4l]: Make libv4l2 usable on devices with complex pipeline Pavel Machek 2018-03-19 9:47 ` Hans Verkuil 2018-03-19 10:23 ` Pavel Machek 2018-03-19 10:47 ` Mauro Carvalho Chehab 2018-03-19 11:11 ` Hans Verkuil 2018-03-19 12:00 ` Pavel Machek 2018-03-19 12:15 ` Hans Verkuil 2018-03-19 12:48 ` Pavel Machek 2018-03-19 13:29 ` Hans Verkuil 2018-03-19 22:18 ` Pavel Machek 2018-03-19 13:45 ` Mauro Carvalho Chehab 2018-03-19 13:26 ` Mauro Carvalho Chehab 2018-03-20 7:50 ` Pavel Machek 2018-05-15 20:01 ` Pavel Machek 2018-05-15 22:03 ` Mauro Carvalho Chehab 2018-05-16 20:53 ` Pavel Machek 2018-06-02 21:01 ` Pavel Machek 2018-06-06 6:18 ` Tomasz Figa 2018-06-06 8:46 ` Pavel Machek 2018-06-06 8:53 ` Tomasz Figa 2018-06-06 10:01 ` Pavel Machek 2018-06-06 16:57 ` Mauro Carvalho Chehab 2018-06-06 21:27 ` Pavel Machek 2018-06-07 12:22 ` [PATCH, " Pavel Machek 2018-06-06 10:51 ` [RFC, " Pavel Machek 2018-06-06 11:16 ` Tomasz Figa 2018-06-06 20:37 ` Pavel Machek 2018-06-06 17:13 ` Mauro Carvalho Chehab 2018-06-06 10:23 ` Pavel Machek 2018-06-07 7:25 ` Pavel Machek 2017-05-09 11:10 ` [patch, libv4l]: fix integer overflow Pavel Machek 2017-05-16 10:42 ` Pavel Machek 2017-05-21 10:33 ` [patch, libv4l]: add sdlcam example for testing digital still camera functionality Pavel Machek 2017-05-26 20:41 ` Pavel Machek 2017-05-27 9:27 ` Hans Verkuil 2017-05-29 6:13 ` Hans Verkuil 2017-05-29 7:32 ` Pavel Machek 2017-05-29 8:02 ` Hans Verkuil 2017-06-14 11:16 ` Sakari Ailus 2017-06-14 20:41 ` Pavel Machek 2017-07-13 8:36 ` Pavel Machek 2017-05-09 8:07 ` [patch, libv4l]: fix integer overflow Pavel Machek 2017-04-30 22:48 ` [patch] autogain support for bayer10 format (was Re: [patch] propagating controls in libv4l2) Pavel Machek 2017-04-30 22:48 ` Pavel Machek 2017-07-13 9:49 ` [patch] propagating controls in libv4l2 was Re: support autofocus / autogain in libv4l2 Pavel Machek 2017-07-13 9:49 ` Pavel Machek 2017-04-26 11:26 ` Mauro Carvalho Chehab 2017-04-26 11:26 ` Mauro Carvalho Chehab 2017-04-29 9:19 ` Pavel Machek 2017-04-29 9:19 ` Pavel Machek 2017-10-21 22:00 ` Camera support, Prague next week, sdlcam Pavel Machek 2017-10-22 7:36 ` Hans Verkuil 2017-10-22 7:36 ` Hans Verkuil 2017-10-22 8:31 ` Pavel Machek 2017-10-22 8:31 ` Pavel Machek 2017-10-23 18:54 ` Pavel Machek 2017-10-23 18:54 ` Pavel Machek 2017-10-23 19:24 ` Hans Verkuil 2017-10-23 19:24 ` Hans Verkuil 2017-10-23 20:15 ` Sakari Ailus 2017-10-23 20:15 ` Sakari Ailus 2017-10-23 21:02 ` Mauro Carvalho Chehab 2017-10-23 21:02 ` Mauro Carvalho Chehab 2017-10-31 21:28 ` Nokia N9: fun with camera Pavel Machek 2017-11-01 6:36 ` Pavel Machek 2017-11-01 6:36 ` Pavel Machek 2017-11-01 15:32 ` Pavel Machek 2017-11-01 15:32 ` Pavel Machek 2017-04-24 22:07 ` support autofocus / autogain in libv4l2 Pavel Machek 2017-04-24 22:07 ` Pavel Machek 2017-04-25 1:57 ` Mauro Carvalho Chehab 2017-04-25 1:57 ` Mauro Carvalho Chehab 2017-04-25 8:20 ` Pavel Machek 2017-04-25 8:20 ` Pavel Machek 2017-04-25 11:23 ` Pavel Machek 2017-04-25 11:23 ` Pavel Machek 2017-04-28 22:00 ` [PATCH v3 1/2] v4l: Add camera voice coil lens control class, current control Pavel Machek 2017-04-29 1:46 ` Mauro Carvalho Chehab 2017-05-12 10:49 ` Sakari Ailus 2017-05-13 11:08 ` Pavel Machek 2017-02-14 12:20 ` [PATCH v3 2/2] ad5820: Use VOICE_COIL_CURRENT control Sakari Ailus
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=20170424212914.GA20780@amd \ --to=pavel@ucw.cz \ --cc=aaro.koskinen@iki.fi \ --cc=abcloriens@gmail.com \ --cc=ivo.g.dimitrov.75@gmail.com \ --cc=khilman@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=mchehab@s-opensource.com \ --cc=pali.rohar@gmail.com \ --cc=patrikbachan@gmail.com \ --cc=sakari.ailus@iki.fi \ --cc=sakari.ailus@linux.intel.com \ --cc=serge@hallyn.com \ --cc=sre@kernel.org \ --cc=tony@atomide.com \ /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: linkBe 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.