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,
|
||||
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 *,
|
||||
void *data, u32 size);
|
||||
|
|
|
@ -103,16 +103,8 @@ static int
|
|||
nvkm_client_driver_init(const char *name, u64 device, const char *cfg,
|
||||
const char *dbg, void **ppriv)
|
||||
{
|
||||
struct nvkm_client *client;
|
||||
int ret;
|
||||
|
||||
ret = nvkm_client_new(name, device, cfg, dbg, &client);
|
||||
*ppriv = client;
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
client->ntfy = nvkm_client_ntfy;
|
||||
return 0;
|
||||
return nvkm_client_new(name, device, cfg, dbg, nvkm_client_ntfy,
|
||||
(struct nvkm_client **)ppriv);
|
||||
}
|
||||
|
||||
const struct nvif_driver
|
||||
|
|
|
@ -238,7 +238,9 @@ nvkm_client = {
|
|||
|
||||
int
|
||||
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_client *client;
|
||||
|
@ -252,5 +254,6 @@ nvkm_client_new(const char *name, u64 device, const char *cfg,
|
|||
client->device = device;
|
||||
client->debug = nvkm_dbgopt(dbg, "CLIENT");
|
||||
client->objroot = RB_ROOT;
|
||||
client->ntfy = ntfy;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue