[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1200619900.2935.161.camel@acpi-sony.sh.intel.com>
Date: Fri, 18 Jan 2008 09:31:40 +0800
From: Zhang Rui <rui.zhang@...el.com>
To: Matthew Garrett <mjg59@...f.ucam.org>
Cc: lenb@...nel.org, linux-acpi@...r.kernel.org,
linux-pm@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
"Thomas, Sujith" <sujith.thomas@...el.com>
Subject: Re: [PATCH 6/10] ACPI: register ACPI Video LCD as generic thermal
cooling device
Hi, Mattew,
thanks for your comments.
On Thu, 2008-01-17 at 20:24 +0800, Matthew Garrett wrote:
> On Thu, Jan 17, 2008 at 03:51:22PM +0800, Zhang Rui wrote:
> > From: Zhang Rui <rui.zhang@...el.com>
> >
> > Register ACPI video device as thermal cooling devices as they may be
> listed
> > in _TZD method and the backlight control can be used for throttling.
>
> I'm worried to some extent about how ungeneric this is. A thermal zone
> may cover any devices, not just processor and video ones.
> Perhaps this
> should be added to the acpi_device struct instead, and then let
> individual drivers implement whatever callbacks are appropriate?
Yes, we can do this. But it's kinda early to add the
thermal_cooling_device struct to the acpi_device struct now.
I don't think any other individual drivers know whether they can or how
to throttle the device except processor, fan and lcd currently.
Just like I don't think lcd should be used for ACPI thermal management
before I saw it is listed in _TZD and intel_menlow requires to throttle
it when overheating, why not let the individual drivers implement the
callbacks if there is clearly a request to do this.
And we can add this to the generic acpi_device struct then if this is a
common feature for all ACPI devices.
>
> > +static int
> > +video_set_cur_state(struct thermal_cooling_device *cdev, unsigned
> int state)
> > +{
> > + struct acpi_device *device = cdev->devdata;
> > + struct acpi_video_device *video = acpi_driver_data(device);
> > + int level;
> > +
> > + if ( state >= video->brightness->count - 2)
> > + return -EINVAL;
> > +
> > + state = video->brightness->count - state;
> > + level = video->brightness->levels[state -1];
> > + return acpi_video_device_lcd_set_level(video, level);
>
> This all seems like duplication of the backlight interface?
Well, you're right.
But in order to throttle the lcd, this is reasonable, right?
Thanks,
Rui
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists