drm/nouveau/core/client: pass notification callback to nvkm_client_new
Preparation for supporting subclients. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
05da248bbe
commit
7c413feb7f
|
@ -20,7 +20,9 @@ struct nvkm_client {
|
||||||
};
|
};
|
||||||
|
|
||||||
int nvkm_client_new(const char *name, u64 device, const char *cfg,
|
int nvkm_client_new(const char *name, u64 device, const char *cfg,
|
||||||
const char *dbg, struct nvkm_client **);
|
const char *dbg,
|
||||||
|
int (*)(const void *, u32, const void *, u32),
|
||||||
|
struct nvkm_client **);
|
||||||
|
|
||||||
int nvkm_client_notify_new(struct nvkm_object *, struct nvkm_event *,
|
int nvkm_client_notify_new(struct nvkm_object *, struct nvkm_event *,
|
||||||
void *data, u32 size);
|
void *data, u32 size);
|
||||||
|
|
|
@ -103,16 +103,8 @@ static int
|
||||||
nvkm_client_driver_init(const char *name, u64 device, const char *cfg,
|
nvkm_client_driver_init(const char *name, u64 device, const char *cfg,
|
||||||
const char *dbg, void **ppriv)
|
const char *dbg, void **ppriv)
|
||||||
{
|
{
|
||||||
struct nvkm_client *client;
|
return nvkm_client_new(name, device, cfg, dbg, nvkm_client_ntfy,
|
||||||
int ret;
|
(struct nvkm_client **)ppriv);
|
||||||
|
|
||||||
ret = nvkm_client_new(name, device, cfg, dbg, &client);
|
|
||||||
*ppriv = client;
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
client->ntfy = nvkm_client_ntfy;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct nvif_driver
|
const struct nvif_driver
|
||||||
|
|
|
@ -238,7 +238,9 @@ nvkm_client = {
|
||||||
|
|
||||||
int
|
int
|
||||||
nvkm_client_new(const char *name, u64 device, const char *cfg,
|
nvkm_client_new(const char *name, u64 device, const char *cfg,
|
||||||
const char *dbg, struct nvkm_client **pclient)
|
const char *dbg,
|
||||||
|
int (*ntfy)(const void *, u32, const void *, u32),
|
||||||
|
struct nvkm_client **pclient)
|
||||||
{
|
{
|
||||||
struct nvkm_oclass oclass = { .base = nvkm_uclient_sclass };
|
struct nvkm_oclass oclass = { .base = nvkm_uclient_sclass };
|
||||||
struct nvkm_client *client;
|
struct nvkm_client *client;
|
||||||
|
@ -252,5 +254,6 @@ nvkm_client_new(const char *name, u64 device, const char *cfg,
|
||||||
client->device = device;
|
client->device = device;
|
||||||
client->debug = nvkm_dbgopt(dbg, "CLIENT");
|
client->debug = nvkm_dbgopt(dbg, "CLIENT");
|
||||||
client->objroot = RB_ROOT;
|
client->objroot = RB_ROOT;
|
||||||
|
client->ntfy = ntfy;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue