Update parport to return errors.
Change-Id: I6c6bf75809cd3222c7680e10ac6ee6073050ed07
This commit is contained in:
parent
9a817e7c1c
commit
26fadc7ef7
|
@ -116,7 +116,7 @@ static unsigned long dataport;
|
||||||
static unsigned long statusport;
|
static unsigned long statusport;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int parport_read(void)
|
static bb_value_t parport_read(void)
|
||||||
{
|
{
|
||||||
int data = 0;
|
int data = 0;
|
||||||
|
|
||||||
|
@ -127,9 +127,9 @@ static int parport_read(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((data ^ cable->INPUT_INVERT) & cable->TDO_MASK)
|
if ((data ^ cable->INPUT_INVERT) & cable->TDO_MASK)
|
||||||
return 1;
|
return BB_HIGH;
|
||||||
else
|
else
|
||||||
return 0;
|
return BB_LOW;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void parport_write_data(void)
|
static inline void parport_write_data(void)
|
||||||
|
@ -148,7 +148,7 @@ static inline void parport_write_data(void)
|
||||||
#endif
|
#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;
|
int i = wait_states + 1;
|
||||||
|
|
||||||
|
@ -169,10 +169,12 @@ static void parport_write(int tck, int tms, int tdi)
|
||||||
|
|
||||||
while (i-- > 0)
|
while (i-- > 0)
|
||||||
parport_write_data();
|
parport_write_data();
|
||||||
|
|
||||||
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (1) assert or (0) deassert reset lines */
|
/* (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);
|
LOG_DEBUG("trst: %i, srst: %i", trst, srst);
|
||||||
|
|
||||||
|
@ -187,10 +189,12 @@ static void parport_reset(int trst, int srst)
|
||||||
dataport_value &= ~cable->SRST_MASK;
|
dataport_value &= ~cable->SRST_MASK;
|
||||||
|
|
||||||
parport_write_data();
|
parport_write_data();
|
||||||
|
|
||||||
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* turn LED on parport adapter on (1) or off (0) */
|
/* turn LED on parport adapter on (1) or off (0) */
|
||||||
static void parport_led(int on)
|
static int parport_led(int on)
|
||||||
{
|
{
|
||||||
if (on)
|
if (on)
|
||||||
dataport_value |= cable->LED_MASK;
|
dataport_value |= cable->LED_MASK;
|
||||||
|
@ -198,6 +202,8 @@ static void parport_led(int on)
|
||||||
dataport_value &= ~cable->LED_MASK;
|
dataport_value &= ~cable->LED_MASK;
|
||||||
|
|
||||||
parport_write_data();
|
parport_write_data();
|
||||||
|
|
||||||
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parport_speed(int speed)
|
static int parport_speed(int speed)
|
||||||
|
@ -365,9 +371,12 @@ static int parport_init(void)
|
||||||
|
|
||||||
#endif /* PARPORT_USE_PPDEV */
|
#endif /* PARPORT_USE_PPDEV */
|
||||||
|
|
||||||
parport_reset(0, 0);
|
if (parport_reset(0, 0) != ERROR_OK)
|
||||||
parport_write(0, 0, 0);
|
return ERROR_FAIL;
|
||||||
parport_led(1);
|
if (parport_write(0, 0, 0) != ERROR_OK)
|
||||||
|
return ERROR_FAIL;
|
||||||
|
if (parport_led(1) != ERROR_OK)
|
||||||
|
return ERROR_FAIL;
|
||||||
|
|
||||||
bitbang_interface = &parport_bitbang;
|
bitbang_interface = &parport_bitbang;
|
||||||
|
|
||||||
|
@ -376,7 +385,8 @@ static int parport_init(void)
|
||||||
|
|
||||||
static int parport_quit(void)
|
static int parport_quit(void)
|
||||||
{
|
{
|
||||||
parport_led(0);
|
if (parport_led(0) != ERROR_OK)
|
||||||
|
return ERROR_FAIL;
|
||||||
|
|
||||||
if (parport_exit) {
|
if (parport_exit) {
|
||||||
dataport_value = cable->PORT_EXIT;
|
dataport_value = cable->PORT_EXIT;
|
||||||
|
|
Loading…
Reference in New Issue