Re: [PATCH] alpha build pm_power_off hack

From: Eric W. Biederman
Date: Mon Dec 12 2005 - 07:12:29 EST


Paul Jackson <pj@xxxxxxx> writes:

> Eric wrote:
>> Taking a quick glance at alpha causes me to think we always
>> want pm_power_off to be non null on alpha.
>
> So I presume you think that some alpha person should write
> such a function?

Sorry I had about 5 minutes to do something when this issue
came up and unfortunately I knew how to solve it cleanly :(
So I wrote the patch. It was my hope that by putting it into
-mm I could sucker someone with some time into doing fixing
the architectures that broke.

I think what we want is one of the too patches below. Basically
something that just sets pm_power_off to a non NULL value is
enough to continue the alphas current behaviour.

> I can't quite guess whether you are agreeing with my patch,
> or disagreeing with it.

Disagreeing in saying it didn't quite go far enough pm_power_off
should be initialized on alpha.

> At the very least, I don't want to leave the crosstools build
> of alpha with a default config broken.

That is a good point. But I really don't want to see a fix that
just blindly fixes a build issue. When it takes about 10 minutes
to audit machine_power_off and see what really needs to be done.

To that extent I have hacked up your patch two different ways
one of them should be usable. I'm just not certain which non-zero
initializer I like better. The second setting pm_power_off to
machine_power_off is what the powerpc port currently does.

Eric


---

arch/alpha/kernel/process.c | 5 +++++
1 files changed, 5 insertions(+)

--- 2.6.15-rc5-mm2.orig/arch/alpha/kernel/process.c 2005-12-11
15:07:52.000000000 -0800
+++ 2.6.15-rc5-mm2/arch/alpha/kernel/process.c 2005-12-11 15:09:33.000000000
-0800
@@ -43,6 +43,11 @@
#include "proto.h"
#include "pci_impl.h"

+/*
+ * Power off function, alpha doesn't use but we should
+ * always call machine_power_off.
+ */
+void (*pm_power_off)(void) = ERR_PTR(-EINVAL);
+
void
cpu_idle(void)
{

---

arch/alpha/kernel/process.c | 5 +++++
1 files changed, 5 insertions(+)

--- 2.6.15-rc5-mm2.orig/arch/alpha/kernel/process.c 2005-12-11
15:07:52.000000000 -0800
+++ 2.6.15-rc5-mm2/arch/alpha/kernel/process.c 2005-12-11 15:09:33.000000000
-0800
@@ -43,6 +43,11 @@
#include "proto.h"
#include "pci_impl.h"

+/*
+ * Power off function, alpha doesn't use but we should
+ * always call machine_power_off.
+ */
+void (*pm_power_off)(void) = machine_power_off;
+
void
cpu_idle(void)
{



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