aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/backlight
AgeCommit message (Collapse)AuthorFilesLines
7 daysConvert 'alloc_obj' family to use the new default GFP_KERNEL argumentLinus Torvalds2-2/+2
This was done entirely with mindless brute force, using git grep -l '\<k[vmz]*alloc_objs*(.*, GFP_KERNEL)' | xargs sed -i 's/\(alloc_objs*(.*\), GFP_KERNEL)/\1)/' to convert the new alloc_obj() users that had a simple GFP_KERNEL argument to just drop that argument. Note that due to the extreme simplicity of the scripting, any slightly more complex cases spread over multiple lines would not be triggered: they definitely exist, but this covers the vast bulk of the cases, and the resulting diff is also then easier to check automatically. For the same reason the 'flex' versions will be done as a separate conversion. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
8 daystreewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook2-2/+2
This is the result of running the Coccinelle script from scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to avoid scalar types (which need careful case-by-case checking), and instead replace kmalloc-family calls that allocate struct or union object instances: Single allocations: kmalloc(sizeof(TYPE), ...) are replaced with: kmalloc_obj(TYPE, ...) Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...) are replaced with: kmalloc_objs(TYPE, COUNT, ...) Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...) are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...) (where TYPE may also be *VAR) The resulting allocations no longer return "void *", instead returning "TYPE *". Signed-off-by: Kees Cook <kees@kernel.org>
2026-02-04backlight: qcom-wled: Change PM8950 WLED configurationsBarnabás Czémán1-1/+2
PMI8950 WLED needs same configurations as PMI8994 WLED. Fixes: 10258bf4534b ("backlight: qcom-wled: Add PMI8950 compatible") Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Link: https://patch.msgid.link/20260116-pmi8950-wled-v3-4-e6c93de84079@mainlining.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-02-04backlight: qcom-wled: Support ovp values for PMI8994Barnabás Czémán1-2/+39
WLED4 found in PMI8994 supports different ovp values. Fixes: 6fc632d3e3e0 ("video: backlight: qcom-wled: Add PMI8994 compatible") Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Link: https://patch.msgid.link/20260116-pmi8950-wled-v3-2-e6c93de84079@mainlining.org Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-20backlight: aw99706: Fix build errors caused by wrong gpio headerJunjie Cao1-1/+1
The driver uses GPIO descriptor API (devm_gpiod_get, gpiod_set_value_cansleep, GPIOD_OUT_LOW) but includes the legacy <linux/gpio.h> header instead of <linux/gpio/consumer.h>. When CONFIG_GPIOLIB is not set, <linux/gpio.h> does not include <linux/gpio/consumer.h>, causing build errors: error: implicit declaration of function 'gpiod_set_value_cansleep' error: implicit declaration of function 'devm_gpiod_get' error: 'GPIOD_OUT_LOW' undeclared Fix by including the correct header <linux/gpio/consumer.h>. Fixes: 147b38a5ad06 ("backlight: aw99706: Add support for Awinic AW99706 backlight") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202512171631.uKXlYwqu-lkp@intel.com/ Signed-off-by: Junjie Cao <junjie.cao@intel.com> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Link: https://patch.msgid.link/20260111130117.5041-1-junjie.cao@intel.com Signed-off-by: Lee Jones <lee@kernel.org>
2026-01-08backlight: Add Congatec Board Controller (CGBC) backlight supportPetri Karhula3-0/+192
This driver provides backlight brightness control through the Linux backlight subsystem. It communicates with the board controller to adjust LCD backlight using PWM signals. Communication is done through Congatec Board Controller core driver. Tested-by: Thomas Richard <thomas.richard@bootlin.com> Reviewed-by: Thomas Richard <thomas.richard@bootlin.com> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Signed-off-by: Petri Karhula <petri.karhula@novatron.fi> Link: https://patch.msgid.link/20251205-cgbc-backlight-v6-1-e4175b0bf406@novatron.fi Signed-off-by: Lee Jones <lee@kernel.org>
2025-11-27backlight: aw99706: Fix unused function warnings from suspend/resume opsNathan Chancellor1-2/+2
When building for a platform without CONFIG_PM_SLEEP, such as s390, there are two unused function warnings: drivers/video/backlight/aw99706.c:436:12: error: 'aw99706_resume' defined but not used [-Werror=unused-function] 436 | static int aw99706_resume(struct device *dev) | ^~~~~~~~~~~~~~ drivers/video/backlight/aw99706.c:429:12: error: 'aw99706_suspend' defined but not used [-Werror=unused-function] 429 | static int aw99706_suspend(struct device *dev) | ^~~~~~~~~~~~~~~ SET_SYSTEM_SLEEP_PM_OPS, used within SIMPLE_DEV_PM_OPS, expands to nothing when CONFIG_PM_SLEEP is not set, so these functions are completely unused in this configuration. SIMPLE_DEV_PM_OPS is deprecated in favor of DEFINE_SIMPLE_DEV_PM_OPS, which avoids this issue by using pm_sleep_ptr to make these callbacks NULL when CONFIG_PM_SLEEP is unset while making the callback functions always appear used to the compiler regardless of configuration. Switch to DEFINE_SIMPLE_DEV_PM_OPS for aw99706_pm_ops to clear up the warning. Additionally, wrap the pointer to aw99706_pm_ops in pm_ptr() in aw99706_i2c_driver to ensure that the structure is completely eliminated in configurations without CONFIG_PM. Fixes: 88a8e9b49ee8 ("backlight: aw99706: Add support for Awinic AW99706 backlight") Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://patch.msgid.link/20251120-backlight-aw99706-fix-unused-pm-functions-v1-1-8b9c17c4e783@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
2025-11-25backlight: aw99706: Add support for Awinic AW99706 backlightJunjie Cao3-0/+480
Add support for Awinic AW99706 backlight, which can be found in tablet and notebook backlight, one case is the Lenovo Legion Y700 Gen4. This driver refers to the official datasheets and android driver, they can be found in [1]. [1] https://www.awinic.com/en/productDetail/AW99706QNR Signed-off-by: Junjie Cao <caojunjie650@gmail.com> Tested-by: Pengyu Luo <mitltlatltl@gmail.com> Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Link: https://patch.msgid.link/20251109032240.3422503-3-caojunjie650@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-11-25backlight: led-bl: Add devlink to supplier LEDsLuca Ceresoli1-0/+13
LED Backlight is a consumer of one or multiple LED class devices, but devlink is currently unable to create correct supplier-producer links when the supplier is a class device. It creates instead a link where the supplier is the parent of the expected device. One consequence is that removal order is not correctly enforced. Issues happen for example with the following sections in a device tree overlay: // An LED driver chip pca9632@62 { compatible = "nxp,pca9632"; reg = <0x62>; // ... addon_led_pwm: led-pwm@3 { reg = <3>; label = "addon:led:pwm"; }; }; backlight-addon { compatible = "led-backlight"; leds = <&addon_led_pwm>; brightness-levels = <255>; default-brightness-level = <255>; }; In this example, the devlink should be created between the backlight-addon (consumer) and the pca9632@62 (supplier). Instead it is created between the backlight-addon (consumer) and the parent of the pca9632@62, which is typically the I2C bus adapter. On removal of the above overlay, the LED driver can be removed before the backlight device, resulting in: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 ... Call trace: led_put+0xe0/0x140 devm_led_release+0x6c/0x98 Another way to reproduce the bug without any device tree overlays is unbinding the LED class device (pca9632@62) before unbinding the consumer (backlight-addon): echo 11-0062 >/sys/bus/i2c/drivers/leds-pca963x/unbind echo ...backlight-dock >/sys/bus/platform/drivers/led-backlight/unbind Fix by adding a devlink between the consuming led-backlight device and the supplying LED device, as other drivers and subsystems do as well. Fixes: ae232e45acf9 ("backlight: add led-backlight driver") Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Reviewed-by: Herve Codina <herve.codina@bootlin.com> Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Link: https://patch.msgid.link/20250519-led-backlight-add-devlink-to-supplier-class-device-v6-1-845224aeb2ce@bootlin.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-11-06backlight: ktd2801: Depend on GPIOLIBDuje Mihanović1-0/+1
The LEDS_EXPRESSWIRE library used by the driver requires GPIOLIB. Make sure this dependency is not left unsatisfied. Reported-by: Randy Dunlap <rdunlap@infradead.org> Closes: https://lore.kernel.org/all/b6c481bb-e854-405e-a428-90301789fe20@infradead.org/ Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Link: https://patch.msgid.link/20250729-expresswire-dep-fix-v1-2-635cd4cc746b@dujemihanovic.xyz Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: rt4831: Include <linux/mod_devicetable.h>Thomas Zimmermann1-0/+1
Include <linux/mod_devicetable.h> to declare struct of_device_id. Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-15-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: rave-sp: Include <linux/of.h> and <linux/mod_devicetable.h>Thomas Zimmermann1-0/+2
Include <linux/of.h> to declare struct device_node and include <linux/mod_devicetable.h> to declare struct of_device_id. Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-14-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: led_bl: Include <linux/of.h>Thomas Zimmermann1-0/+1
Include <linux/of.h> to declare struct of_count_phandle_with_args(). Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-13-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: ktd2801: Include <linux/mod_devicetable.h>Thomas Zimmermann1-0/+1
Include <linux/mod_devicetable.h> to declare struct of_device_id. Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Nick Chan <towinchenmi@gmail.com> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Acked-by: Duje Mihanović <duje.mihanovic@skole.hr> Link: https://lore.kernel.org/r/20250715122643.137027-12-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: jornada720: Include <linux/io.h>Thomas Zimmermann1-0/+1
Include <linux/io.h> to declare IOMEM(). Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-11-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: da9052_bl: Include <linux/mod_devicetable.h>Thomas Zimmermann1-0/+1
Include <linux/mod_devicetable.h> to declare struct platform_device_id. Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-10-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: as3711_bl: Include <linux/of.h>Thomas Zimmermann1-0/+1
Include <linux/of.h> to declare various OF helpers. Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-9-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: apple_dwi_bl: Include <linux/mod_devicetable.h>Thomas Zimmermann1-0/+1
Include <linux/mod_devicetable.h> to declare struct of_device_id. Avoids dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Nick Chan <towinchenmi@gmail.com> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-8-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: Include <linux/of.h>Thomas Zimmermann1-0/+1
Include <linux/of.h> to avoid dependency on backlight header to include it. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250715122643.137027-7-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16video: backlight: lp855x_bl: Set correct EPROM start for LP8556Svyatoslav Ryhel1-1/+1
According to LP8556 datasheet EPROM region starts at 0x98 so adjust value in the driver accordingly. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250909074304.92135-2-clamor95@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-16backlight: led_bl: Use devm_kcalloc() for array space allocationQianfeng Rong1-2/+2
Replace calls of devm_kzalloc() with devm_kcalloc() in led_bl_get_leds() and led_bl_parse_levels() for safer memory allocation with built-in overflow protection. Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250819035804.433615-1-rongqianfeng@vivo.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-02backlight: mp3309c: Initialize backlight properties without memsetUwe Kleine-König1-6/+7
Assigning values to a struct using a compound literal (since C99) also guarantees that all unspecified struct members are empty-initialized, so it properly replaces the memset to zero. The code looks a bit nicer and more idiomatic (though that might be subjective?). The resulting binary is a bit smaller. On ARCH=arm with an allnoconfig + minimal changes to enable the mp3309c driver the difference is 12 bytes. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Tested-by: Flavio Suligoi <f.suligoi@asem.it> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Link: https://lore.kernel.org/r/14514a1b0d3df6438aa10bb74f1c4fc2367d9987.1751361465.git.u.kleine-koenig@baylibre.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-09-02backlight: mp3309c: Drop pwm_apply_args()Uwe Kleine-König1-1/+0
pwm_apply_args() sole purpose is to initialize all parameters specified in the device tree for consumers that rely on pwm_config() and pwm_enable(). The mp3309c backlight driver uses pwm_apply_might_sleep() which gets passed the full configuration and so doesn't rely on the default being explicitly applied. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Tested-by: Flavio Suligoi <f.suligoi@asem.it> Reviewed-by: Daniel Thompson (RISCstar) <danielt@kernel.org> Link: https://lore.kernel.org/r/2d1075f5dd45c7c135e4326e279468de699f9d17.1751361465.git.u.kleine-koenig@baylibre.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-04-15backlight: pm8941: Add NULL check in wled_configure()Henry Martin1-2/+4
devm_kasprintf() returns NULL when memory allocation fails. Currently, wled_configure() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue. Fixes: f86b77583d88 ("backlight: pm8941: Convert to using %pOFn instead of device_node.name") Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250401091647.22784-1-bsdhenrymartin@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-04-10backlight: lcd: Replace fb events with a dedicated function callThomas Zimmermann1-72/+26
Remove support for fb events from the lcd subsystem. Provide the helper lcd_notify_blank_all() instead. In fbdev, call lcd_notify_blank_all() to inform the lcd subsystem of changes to a display's blank state. Fbdev maintains a list of all installed notifiers. Instead of fbdev notifiers, maintain an internal list of lcd devices. v3: - export lcd_notify_mode_change_all() (kernel test robot) v2: - maintain global list of lcd devices - avoid IS_REACHABLE() in source file - use lock guards - initialize lcd list and list mutex Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250321095517.313713-9-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-04-10backlight: lcd: Move event handling into helpersThomas Zimmermann1-10/+28
Move the handling of display updates to separate helper functions. There is code for handling fbdev blank events and fbdev mode changes. The code currently runs from fbdev event notifiers, which will be replaced. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Link: https://lore.kernel.org/r/20250321095517.313713-8-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-04-10backlight: Replace fb events with a dedicated function callThomas Zimmermann1-73/+12
Remove support for fb events from backlight subsystem. Provide the helper backlight_notify_blank_all() instead. Also export the existing helper backlight_notify_blank() to update a single backlight device. In fbdev, call either helper to inform the backlight subsystem of changes to a display's blank state. If the framebuffer device has a specific backlight, only update this one; otherwise update all. v4: - protect blacklight declarations with IS_REACHABLE() (kernel test robot) v3: - declare empty fb_bl_notify_blank() as static inline (kernel test robot) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Link: https://lore.kernel.org/r/20250321095517.313713-7-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-04-10backlight: Move blank-state handling into helperThomas Zimmermann1-19/+27
Move the handling of blank-state updates into a separate helper, so that is can be called without the fbdev event. No functional changes. As a minor improvement over the original code, the update replaces manual locking with a guard. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Link: https://lore.kernel.org/r/20250321095517.313713-6-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-04-10backlight: Implement fbdev tracking with blank state from eventThomas Zimmermann1-7/+7
Look at the blank state provided by FB_EVENT_BLANK to determine whether to enable or disable a backlight. Remove the tracking fields from struct backlight_device. Tracking requires three variables, fb_on, prev_fb_on and the backlight's use_count. If fb_on is true, the display has been unblanked. The backlight needs to be enabled if the display was blanked before (i.e., prev_fb_on is false) or if use_count is still at 0. If fb_on is false, the display has been blanked. In this case, the backlight has to be disabled was unblanked before and the backlight's use_count is greater than 0. This change removes fbdev state tracking from blacklight. All the backlight requires it its own use counter and information about changes to the display. Removing fbdev internals makes backlight drivers easier to integrate into other display drivers, such as DRM. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Link: https://lore.kernel.org/r/20250321095517.313713-5-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-03-14backlight: pcf50633-backlight: Remove unused driverDr. David Alan Gilbert3-162/+0
The pcf50633 was used as part of the OpenMoko devices but the support for its main chip was recently removed in: commit 61b7f8920b17 ("ARM: s3c: remove all s3c24xx support") See https://lore.kernel.org/all/Z8z236h4B5A6Ki3D@gallifrey/ Remove it. Signed-off-by: "Dr. David Alan Gilbert" <linux@treblig.org> Link: https://lore.kernel.org/r/20250311014959.743322-8-linux@treblig.org Signed-off-by: Lee Jones <lee@kernel.org>
2025-03-14backlight: tdo24m: Eliminate redundant whitespaceWangYuli1-1/+1
The description for CONFIG_LCD_TDO24M has redundant whitespace. Trim it to keep the code tidy. Signed-off-by: WangYuli <wangyuli@uniontech.com> Link: https://lore.kernel.org/r/8FC39A4DC2529591+20250310045636.14329-1-wangyuli@uniontech.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-20backlight: apple_dwi_bl: Add Apple DWI backlight driverNick Chan3-0/+135
Add driver for backlight controllers attached via Apple DWI 2-wire interface, which is found on some Apple iPhones, iPads and iPod touches with a LCD display. Although there is an existing apple_bl driver, it is for backlight controllers on Intel Macs attached via PCI, which is completely different from the Samsung-derived DWI block. Reviewed-by: "Daniel Thompson (RISCstar)" <danielt@kernel.org> Signed-off-by: Nick Chan <towinchenmi@gmail.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://lore.kernel.org/r/20250214040306.16312-3-towinchenmi@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: led_bl: Hold led_access lock when calling led_sysfs_disable()Herve Codina1-1/+4
Lockdep detects the following issue on led-backlight removal: [ 142.315935] ------------[ cut here ]------------ [ 142.315954] WARNING: CPU: 2 PID: 292 at drivers/leds/led-core.c:455 led_sysfs_enable+0x54/0x80 ... [ 142.500725] Call trace: [ 142.503176] led_sysfs_enable+0x54/0x80 (P) [ 142.507370] led_bl_remove+0x80/0xa8 [led_bl] [ 142.511742] platform_remove+0x30/0x58 [ 142.515501] device_remove+0x54/0x90 ... Indeed, led_sysfs_enable() has to be called with the led_access lock held. Hold the lock when calling led_sysfs_disable(). Fixes: ae232e45acf9 ("backlight: add led-backlight driver") Cc: stable@vger.kernel.org Signed-off-by: Herve Codina <herve.codina@bootlin.com> Link: https://lore.kernel.org/r/20250122091914.309533-1-herve.codina@bootlin.com Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: wm831x_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-17-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: vgg2432a4: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-16-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: tps65217_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-15-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: max8925_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-14-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: lv5207lp: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-13-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: locomolcd: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-12-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: hp680_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-11-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: ep93xx_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-10-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: da9052_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-9-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: da903x_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-8-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: bd6107_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-7-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: as3711_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-6-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: adp8870_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-5-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: adp8860_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-4-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: adp5520_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-3-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2025-02-11backlight: 88pm860x_bl: Do not include <linux/fb.h>Thomas Zimmermann1-1/+0
This driver does not require <linux/fb.h>. Remove the include statement. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250131140103.278158-2-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
2024-12-02module: Convert symbol namespace to string literalPeter Zijlstra1-1/+1
Clean up the existing export namespace code along the same lines of commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo) to __section("foo")") and for the same reason, it is not desired for the namespace argument to be a macro expansion itself. Scripted using git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file; do awk -i inplace ' /^#define EXPORT_SYMBOL_NS/ { gsub(/__stringify\(ns\)/, "ns"); print; next; } /^#define MODULE_IMPORT_NS/ { gsub(/__stringify\(ns\)/, "ns"); print; next; } /MODULE_IMPORT_NS/ { $0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g"); } /EXPORT_SYMBOL_NS/ { if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) { if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ && $0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ && $0 !~ /^my/) { getline line; gsub(/[[:space:]]*\\$/, ""); gsub(/[[:space:]]/, "", line); $0 = $0 " " line; } $0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/, "\\1(\\2, \"\\3\")", "g"); } } { print }' $file; done Requested-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc Acked-by: Greg KH <gregkh@linuxfoundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>