
Hi Andy,
On Mon, Feb 3, 2020 at 8:34 PM Andy Shevchenko andy.shevchenko@gmail.com wrote:
On Mon, Feb 3, 2020 at 12:38 PM Wolfgang Wallner wolfgang.wallner@br-automation.com wrote:
Fix the following in intel_gpio_get_value():
The value of the register is contained in the variable 'reg', not in 'mode'. The variable 'mode' contains only the configuration whether the gpio is currently an input or an output.
The correct bitmasks for the input and output value are PAD_CFG0_RX_STATE and PAD_CFG0_TX_STATE. Use them instead of the currently used PAD_CFG0_RX_STATE_BIT and PAD_CFG0_TX_STATE_BIT.
...
if (!mode) { rx_tx = reg & (PAD_CFG0_TX_DISABLE | PAD_CFG0_RX_DISABLE); if (rx_tx == PAD_CFG0_TX_DISABLE)
return mode & PAD_CFG0_RX_STATE_BIT ? 1 : 0;
return reg & PAD_CFG0_RX_STATE ? 1 : 0;
Is it style of U-Boot? Because return !!(...); will have same effect while consuming less characters.
checkpatch does not complain, so I assume it is okay for U-Boot.
else if (rx_tx == PAD_CFG0_RX_DISABLE)
'else' is redundant here
return mode & PAD_CFG0_TX_STATE_BIT ? 1 : 0;
return reg & PAD_CFG0_TX_STATE ? 1 : 0; }
--
Regards, Bin