Lines Matching refs:pi
22 #define PC pi->private
38 static int bpck_read_regr(struct pi_adapter *pi, int cont, int regr)
44 switch (pi->mode) {
69 static void bpck_write_regr(struct pi_adapter *pi, int cont, int regr, int val)
75 switch (pi->mode) {
93 #define WR(r,v) bpck_write_regr(pi,2,r,v)
94 #define RR(r) (bpck_read_regr(pi,2,r))
96 static void bpck_write_block(struct pi_adapter *pi, char *buf, int count)
100 switch (pi->mode) {
151 static void bpck_read_block(struct pi_adapter *pi, char *buf, int count)
155 switch (pi->mode) {
209 static int bpck_probe_unit(struct pi_adapter *pi)
214 id = pi->unit;
235 static void bpck_connect(struct pi_adapter *pi)
237 pi->saved_r0 = r0();
238 w0(0xff-pi->unit); w2(4); w0(pi->unit);
242 switch (pi->mode) {
260 * if (pi->devtype == PI_PCD) {
271 static void bpck_disconnect(struct pi_adapter *pi)
274 if (pi->mode >= 2) {
279 w2(0x4c); w0(pi->saved_r0);
282 static void bpck_force_spp(struct pi_adapter *pi)
285 pi->saved_r0 = r0();
286 w0(0xff-pi->unit); w2(4); w0(pi->unit);
294 w2(0x4c); w0(pi->saved_r0);
299 static int bpck_test_proto(struct pi_adapter *pi)
304 bpck_force_spp(pi);
306 switch (pi->mode) {
309 bpck_connect(pi);
317 bpck_disconnect(pi);
321 bpck_connect(pi);
329 bpck_disconnect(pi);
335 om = pi->mode;
336 pi->mode = 0;
337 bpck_connect(pi);
340 bpck_disconnect(pi);
342 pi->mode = om;
343 bpck_connect(pi);
346 switch (pi->mode) {
363 bpck_disconnect(pi);
368 dev_dbg(&pi->dev, "bpck: 0x%x unit %d mode %d: ",
369 pi->port, pi->unit, pi->mode);
382 static void bpck_read_eeprom(struct pi_adapter *pi, char *buf)
386 bpck_force_spp(pi);
388 om = pi->mode; od = pi->delay;
389 pi->mode = 0; pi->delay = 6;
391 bpck_connect(pi);
421 bpck_disconnect(pi);
424 bpck_connect(pi);
427 bpck_disconnect(pi);
430 pi->mode = om; pi->delay = od;
433 static int bpck_test_port(struct pi_adapter *pi)
472 static void bpck_log_adapter(struct pi_adapter *pi)
477 bpck_read_eeprom(pi,scratch);
479 dev_info(&pi->dev,
481 &scratch[110], pi->unit, pi->port, pi->mode,
482 mode_str[pi->mode], pi->delay);