From: Sam Ravnborg <sam@ravnborg.org> To: dri-devel@lists.freedesktop.org, Jingoo Han <jingoohan1@gmail.com>, Lee Jones <lee.jones@linaro.org>, Daniel Thompson <daniel.thompson@linaro.org> Cc: "Neil Armstrong" <narmstrong@baylibre.com>, "Daniel Vetter" <daniel.vetter@ffwll.ch>, "Chris Wilson" <chris@chris-wilson.co.uk>, "Andrzej Hajda" <a.hajda@samsung.com>, "Thierry Reding" <thierry.reding@gmail.com>, "Laurent Pinchart" <laurent.pinchart@ideasonboard.com>, "Sam Ravnborg" <sam@ravnborg.org>, "Sebastian Reichel" <sebastian.reichel@collabora.com>, "Manasi Navare" <manasi.d.navare@intel.com>, "Konrad Dybcio" <konradybcio@gmail.com>, amd-gfx@lists.freedesktop.org, "Zheng Bin" <zhengbin13@huawei.com>, "Tomi Valkeinen" <tomi.valkeinen@ti.com>, "Ezequiel Garcia" <ezequiel@vanguardiasur.com.ar>, "Robert Chiras" <robert.chiras@nxp.com>, "Vinay Simha BN" <simhavcs@gmail.com>, "Hoegeun Kwon" <hoegeun.kwon@samsung.com>, "Paweł Chmiel" <pawel.mikolaj.chmiel@gmail.com>, "Jonas Karlman" <jonas@kwiboo.se>, "Hans de Goede" <hdegoede@redhat.com>, "Jyri Sarha" <jsarha@ti.com>, "Rodrigo Vivi" <rodrigo.vivi@intel.com>, "Jernej Skrabec" <jernej.skrabec@siol.net>, "Philippe CORNU" <philippe.cornu@st.com>, linux-renesas-soc@vger.kernel.org, "Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>, "Alex Deucher" <alexander.deucher@amd.com>, "Wambui Karuga" <wambui.karugax@gmail.com>, "Christian König" <christian.koenig@amd.com> Subject: [RFC PATCH v1 0/22] backlight: add init macros and accessors Date: Sun, 2 Aug 2020 13:06:14 +0200 Message-ID: <20200802110636.1018743-1-sam@ravnborg.org> (raw) The backlight drivers uses several different patterns when registering a backlight: - Register backlight and assign properties later - Define a local backlight_properties variable and use memset - Define a const backlight_properties and assign relevant properties On top of this there was differences in what members was assigned in backlight_properties. To align how backlight drivers are initialized introduce following helper macros: - DECLARE_BACKLIGHT_INIT_FIRMWARE() - DECLARE_BACKLIGHT_INIT_PLATFORM() - DECLARE_BACKLIGHT_INIT_RAW() The macros are introduced in patch 2. The backlight drivers used direct access to backlight_properties. Encapsulate these in get/set access operations resulting in following benefits: - The drivers no longer need to be concerned about the confusing power states, as there is now only a set_power_on() and set_power_off() operation. - The access methods can be called with a NULL pointer so logic around the access can be made simpler. - The code is in most cases more readable with the access operations. - When everyone uses the access methods refactroring in the backlight core is simpler. The get/set operations are introduced in patch 3. The first patch trims backlight_update_status() so it can be called with a NULL backlight_device. Then the called do not need to add this check just to avoid a NULL reference. The fourth patch introduce the new macros and get/set operations for the gpio backlight driver, as an example. The remaining patches updates most backlight users in drivers/gpu/drm/* With this patch set applied then: - Almost all references to FB_BLANK* are gone from drm/* - All panel drivers uses devm_ variant for registering backlight - Almost all direct references to backlight properties are gone The drm/* patches are used as examples how drivers can benefit from the new macros and get/set operations. Individual patches are only sent to the people listed in the patch + a few more. Please check https://lore.kernel.org/dri-devel/ for the full series. Feedback welcome! Sam Cc: Alex Deucher <alexander.deucher@amd.com> Cc: amd-gfx@lists.freedesktop.org Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Christian König <christian.koenig@amd.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Thompson <daniel.thompson@linaro.org> Cc: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Hoegeun Kwon <hoegeun.kwon@samsung.com> Cc: Inki Dae <inki.dae@samsung.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Jernej Skrabec <jernej.skrabec@siol.net> Cc: Jingoo Han <jingoohan1@gmail.com> Cc: Jonas Karlman <jonas@kwiboo.se> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Jyri Sarha <jsarha@ti.com> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Cc: Konrad Dybcio <konradybcio@gmail.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: linux-renesas-soc@vger.kernel.org Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Cc: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> Cc: Philippe CORNU <philippe.cornu@st.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Robert Chiras <robert.chiras@nxp.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Sebastian Reichel <sebastian.reichel@collabora.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com> Cc: Vinay Simha BN <simhavcs@gmail.com> Cc: Wambui Karuga <wambui.karugax@gmail.com> Cc: Zheng Bin <zhengbin13@huawei.com> Sam Ravnborg (22): backlight: Silently fail backlight_update_status() if no device backlight: Add DECLARE_* macro for device registration backlight: Add get/set operations for brightness/power properties backlight: gpio: Use DECLARE_BACKLIGHT_INIT_RAW and get/setters drm/gma500: Backlight support drm/panel: asus-z00t-tm5p5-n35596: Backlight update drm/panel: jdi-lt070me05000: Backlight update drm/panel: novatek-nt35510: Backlight update drm/panel: orisetech-otm8009a: Backlight update drm/panel: raydium-rm67191: Backlight update drm/panel: samsung-s6e63m0: Backlight update drm/panel: samsung-s6e63j0x03: Backlight update drm/panel: samsung-s6e3ha2: Backlight update drm/panel: sony-acx424akp: Backlight update drm/panel: sony-acx565akm: Backlight update drm/bridge: parade-ps8622: Backlight update drm/tilcdc: Backlight update drm/radeon: Backlight update drm/amdgpu/atom: Backlight update drm/i915: Backlight update drm/omap: display: Backlight update drm/shmobile: Backlight update drivers/gpu/drm/amd/amdgpu/atombios_encoders.c | 15 ++- drivers/gpu/drm/bridge/parade-ps8622.c | 43 ++++---- drivers/gpu/drm/gma500/backlight.c | 35 ++---- drivers/gpu/drm/gma500/cdv_device.c | 29 +++-- drivers/gpu/drm/gma500/mdfld_device.c | 9 +- drivers/gpu/drm/gma500/oaktrail_device.c | 10 +- drivers/gpu/drm/gma500/opregion.c | 2 +- drivers/gpu/drm/gma500/psb_device.c | 10 +- drivers/gpu/drm/gma500/psb_drv.c | 8 +- drivers/gpu/drm/i915/display/intel_panel.c | 88 +++++++-------- drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 35 ++---- .../gpu/drm/panel/panel-asus-z00t-tm5p5-n35596.c | 15 +-- drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 17 ++- drivers/gpu/drm/panel/panel-novatek-nt35510.c | 9 +- drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 14 +-- drivers/gpu/drm/panel/panel-raydium-rm67191.c | 11 +- drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 68 ++++++------ drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 56 +++++----- drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 25 ++--- drivers/gpu/drm/panel/panel-sony-acx424akp.c | 49 ++------- drivers/gpu/drm/panel/panel-sony-acx565akm.c | 44 +++----- drivers/gpu/drm/radeon/atombios_encoders.c | 23 ++-- drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 15 ++- drivers/gpu/drm/shmobile/shmob_drm_backlight.c | 20 ++-- drivers/gpu/drm/tilcdc/tilcdc_panel.c | 11 +- drivers/video/backlight/gpio_backlight.c | 17 ++- include/linux/backlight.h | 120 +++++++++++++++++++++ 27 files changed, 377 insertions(+), 421 deletions(-) _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply index Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-02 11:06 Sam Ravnborg [this message] 2020-08-02 11:06 ` [PATCH v1 01/22] backlight: Silently fail backlight_update_status() if no device Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 02/22] backlight: Add DECLARE_* macro for device registration Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 03/22] backlight: Add get/set operations for brightness/power properties Sam Ravnborg 2020-08-04 16:43 ` daniel 2020-08-04 19:56 ` Sam Ravnborg 2020-08-05 7:16 ` daniel 2020-08-02 11:06 ` [PATCH v1 04/22] backlight: gpio: Use DECLARE_BACKLIGHT_INIT_RAW and get/setters Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 05/22] drm/gma500: Backlight support Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 06/22] drm/panel: asus-z00t-tm5p5-n35596: Backlight update Sam Ravnborg 2020-08-04 16:59 ` daniel 2020-08-02 11:06 ` [PATCH v1 07/22] drm/panel: jdi-lt070me05000: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 08/22] drm/panel: novatek-nt35510: " Sam Ravnborg 2020-08-04 21:29 ` Linus Walleij 2020-08-02 11:06 ` [PATCH v1 09/22] drm/panel: orisetech-otm8009a: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 10/22] drm/panel: raydium-rm67191: " Sam Ravnborg 2020-08-04 17:04 ` daniel 2020-08-02 11:06 ` [PATCH v1 11/22] drm/panel: samsung-s6e63m0: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 12/22] drm/panel: samsung-s6e63j0x03: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 13/22] drm/panel: samsung-s6e3ha2: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 14/22] drm/panel: sony-acx424akp: " Sam Ravnborg 2020-08-04 21:31 ` Linus Walleij 2020-08-02 11:06 ` [PATCH v1 15/22] drm/panel: sony-acx565akm: " Sam Ravnborg 2020-08-04 17:09 ` daniel 2020-08-02 11:06 ` [PATCH v1 16/22] drm/bridge: parade-ps8622: " Sam Ravnborg 2020-08-02 14:05 ` kernel test robot 2020-08-02 14:32 ` Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 17/22] drm/tilcdc: " Sam Ravnborg 2020-08-02 13:21 ` kernel test robot 2020-08-02 11:06 ` [PATCH v1 18/22] drm/radeon: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 19/22] drm/amdgpu/atom: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 20/22] drm/i915: " Sam Ravnborg 2020-08-02 11:06 ` [PATCH v1 21/22] drm/omap: display: " Sam Ravnborg 2020-08-02 14:26 ` Sebastian Reichel 2020-08-02 14:32 ` Sam Ravnborg 2020-08-02 22:48 ` Sebastian Reichel 2020-08-02 11:06 ` [PATCH v1 22/22] drm/shmobile: " Sam Ravnborg 2020-08-04 16:51 ` [RFC PATCH v1 0/22] backlight: add init macros and accessors daniel
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=20200802110636.1018743-1-sam@ravnborg.org \ --to=sam@ravnborg.org \ --cc=a.hajda@samsung.com \ --cc=alexander.deucher@amd.com \ --cc=amd-gfx@lists.freedesktop.org \ --cc=chris@chris-wilson.co.uk \ --cc=christian.koenig@amd.com \ --cc=daniel.thompson@linaro.org \ --cc=daniel.vetter@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=ezequiel@vanguardiasur.com.ar \ --cc=hdegoede@redhat.com \ --cc=hoegeun.kwon@samsung.com \ --cc=jernej.skrabec@siol.net \ --cc=jingoohan1@gmail.com \ --cc=jonas@kwiboo.se \ --cc=jsarha@ti.com \ --cc=kieran.bingham+renesas@ideasonboard.com \ --cc=konradybcio@gmail.com \ --cc=laurent.pinchart@ideasonboard.com \ --cc=lee.jones@linaro.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=manasi.d.navare@intel.com \ --cc=narmstrong@baylibre.com \ --cc=pawel.mikolaj.chmiel@gmail.com \ --cc=philippe.cornu@st.com \ --cc=robert.chiras@nxp.com \ --cc=rodrigo.vivi@intel.com \ --cc=sebastian.reichel@collabora.com \ --cc=simhavcs@gmail.com \ --cc=thierry.reding@gmail.com \ --cc=tomi.valkeinen@ti.com \ --cc=wambui.karugax@gmail.com \ --cc=zhengbin13@huawei.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: link
dri-devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dri-devel/0 dri-devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dri-devel dri-devel/ https://lore.kernel.org/dri-devel \ dri-devel@lists.freedesktop.org public-inbox-index dri-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.freedesktop.lists.dri-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git