Lines Matching defs:aux

27 #include "aux.h"
33 struct nvkm_i2c_aux *aux = container_of(adap, typeof(*aux), i2c);
37 ret = nvkm_i2c_aux_acquire(aux);
60 ret = aux->func->xfer(aux, true, cmd,
66 AUX_TRACE(aux, "no data after 32 retries");
80 nvkm_i2c_aux_release(aux);
97 nvkm_i2c_aux_monitor(struct nvkm_i2c_aux *aux, bool monitor)
99 struct nvkm_i2c_pad *pad = aux->pad;
100 AUX_TRACE(aux, "monitor: %s", str_yes_no(monitor));
108 nvkm_i2c_aux_release(struct nvkm_i2c_aux *aux)
110 struct nvkm_i2c_pad *pad = aux->pad;
111 AUX_TRACE(aux, "release");
113 mutex_unlock(&aux->mutex);
117 nvkm_i2c_aux_acquire(struct nvkm_i2c_aux *aux)
119 struct nvkm_i2c_pad *pad = aux->pad;
122 AUX_TRACE(aux, "acquire");
123 mutex_lock(&aux->mutex);
125 if (aux->enabled)
131 mutex_unlock(&aux->mutex);
136 nvkm_i2c_aux_xfer(struct nvkm_i2c_aux *aux, bool retry, u8 type,
139 if (!*size && !aux->func->address_only) {
140 AUX_ERR(aux, "address-only transaction dropped");
143 return aux->func->xfer(aux, retry, type, addr, data, size);
147 nvkm_i2c_aux_lnk_ctl(struct nvkm_i2c_aux *aux, int nr, int bw, bool ef)
149 if (aux->func->lnk_ctl)
150 return aux->func->lnk_ctl(aux, nr, bw, ef);
157 struct nvkm_i2c_aux *aux = *paux;
158 if (aux && !WARN_ON(!aux->func)) {
159 AUX_TRACE(aux, "dtor");
160 list_del(&aux->head);
161 i2c_del_adapter(&aux->i2c);
168 nvkm_i2c_aux_init(struct nvkm_i2c_aux *aux)
170 AUX_TRACE(aux, "init");
171 mutex_lock(&aux->mutex);
172 aux->enabled = true;
173 mutex_unlock(&aux->mutex);
177 nvkm_i2c_aux_fini(struct nvkm_i2c_aux *aux)
179 AUX_TRACE(aux, "fini");
180 mutex_lock(&aux->mutex);
181 aux->enabled = false;
182 mutex_unlock(&aux->mutex);
188 struct nvkm_i2c_aux *aux)
192 aux->func = func;
193 aux->pad = pad;
194 aux->id = id;
195 mutex_init(&aux->mutex);
196 list_add_tail(&aux->head, &pad->i2c->aux);
197 AUX_TRACE(aux, "ctor");
199 snprintf(aux->i2c.name, sizeof(aux->i2c.name), "nvkm-%s-aux-%04x",
201 aux->i2c.owner = THIS_MODULE;
202 aux->i2c.dev.parent = device->dev;
203 aux->i2c.algo = &nvkm_i2c_aux_i2c_algo;
204 return i2c_add_adapter(&aux->i2c);