Re: Switch APIC (+nmi, +oprofile) to driver model

Pavel Machek (pavel@suse.cz)
Thu, 13 Feb 2003 14:46:30 +0100


Hi!

> Here is my modified version of Pavel's latest patch to convert
> apm/apic/nmi to the driver model. It's a minimalistic patch,

It looks good.

> intendended ONLY to convert the old-fashioned PM support code
> to the driver model. It seems to work for me, except that
> initiating a suspend (via apm --suspend) triggers a BUG_ON
> somewhere in ide-disk.c, which prevents the suspend and causes a
> hang at shutdown.

If you want to workaround that hang,

> @@ -1263,6 +1264,11 @@
> }
> printk(KERN_CRIT "apm: suspend was vetoed, but suspending anyway.\n");
> }
> +
> + device_suspend(3, SUSPEND_NOTIFY);
> + device_suspend(3, SUSPEND_SAVE_STATE);
Kill these two lines ^

> + device_suspend(3, SUSPEND_DISABLE);
> +
> /* serialize with the timer interrupt */
> write_seqlock_irq(&xtime_lock);
>
> @@ -1283,6 +1289,8 @@
> if (err != APM_SUCCESS)
> apm_error("suspend", err);
> err = (err == APM_SUCCESS) ? 0 : -EIO;
> + device_resume(RESUME_RESTORE_STATE);
This line ^

> + device_resume(RESUME_ENABLE);
> pm_send_all(PM_RESUME, (void *)0);
> queue_event(APM_NORMAL_RESUME, NULL);
> out:
> @@ -1396,6 +1404,8 @@
> write_seqlock_irq(&xtime_lock);
> set_time();
> write_sequnlock_irq(&xtime_lock);
> + device_resume(RESUME_RESTORE_STATE);
And this line ^.

Its not right thing to do, but it should make it work for you.

Pavel

-- 
Casualities in World Trade Center: ~3k dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.
-
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/