Em Tue, 4 Dec 2018 15:40:42 +0200 Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> escreveu: > While the test pattern menu itself is not standardised, many devices > support the same test patterns. Aligning the menu entries helps the user > space to use the interface, and adding macros for the menu entry strings > helps to keep them aligned. > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > --- > since v1: > > - Fix indentation of menu strings > - Remove "8" from the macro names > > drivers/media/i2c/imx258.c | 10 +++++----- > drivers/media/i2c/imx319.c | 10 +++++----- > drivers/media/i2c/imx355.c | 10 +++++----- > drivers/media/i2c/ov2640.c | 4 ++-- > drivers/media/i2c/smiapp/smiapp-core.c | 10 +++++----- > include/uapi/linux/v4l2-controls.h | 5 +++++ > 6 files changed, 27 insertions(+), 22 deletions(-) > > diff --git a/drivers/media/i2c/imx258.c b/drivers/media/i2c/imx258.c > index f86ae18bc104..df5f016cebd9 100644 > --- a/drivers/media/i2c/imx258.c > +++ b/drivers/media/i2c/imx258.c > @@ -498,11 +498,11 @@ static const struct imx258_reg mode_1048_780_regs[] = { > }; > > static const char * const imx258_test_pattern_menu[] = { > - "Disabled", > - "Solid Colour", > - "Eight Vertical Colour Bars", > - "Colour Bars With Fade to Grey", > - "Pseudorandom Sequence (PN9)", > + V4L2_TEST_PATTERN_DISABLED, > + V4L2_TEST_PATTERN_SOLID_COLOUR, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS_FADE_TO_GREY, > + V4L2_TEST_PATTERN_PN9, > }; > > /* Configurations for supported link frequencies */ > diff --git a/drivers/media/i2c/imx319.c b/drivers/media/i2c/imx319.c > index 17c2e4b41221..d9d4176b9d37 100644 > --- a/drivers/media/i2c/imx319.c > +++ b/drivers/media/i2c/imx319.c > @@ -1647,11 +1647,11 @@ static const struct imx319_reg mode_1280x720_regs[] = { > }; > > static const char * const imx319_test_pattern_menu[] = { > - "Disabled", > - "Solid Colour", > - "Eight Vertical Colour Bars", > - "Colour Bars With Fade to Grey", > - "Pseudorandom Sequence (PN9)", > + V4L2_TEST_PATTERN_DISABLED, > + V4L2_TEST_PATTERN_SOLID_COLOUR, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS_FADE_TO_GREY, > + V4L2_TEST_PATTERN_PN9, > }; > > /* supported link frequencies */ > diff --git a/drivers/media/i2c/imx355.c b/drivers/media/i2c/imx355.c > index bed293b60e50..99138a291cb8 100644 > --- a/drivers/media/i2c/imx355.c > +++ b/drivers/media/i2c/imx355.c > @@ -875,11 +875,11 @@ static const struct imx355_reg mode_820x616_regs[] = { > }; > > static const char * const imx355_test_pattern_menu[] = { > - "Disabled", > - "Solid Colour", > - "Eight Vertical Colour Bars", > - "Colour Bars With Fade to Grey", > - "Pseudorandom Sequence (PN9)", > + V4L2_TEST_PATTERN_DISABLED, > + V4L2_TEST_PATTERN_SOLID_COLOUR, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS_FADE_TO_GREY, > + V4L2_TEST_PATTERN_PN9, > }; > > /* supported link frequencies */ > diff --git a/drivers/media/i2c/ov2640.c b/drivers/media/i2c/ov2640.c > index 5d2d6735cc78..65058d9a5d51 100644 > --- a/drivers/media/i2c/ov2640.c > +++ b/drivers/media/i2c/ov2640.c > @@ -707,8 +707,8 @@ static int ov2640_reset(struct i2c_client *client) > } > > static const char * const ov2640_test_pattern_menu[] = { > - "Disabled", > - "Eight Vertical Colour Bars", > + V4L2_TEST_PATTERN_DISABLED, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS, > }; > > /* > diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c > index 58a45c353e27..5c9bcc9438ec 100644 > --- a/drivers/media/i2c/smiapp/smiapp-core.c > +++ b/drivers/media/i2c/smiapp/smiapp-core.c > @@ -409,11 +409,11 @@ static void smiapp_update_mbus_formats(struct smiapp_sensor *sensor) > } > > static const char * const smiapp_test_patterns[] = { > - "Disabled", > - "Solid Colour", > - "Eight Vertical Colour Bars", > - "Colour Bars With Fade to Grey", > - "Pseudorandom Sequence (PN9)", > + V4L2_TEST_PATTERN_DISABLED, > + V4L2_TEST_PATTERN_SOLID_COLOUR, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS, > + V4L2_TEST_PATTERN_VERT_COLOUR_BARS_FADE_TO_GREY, > + V4L2_TEST_PATTERN_PN9, > }; > > static int smiapp_set_ctrl(struct v4l2_ctrl *ctrl) > diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h > index 998983a6e6b7..acb2a57fa5d6 100644 > --- a/include/uapi/linux/v4l2-controls.h > +++ b/include/uapi/linux/v4l2-controls.h > @@ -1014,6 +1014,11 @@ enum v4l2_jpeg_chroma_subsampling { > #define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1) > #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) > #define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) > +#define V4L2_TEST_PATTERN_DISABLED "Disabled" > +#define V4L2_TEST_PATTERN_SOLID_COLOUR "Solid Colour" > +#define V4L2_TEST_PATTERN_VERT_COLOUR_BARS "Eight Vertical Colour Bars" > +#define V4L2_TEST_PATTERN_VERT_COLOUR_BARS_FADE_TO_GREY "Colour Bars With Fade to Grey" > +#define V4L2_TEST_PATTERN_PN9 "Pseudorandom Sequence (PN9)" I like the idea of using defines for those, but I wouldn't put them at the uAPI. See, once we put anything there, it is set into a stone, and we will be bound forever to whatever name we place on it. It would be a way better to have them at include/media/v4l2-ctrls.h. > #define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4) > #define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5) > Thanks, Mauro