diff options
author | Takashi Iwai | 2016-07-02 10:50:45 +0200 |
---|---|---|
committer | Takashi Iwai | 2016-07-02 10:50:45 +0200 |
commit | 046e9ceefab985a137fbd15b946497a88e5a6513 (patch) | |
tree | 29cb2fd3a2783afacc7901f3310bea7a02f84140 /drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c | |
parent | ALSA: au88x0: Fix calculation in vortex_wtdma_bufshift() (diff) | |
parent | Merge remote-tracking branches 'asoc/fix/rcar', 'asoc/fix/rt5670' and 'asoc/f... (diff) | |
download | kernel-qcow2-linux-046e9ceefab985a137fbd15b946497a88e5a6513.tar.gz kernel-qcow2-linux-046e9ceefab985a137fbd15b946497a88e5a6513.tar.xz kernel-qcow2-linux-046e9ceefab985a137fbd15b946497a88e5a6513.zip |
Merge tag 'asoc-fix-v4.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.7
A small clutch of hardware specific fixes for various ASoC devices, all
small individually and important if you have that device but not
otherwise.
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c | 16 |
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; |