Esempio n. 1
0
static ssize_t rtl_set_state(struct sysdev_class *dev,
                             struct sysdev_class_attribute *attr,
                             const char *buf,
                             size_t count)
{
	ssize_t ret;

	if (count < 1 || count > 2)
		return -EINVAL;

	switch (buf[0]) {
	case '0':
		ret = ibm_rtl_write(0);
		break;
	case '1':
		ret = ibm_rtl_write(1);
		break;
	default:
		ret = -EINVAL;
	}
	if (ret >= 0)
		ret = count;

	return ret;
}
Esempio n. 2
0
static void __exit ibm_rtl_exit(void)
{
	if (rtl_table) {
		RTL_DEBUG("cleaning up");
		/* do not leave the machine in SMI-free mode */
		ibm_rtl_write(0);
		/* unmap, unlink and remove all traces */
		rtl_teardown_sysfs();
		iounmap(ebda_map);
		rtl_port_unmap(rtl_cmd_addr);
	}
}
static void __exit ibm_rtl_exit(void)
{
    if (rtl_table) {
        RTL_DEBUG("cleaning up");

        ibm_rtl_write(0);

        rtl_teardown_sysfs();
        iounmap(ebda_map);
        rtl_port_unmap(rtl_cmd_addr);
    }
}