mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
drm/lima: fix void pointer to enum lima_gpu_id cast warning
Create a simple data struct to hold compatible data so that we don't have to do the casts to void pointer to hold data. Fixes the following warning: drivers/gpu/drm/lima/lima_drv.c:387:13: error: cast to smaller integer type 'enum lima_gpu_id' from 'const void *' Signed-off-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240401224329.1228468-3-nunes.erico@gmail.com
This commit is contained in:
parent
a6683c690b
commit
b27a838f92
@ -371,6 +371,7 @@ static int lima_pdev_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct lima_device *ldev;
|
||||
struct drm_device *ddev;
|
||||
const struct lima_compatible *comp;
|
||||
int err;
|
||||
|
||||
err = lima_sched_slab_init();
|
||||
@ -384,7 +385,13 @@ static int lima_pdev_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
ldev->dev = &pdev->dev;
|
||||
ldev->id = (enum lima_gpu_id)of_device_get_match_data(&pdev->dev);
|
||||
comp = of_device_get_match_data(&pdev->dev);
|
||||
if (!comp) {
|
||||
err = -ENODEV;
|
||||
goto err_out0;
|
||||
}
|
||||
|
||||
ldev->id = comp->id;
|
||||
|
||||
platform_set_drvdata(pdev, ldev);
|
||||
|
||||
@ -459,9 +466,17 @@ static void lima_pdev_remove(struct platform_device *pdev)
|
||||
lima_sched_slab_fini();
|
||||
}
|
||||
|
||||
static const struct lima_compatible lima_mali400_data = {
|
||||
.id = lima_gpu_mali400,
|
||||
};
|
||||
|
||||
static const struct lima_compatible lima_mali450_data = {
|
||||
.id = lima_gpu_mali450,
|
||||
};
|
||||
|
||||
static const struct of_device_id dt_match[] = {
|
||||
{ .compatible = "arm,mali-400", .data = (void *)lima_gpu_mali400 },
|
||||
{ .compatible = "arm,mali-450", .data = (void *)lima_gpu_mali450 },
|
||||
{ .compatible = "arm,mali-400", .data = &lima_mali400_data },
|
||||
{ .compatible = "arm,mali-450", .data = &lima_mali450_data },
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, dt_match);
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include <drm/drm_file.h>
|
||||
|
||||
#include "lima_ctx.h"
|
||||
#include "lima_device.h"
|
||||
|
||||
extern int lima_sched_timeout_ms;
|
||||
extern uint lima_heap_init_nr_pages;
|
||||
@ -39,6 +40,10 @@ struct lima_submit {
|
||||
struct lima_sched_task *task;
|
||||
};
|
||||
|
||||
struct lima_compatible {
|
||||
enum lima_gpu_id id;
|
||||
};
|
||||
|
||||
static inline struct lima_drm_priv *
|
||||
to_lima_drm_priv(struct drm_file *file)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user