kernel: bump 5.4 to 5.4.28
[oweals/openwrt.git] / target / linux / bcm27xx / patches-5.4 / 950-0485-drm-modes-parse_cmdline-Add-freestanding-argument-to.patch
1 From d3c76025a7de614fade5ffcaa8c1d88d8d64213e Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Mon, 18 Nov 2019 16:51:27 +0100
4 Subject: [PATCH] drm/modes: parse_cmdline: Add freestanding argument
5  to drm_mode_parse_cmdline_options()
6
7 Commit 99e2716e053734b70434502867be24d20a3e2d84 upstream.
8
9 Add a freestanding function argument to drm_mode_parse_cmdline_options()
10 similar to how drm_mode_parse_cmdline_extra() already has this.
11
12 This is a preparation patch for allowing parsing of stand-alone options
13 without a mode before them, e.g.: video=HDMI-1:margin_right=14,...
14
15 Acked-by: Maxime Ripard <mripard@kernel.org>
16 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
17 Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-6-hdegoede@redhat.com
18 ---
19  drivers/gpu/drm/drm_modes.c | 5 +++++
20  1 file changed, 5 insertions(+)
21
22 --- a/drivers/gpu/drm/drm_modes.c
23 +++ b/drivers/gpu/drm/drm_modes.c
24 @@ -1592,6 +1592,7 @@ static int drm_mode_parse_cmdline_int(co
25  }
26  
27  static int drm_mode_parse_cmdline_options(const char *str,
28 +                                         bool freestanding,
29                                           const struct drm_connector *connector,
30                                           struct drm_cmdline_mode *mode)
31  {
32 @@ -1670,6 +1671,9 @@ static int drm_mode_parse_cmdline_option
33         if (!is_power_of_2(rotation & DRM_MODE_ROTATE_MASK))
34                 return -EINVAL;
35  
36 +       if (rotation && freestanding)
37 +               return -EINVAL;
38 +
39         mode->rotation_reflection = rotation;
40  
41         return 0;
42 @@ -1862,6 +1866,7 @@ bool drm_mode_parse_command_line_for_con
43  
44         if (options_ptr) {
45                 ret = drm_mode_parse_cmdline_options(options_ptr + 1,
46 +                                                    false,
47                                                      connector, mode);
48                 if (ret)
49                         return false;