1/* $NetBSD: priv.h,v 1.2 2021/12/18 23:45:40 riastradh Exp $ */ 2 3/* SPDX-License-Identifier: MIT */ 4#ifndef __NVKM_ICCSENSE_PRIV_H__ 5#define __NVKM_ICCSENSE_PRIV_H__ 6#define nvkm_iccsense(p) container_of((p), struct nvkm_iccsense, subdev) 7#include <subdev/iccsense.h> 8#include <subdev/bios/extdev.h> 9 10struct nvkm_iccsense_sensor { 11 struct list_head head; 12 int id; 13 enum nvbios_extdev_type type; 14 struct i2c_adapter *i2c; 15 u8 addr; 16 u16 config; 17}; 18 19struct nvkm_iccsense_rail { 20 struct list_head head; 21 int (*read)(struct nvkm_iccsense *, struct nvkm_iccsense_rail *); 22 struct nvkm_iccsense_sensor *sensor; 23 u8 idx; 24 u8 mohm; 25}; 26 27void nvkm_iccsense_ctor(struct nvkm_device *, int, struct nvkm_iccsense *); 28int nvkm_iccsense_new_(struct nvkm_device *, int, struct nvkm_iccsense **); 29#endif 30