Hi again,

I found bugs in your code:
        loops = 0;
        /* Yes, this is a mess, but it's the easiest way to do it */
        while((inb(SMBUS_IO_BASE + SMBHSTSTAT) & 1) == 1 && loops <= 
SMBUS_TIMEOUT)
                                                                 ++loops;

You have already an IO BASE in SMBHSTSTAT this makes me wonder why it works for you...

        smbus_print_error(inb(SMBUS_IO_BASE + SMBHSTSTAT), loops);

same here

I'm attaching version which works for me (tm)

Rudolf

Attachment: vt8237r_early_smbus.c
Description: application/octet

-- 
linuxbios mailing list
[email protected]
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to