Browse Source

serial: bcm283x_mu: make pending values more explicit

dm_serial_ops.pending should return the number of characters, not just a
valid C Boolean integer value. The existing code does already does this,
but only as an accident since BCM283X_MU_LSR_RX_READY happens to be
BIT(0). Enhance the code to be more explicit about the values it returns.

Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Stephen Warren 9 years ago
parent
commit
e3a46e3ee2
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/serial/serial_bcm283x_mu.c

+ 2 - 2
drivers/serial/serial_bcm283x_mu.c

@@ -116,9 +116,9 @@ static int bcm283x_mu_serial_pending(struct udevice *dev, bool input)
 
 	if (input) {
 		WATCHDOG_RESET();
-		return lsr & BCM283X_MU_LSR_RX_READY;
+		return (lsr & BCM283X_MU_LSR_RX_READY) ? 1 : 0;
 	} else {
-		return !(lsr & BCM283X_MU_LSR_TX_IDLE);
+		return (lsr & BCM283X_MU_LSR_TX_IDLE) ? 0 : 1;
 	}
 }