Acontece que a extensão do sinal era importante:
sign_extend32 (AR5K_REG_MS (valor, AR5K_PHY_NF_MINCCA_PWR), 8)
onde:
AR5K_PHY_NF_MINCCA_PWR 0x0ff80000 / * Nível de ruído medido mínimo, lido do hardware em unidades de 1 dBm * /
As funções AR5K_REG_MS mascara e desloca esse valor lido do registro de hardware em relação ao nível mínimo de ruído medido.
sign_extend32 / * sign estende um valor de 32 bits usando bit especificado como bit de sinal * /
Após a conclusão, o número pode ser gravado no syslog usando '% d' para formatação.