Lines Matching defs:pad

29 #include "pad.h"
34 nvkm_i2c_pad_mode_locked(struct nvkm_i2c_pad *pad, enum nvkm_i2c_pad_mode mode)
36 PAD_TRACE(pad, "-> %s", (mode == NVKM_I2C_PAD_AUX) ? "aux" :
38 if (pad->func->mode)
39 pad->func->mode(pad, mode);
43 nvkm_i2c_pad_mode(struct nvkm_i2c_pad *pad, enum nvkm_i2c_pad_mode mode)
45 PAD_TRACE(pad, "mode %d", mode);
46 mutex_lock(&pad->mutex);
47 nvkm_i2c_pad_mode_locked(pad, mode);
48 pad->mode = mode;
49 mutex_unlock(&pad->mutex);
53 nvkm_i2c_pad_release(struct nvkm_i2c_pad *pad)
55 PAD_TRACE(pad, "release");
56 if (pad->mode == NVKM_I2C_PAD_OFF)
57 nvkm_i2c_pad_mode_locked(pad, pad->mode);
58 mutex_unlock(&pad->mutex);
62 nvkm_i2c_pad_acquire(struct nvkm_i2c_pad *pad, enum nvkm_i2c_pad_mode mode)
64 PAD_TRACE(pad, "acquire");
65 mutex_lock(&pad->mutex);
66 if (pad->mode != mode) {
67 if (pad->mode != NVKM_I2C_PAD_OFF) {
68 mutex_unlock(&pad->mutex);
71 nvkm_i2c_pad_mode_locked(pad, mode);
77 nvkm_i2c_pad_fini(struct nvkm_i2c_pad *pad)
79 PAD_TRACE(pad, "fini");
80 nvkm_i2c_pad_mode_locked(pad, NVKM_I2C_PAD_OFF);
84 nvkm_i2c_pad_init(struct nvkm_i2c_pad *pad)
86 PAD_TRACE(pad, "init");
87 nvkm_i2c_pad_mode_locked(pad, pad->mode);
93 struct nvkm_i2c_pad *pad = *ppad;
94 if (pad) {
95 PAD_TRACE(pad, "dtor");
96 list_del(&pad->head);
97 mutex_destroy(&pad->mutex);
98 kfree(pad);
99 pad = NULL;
105 int id, struct nvkm_i2c_pad *pad)
107 pad->func = func;
108 pad->i2c = i2c;
109 pad->id = id;
110 pad->mode = NVKM_I2C_PAD_OFF;
111 mutex_init(&pad->mutex);
112 list_add_tail(&pad->head, &i2c->pad);
113 PAD_TRACE(pad, "ctor");