The tinydrm code seems like absolute pure shit that has never seen a compiler.
I'm upset, because I expect better quality control. In fact, I expect some qualitty control, and this piece-of-shit driver has clearly seen none at all.
And those patches were apparently committed yesterday.
WHAT THE ACTUAL FUCK?
I get tons and tons of lines of warnings:
drivers/gpu/drm/tinydrm/mipi-dbi.c: In function ‘mipi_dbi_typec1_command’:
drivers/gpu/drm/tinydrm/mipi-dbi.c:65:20: warning: field width
specifier ‘’ expects argument of type ‘int’, but argument 5 has type
‘size_t {aka long unsigned int}’ [-Wformat=]
DRM_DEBUG_DRIVER("cmd=%02x, par=%ph\n", cmd, len, data); \with nasty chains of nested defines, but then I also get actual compile failures
drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c:198:26: error:
redefinition of ‘tinydrm_of_find_backlight’
struct backlight_device tinydrm_of_find_backlight(struct device dev)
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c:11:0:
./include/drm/tinydrm/tinydrm-helpers.h:53:1: note: previous
definition of ‘tinydrm_of_find_backlight’ was here
tinydrm_of_find_backlight(struct device dev)
^~~~~~~~~~~~~~~~~~~~~~~~~(with similar stuff for tinydrm_disable_backlight()).
It looks like it might compile if CONFIG_BACKLIGHT_CLASS_DEVICE was enabled rather than being a module.
Doing this:
-#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
+#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE)
in tinydrm-helpers.h gets rid of the complete build failure, and only
leaves the tens of lines of warnings.How the hell did this get to the point where crap like this is even sent to me? Nobody tested anything*?
AND WHY THE HELL WAS THIS UTTER SHITE SENT TO ME IF IT WAS COMMITTED YESTERDAY?