Lines Matching refs:pi
46 static int friq_read_regr(struct pi_adapter *pi, int cont, int regr)
60 static void friq_write_regr(struct pi_adapter *pi, int cont, int regr, int val)
69 static void friq_read_block_int(struct pi_adapter *pi, char *buf, int count, int regr)
73 switch (pi->mode) {
126 static void friq_read_block(struct pi_adapter *pi, char *buf, int count)
128 friq_read_block_int(pi, buf, count, 0x08);
131 static void friq_write_block(struct pi_adapter *pi, char *buf, int count)
135 switch (pi->mode) {
166 static void friq_connect(struct pi_adapter *pi)
168 pi->saved_r0 = r0();
169 pi->saved_r2 = r2();
173 static void friq_disconnect(struct pi_adapter *pi)
176 w0(pi->saved_r0);
177 w2(pi->saved_r2);
180 static int friq_test_proto(struct pi_adapter *pi)
186 pi->saved_r0 = r0();
189 w0(pi->saved_r0);
191 friq_connect(pi);
193 friq_write_regr(pi, 0, 6, 0xa0 + j * 0x10);
195 friq_write_regr(pi, 0, 2, k ^ 0xaa);
196 friq_write_regr(pi, 0, 3, k ^ 0x55);
197 if (friq_read_regr(pi, 0, 2) != (k ^ 0xaa))
201 friq_disconnect(pi);
203 friq_connect(pi);
204 friq_read_block_int(pi, scratch, 512, 0x10);
210 friq_disconnect(pi);
212 dev_dbg(&pi->dev,
214 pi->port, pi->mode, e[0], e[1], r);
219 static void friq_log_adapter(struct pi_adapter *pi)
223 dev_info(&pi->dev,
225 pi->port, pi->mode, mode_string[pi->mode], pi->delay);
227 pi->private = 1;
228 friq_connect(pi);
230 friq_disconnect(pi);
233 static void friq_release_proto(struct pi_adapter *pi)
235 if (pi->private) { /* turn off the power */
236 friq_connect(pi);
238 friq_disconnect(pi);
239 pi->private = 0;