static unsigned long statusport;
#endif
-static int parport_read(void)
+static bb_value_t parport_read(void)
{
int data = 0;
#endif
if ((data ^ cable->INPUT_INVERT) & cable->TDO_MASK)
- return 1;
+ return BB_HIGH;
else
- return 0;
+ return BB_LOW;
}
static inline void parport_write_data(void)
#endif
}
-static void parport_write(int tck, int tms, int tdi)
+static int parport_write(int tck, int tms, int tdi)
{
int i = wait_states + 1;
while (i-- > 0)
parport_write_data();
+
+ return ERROR_OK;
}
/* (1) assert or (0) deassert reset lines */
-static void parport_reset(int trst, int srst)
+static int parport_reset(int trst, int srst)
{
LOG_DEBUG("trst: %i, srst: %i", trst, srst);
dataport_value &= ~cable->SRST_MASK;
parport_write_data();
+
+ return ERROR_OK;
}
/* turn LED on parport adapter on (1) or off (0) */
-static void parport_led(int on)
+static int parport_led(int on)
{
if (on)
dataport_value |= cable->LED_MASK;
dataport_value &= ~cable->LED_MASK;
parport_write_data();
+
+ return ERROR_OK;
}
static int parport_speed(int speed)
#endif /* PARPORT_USE_PPDEV */
- parport_reset(0, 0);
- parport_write(0, 0, 0);
- parport_led(1);
+ if (parport_reset(0, 0) != ERROR_OK)
+ return ERROR_FAIL;
+ if (parport_write(0, 0, 0) != ERROR_OK)
+ return ERROR_FAIL;
+ if (parport_led(1) != ERROR_OK)
+ return ERROR_FAIL;
bitbang_interface = &parport_bitbang;
static int parport_quit(void)
{
- parport_led(0);
+ if (parport_led(0) != ERROR_OK)
+ return ERROR_FAIL;
if (parport_exit) {
dataport_value = cable->PORT_EXIT;