summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-06-27 11:20:46 +0200
committerIngo Molnar <mingo@kernel.org>2016-06-27 11:20:46 +0200
commit8114e90ea4deafc7c75c7b343225b485c21b6706 (patch)
tree046c9cd4967e2ea56eab9dcaf6ca6f601fa3deda /drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
parent9840b1ae45876bcca41b64007ac4a56a7cd14c73 (diff)
parent4c2e07c6a29e0129e975727b9f57eede813eea85 (diff)
downloadlinux-stable-8114e90ea4deafc7c75c7b343225b485c21b6706.tar.gz
linux-stable-8114e90ea4deafc7c75c7b343225b485c21b6706.tar.bz2
linux-stable-8114e90ea4deafc7c75c7b343225b485c21b6706.zip
Merge tag 'v4.7-rc5' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
index 323c79abe468..41bd5d0f7692 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
@@ -276,6 +276,8 @@ nvkm_iccsense_oneinit(struct nvkm_subdev *subdev)
struct pwr_rail_t *r = &stbl.rail[i];
struct nvkm_iccsense_rail *rail;
struct nvkm_iccsense_sensor *sensor;
+ int (*read)(struct nvkm_iccsense *,
+ struct nvkm_iccsense_rail *);
if (!r->mode || r->resistor_mohm == 0)
continue;
@@ -284,31 +286,31 @@ nvkm_iccsense_oneinit(struct nvkm_subdev *subdev)
if (!sensor)
continue;
- rail = kmalloc(sizeof(*rail), GFP_KERNEL);
- if (!rail)
- return -ENOMEM;
-
switch (sensor->type) {
case NVBIOS_EXTDEV_INA209:
if (r->rail != 0)
continue;
- rail->read = nvkm_iccsense_ina209_read;
+ read = nvkm_iccsense_ina209_read;
break;
case NVBIOS_EXTDEV_INA219:
if (r->rail != 0)
continue;
- rail->read = nvkm_iccsense_ina219_read;
+ read = nvkm_iccsense_ina219_read;
break;
case NVBIOS_EXTDEV_INA3221:
if (r->rail >= 3)
continue;
- rail->read = nvkm_iccsense_ina3221_read;
+ read = nvkm_iccsense_ina3221_read;
break;
default:
continue;
}
+ rail = kmalloc(sizeof(*rail), GFP_KERNEL);
+ if (!rail)
+ return -ENOMEM;
sensor->rail_mask |= 1 << r->rail;
+ rail->read = read;
rail->sensor = sensor;
rail->idx = r->rail;
rail->mohm = r->resistor_mohm;