2006-01-04 22:01:52

by Ben Collins

[permalink] [raw]
Subject: [PATCH 12/15] via-pmu: Wrap some uses of sleep_in_progress with proper ifdef's

Basically completes what's already in the rest of the driver.
sleep_in_progress is only defined for pm+ppc32.

Signed-off-by: Ben Collins <[email protected]>

---

drivers/macintosh/via-pmu.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

3ab202d5d55c3ea17d88454b212a0363f9a2b115
diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c
index 5640435..64549ad 100644
--- a/drivers/macintosh/via-pmu.c
+++ b/drivers/macintosh/via-pmu.c
@@ -2911,8 +2911,10 @@ pmu_ioctl(struct inode * inode, struct f
* the fbdev
*/
case PMU_IOC_GET_BACKLIGHT:
+#if defined(CONFIG_PM) && defined(CONFIG_PPC32)
if (sleep_in_progress)
return -EBUSY;
+#endif
error = get_backlight_level();
if (error < 0)
return error;
@@ -2920,8 +2922,10 @@ pmu_ioctl(struct inode * inode, struct f
case PMU_IOC_SET_BACKLIGHT:
{
__u32 value;
+#if defined(CONFIG_PM) && defined(CONFIG_PPC32)
if (sleep_in_progress)
return -EBUSY;
+#endif
error = get_user(value, argp);
if (!error)
error = set_backlight_level(value);
--
1.0.5


2006-01-05 03:34:24

by Kristian Mueller

[permalink] [raw]
Subject: Re: [PATCH 12/15] via-pmu: Wrap some uses of sleep_in_progress with proper ifdef's

Hi Ben

On Mi, 2006-01-04 at 17:01 -0500, Ben Collins wrote:
> Basically completes what's already in the rest of the driver.
> sleep_in_progress is only defined for pm+ppc32.
>
> Signed-off-by: Ben Collins <[email protected]>

We've already found a different solution to this in the Linuxppc-dev
list.

See:
http://patchwork.ozlabs.org/linuxppc/patch?id=3737


Fix compilation of via-pmu.c without Power Management support.

Signed-off-by: Kristian Mueller <[email protected]>
Signed-off-by: Paul Mackerras <[email protected]>

---

--- linux/drivers/macintosh/via-pmu.c.orig2005-12-15 11:28:28.000000000
+0800
+++ linux/drivers/macintosh/via-pmu.c2005-12-15 12:20:43.000000000 +0800
@@ -157,8 +157,8 @@ static int pmu_version;
static int drop_interrupts;
#if defined(CONFIG_PM) && defined(CONFIG_PPC32)
static int option_lid_wakeup = 1;
-static int sleep_in_progress;
#endif /* CONFIG_PM && CONFIG_PPC32 */
+static int sleep_in_progress;
static unsigned long async_req_locks;
static unsigned int pmu_irq_stats[11];


2006-01-05 14:17:49

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH 12/15] via-pmu: Wrap some uses of sleep_in_progress with proper ifdef's

On Thu, 2006-01-05 at 03:34 +0800, Kristian Mueller wrote:
> Hi Ben
>
> On Mi, 2006-01-04 at 17:01 -0500, Ben Collins wrote:
> > Basically completes what's already in the rest of the driver.
> > sleep_in_progress is only defined for pm+ppc32.
> >
> > Signed-off-by: Ben Collins <[email protected]>
>
> We've already found a different solution to this in the Linuxppc-dev
> list.
>
> See:
> http://patchwork.ozlabs.org/linuxppc/patch?id=3737

That patch makes no sense. It just moves the variable out of the ifdef,
but if CONFIG_PM or CONFIG_PPC32 is not enabled, then the variable never
gets modified, and so is always 0. Why not just wrap all the code that
uses it (like my patch did)?

--
Ben Collins <[email protected]>
Developer
Ubuntu Linux

2006-01-06 01:23:05

by Kristian Mueller

[permalink] [raw]
Subject: Re: [PATCH 12/15] via-pmu: Wrap some uses of sleep_in_progress with proper ifdef's

Hi Ben

On Do, 2006-01-05 at 09:17 -0500, Ben Collins wrote:
> On Thu, 2006-01-05 at 03:34 +0800, Kristian Mueller wrote:
> > We've already found a different solution to this in the Linuxppc-dev
> > list.
> >
> > See:
> > http://patchwork.ozlabs.org/linuxppc/patch?id=3737
>
> That patch makes no sense. It just moves the variable out of the ifdef,
> but if CONFIG_PM or CONFIG_PPC32 is not enabled, then the variable never
> gets modified, and so is always 0. Why not just wrap all the code that
> uses it (like my patch did)?

I had quite the same approach in mind but as Olof Johansson remarked in
http://patchwork.ozlabs.org/linuxppc/patch?id=3736 this would just
introduce more unnecessary #ifdefs.


Regards,
Kristian