Hi Laurent, On Tue, Sep 05, 2023 at 08:06:04PM +0300, Laurent Pinchart wrote: > On Tue, Sep 05, 2023 at 10:37:45AM +0000, Sakari Ailus wrote: > > On Tue, Sep 05, 2023 at 12:47:21PM +0300, Tomi Valkeinen wrote: > > > On 08/08/2023 10:55, Sakari Ailus wrote: > > > > Add a macro to tell whether a given mbus code is metadata. > > > > > > > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > > > > --- > > > > include/uapi/linux/media-bus-format.h | 3 +++ > > > > 1 file changed, 3 insertions(+) > > > > > > > > diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h > > > > index 9ee031397372..2486b4178c5f 100644 > > > > --- a/include/uapi/linux/media-bus-format.h > > > > +++ b/include/uapi/linux/media-bus-format.h > > > > @@ -182,4 +182,7 @@ > > > > #define MEDIA_BUS_FMT_META_20 0x8006 > > > > #define MEDIA_BUS_FMT_META_24 0x8007 > > > > +#define MEDIA_BUS_FMT_IS_META(code) \ > > > > + ((code) & 0xf000 == 0x7000 || (code) & 0xf000 == 0x8000) > > > > + > > > > #endif /* __LINUX_MEDIA_BUS_FORMAT_H */ > > > > > > mbus code seems to be u32, so the above won't work. Maybe: > > > > > > (((code) & ~0xfffULL) == 0x7000 || ((code) & ~0xfffULL) == 0x8000) > > > > > > Also, embedded formats with 0x9nnn codes are added later in the series. > > > > Thanks, I'll address these for v4. > > It would be nice to make this an inline function, to avoid evaluating > the code twice. I think you can move it to an internal kernel header, it > doesn't need to be exposed to userspace. This was meant for user space consumption for setting the buffer type to the video node accordingly. It's certainly possible to do that without this macro, too. -- Regards, Sakari Ailus