pipe-loader: Fallback to kmsro driver when no matching driver name found
If we can't find a driver matching by name, then use the kmsro driver. This removes the need for needing a driver descriptor for every possible KMS driver. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -106,11 +106,6 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
|
||||
.create_screen = pipe_freedreno_create_screen,
|
||||
.configuration = pipe_default_configuration_query,
|
||||
},
|
||||
{
|
||||
.driver_name = "pl111",
|
||||
.create_screen = pipe_kmsro_create_screen,
|
||||
.configuration = pipe_default_configuration_query,
|
||||
},
|
||||
{
|
||||
.driver_name = "virtio_gpu",
|
||||
.create_screen = pipe_virgl_create_screen,
|
||||
@@ -142,6 +137,13 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
|
||||
.configuration = pipe_default_configuration_query,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct drm_driver_descriptor default_driver_descriptor = {
|
||||
.driver_name = "kmsro",
|
||||
.create_screen = pipe_kmsro_create_screen,
|
||||
.configuration = pipe_default_configuration_query,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
static const struct drm_driver_descriptor *
|
||||
@@ -152,6 +154,7 @@ get_driver_descriptor(const char *driver_name, struct util_dl_library **plib)
|
||||
if (strcmp(driver_descriptors[i].driver_name, driver_name) == 0)
|
||||
return &driver_descriptors[i];
|
||||
}
|
||||
return &default_driver_descriptor;
|
||||
#else
|
||||
*plib = pipe_loader_find_module(driver_name, PIPE_SEARCH_DIR);
|
||||
if (!*plib)
|
||||
|
||||
Reference in New Issue
Block a user