lkml.org 
[lkml]   [2007]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [x86 setup 17/33] A20 handling code

    On Jul 9 2007 19:51, H. Peter Anvin wrote:

    >+ status = inb(0x64);
    >+ if (status & 1) {
    >+ /* Read and discard input data */
    >+ io_delay();
    >+ (void)inb(0x60);

    Is the (void) cast needed for some obscure reason? Let's hope inb _is_ declared
    as volatile. (Minus the volatile flames.

    >+ } else if (!(status & 2)) {
    >+ /* Buffers empty, finished! */
    >+ return 0;
    >+ }
    >+ }
    >+
    >+ return -1;
    >+}
    >+
    >+
    >+#define A20_TEST_ADDR (4*0x80)
    >+#define A20_TEST_SHORT 32
    >+#define A20_TEST_LONG 2097152 /* 2^21 */

    Maybe...?
    #define A20_TEST_LONG (1 << 21)

    >+/* Quick test to see if A20 is already enabled */
    >+static int a20_test_short(void)
    >+{
    >+ return a20_test(A20_TEST_SHORT);
    >+}
    >+
    >+/* Longer test that actually waits for A20 to come on line; this
    >+ is useful when dealing with the KBC or other slow external circuitry. */
    >+static int a20_test_long(void)
    >+{
    >+ return a20_test(A20_TEST_LONG);
    >+}

    To me looks like some of these (or other functions) could return bool.



    Jan
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-07-10 20:31    [W:4.151 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site