Hi Am 04.11.21 um 21:09 schrieb Javier Martinez Canillas:
Hello Jani, On 11/4/21 20:57, Jani Nikula wrote:On Thu, 04 Nov 2021, Javier Martinez Canillas <javierm@xxxxxxxxxx> wrote:+/** + * drm_drv_enabled - Checks if a DRM driver can be enabled + * @driver: DRM driver to check + * + * Checks whether a DRM driver can be enabled or not. This may be the case + * if the "nomodeset" kernel command line parameter is used. + * + * Return: 0 on success or a negative error code on failure. + */ +int drm_drv_enabled(const struct drm_driver *driver)
Jani mentioned that i915 absolutely wants this to run from the module_init function. Best is to drop the parameter.
+{ + if (vgacon_text_force()) { + DRM_INFO("%s driver is disabled\n", driver->name); + return -ENODEV; + }
If we run this from within a module_init function, we'd get plenty of these warnings if drivers are compiled into the kernel. Maybe simply remove the message. There's already a warning printed by the nomodeset handler.
+ + return 0; +} +EXPORT_SYMBOL(drm_drv_enabled);The name implies a bool return, but it's not. if (drm_drv_enabled(...)) { /* surprise, it's disabled! */ }It used to return a bool in v2 but Thomas suggested an int instead to have consistency on the errno code that was returned by the callers. I should probably name that function differently to avoid confusion.
Yes, please. Best regards Thomas
But I think you are correct and this change is caused too much churn for not that much benefit, specially since is unclear that there might be another condition to prevent a DRM driver to load besides nomodeset. I'll just drop this patch and post only #2 but making drivers to test using the drm_check_modeset() function (which doesn't have a name that implies a bool return).BR, Jani.Best regards,
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature