From 57113c0170b9efeacb3e3e9d4c2178c30d9cd991 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 20 Aug 2015 14:54:21 +1000 Subject: drm/nouveau/therm: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c | 48 ++++++++--------------- 1 file changed, 17 insertions(+), 31 deletions(-) (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c') diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c index bd17e63..86848ec 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c @@ -54,36 +54,22 @@ gm107_fan_pwm_clock(struct nvkm_therm *therm, int line) return therm->subdev.device->crystal * 1000; } -static int -gm107_therm_ctor(struct nvkm_object *parent, struct nvkm_object *engine, - struct nvkm_oclass *oclass, void *data, u32 size, - struct nvkm_object **pobject) -{ - struct nvkm_therm_priv *therm; - int ret; - - ret = nvkm_therm_create(parent, engine, oclass, &therm); - *pobject = nv_object(therm); - if (ret) - return ret; +static const struct nvkm_therm_func +gm107_therm = { + .init = gf119_therm_init, + .fini = g84_therm_fini, + .pwm_ctrl = gm107_fan_pwm_ctrl, + .pwm_get = gm107_fan_pwm_get, + .pwm_set = gm107_fan_pwm_set, + .pwm_clock = gm107_fan_pwm_clock, + .temp_get = g84_temp_get, + .fan_sense = gt215_therm_fan_sense, + .program_alarms = nvkm_therm_program_alarms_polling, +}; - therm->base.pwm_ctrl = gm107_fan_pwm_ctrl; - therm->base.pwm_get = gm107_fan_pwm_get; - therm->base.pwm_set = gm107_fan_pwm_set; - therm->base.pwm_clock = gm107_fan_pwm_clock; - therm->base.temp_get = g84_temp_get; - therm->base.fan_sense = gt215_therm_fan_sense; - therm->sensor.program_alarms = nvkm_therm_program_alarms_polling; - return nvkm_therm_preinit(&therm->base); +int +gm107_therm_new(struct nvkm_device *device, int index, + struct nvkm_therm **ptherm) +{ + return nvkm_therm_new_(&gm107_therm, device, index, ptherm); } - -struct nvkm_oclass -gm107_therm_oclass = { - .handle = NV_SUBDEV(THERM, 0x117), - .ofuncs = &(struct nvkm_ofuncs) { - .ctor = gm107_therm_ctor, - .dtor = _nvkm_therm_dtor, - .init = gf110_therm_init, - .fini = g84_therm_fini, - }, -}; -- cgit v1.1