linux.conf.au 2003
File operations - read cont.


        retval = get_power_status (slot, &value);
        if (retval)
                goto exit;
        len = sprintf (page, "%d\n", value);

        if (copy_to_user (buf, page, len)) {
                retval = -EFAULT;
                goto exit;
        }
        *offset += len;
        retval = len;

exit:
        free_page((unsigned long)page);
        return retval;
}

Result
        $ cat /proc/bus/pci/slots/slot2/power
        1

