RE: [PATCH 11/13] Thermal: Add a notification API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rui,


> -----Original Message-----
> From: Zhang, Rui
> Sent: Monday, August 13, 2012 12:33 PM
> To: R, Durgadoss
> Cc: lenb@xxxxxxxxxx; rjw@xxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; linux-
> pm@xxxxxxxxxxxxxxx; eduardo.valentin@xxxxxx; amit.kachhap@xxxxxxxxxx;
> wni@xxxxxxxxxx
> Subject: Re: [PATCH 11/13] Thermal: Add a notification API
> 
> On 四, 2012-08-09 at 18:16 +0530, Durgadoss R wrote:
> > This patch adds a notification API which the sensor drivers'
> > can use to notify the framework. The framework then takes
> > care of the throttling according to the configured policy.
> >
> > Signed-off-by: Durgadoss R <durgadoss.r@xxxxxxxxx>
> > ---
> >  drivers/thermal/thermal_sys.c |   18 ++++++++++++++++++
> >  include/linux/thermal.h       |    1 +
> >  2 files changed, 19 insertions(+)
> >
> > diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
> > index 193d071..6931d81 100644
> > --- a/drivers/thermal/thermal_sys.c
> > +++ b/drivers/thermal/thermal_sys.c
> > @@ -1309,6 +1309,24 @@ void thermal_cooling_device_unregister(struct
> thermal_cooling_device *cdev)
> >  }
> >  EXPORT_SYMBOL(thermal_cooling_device_unregister);
> >
> > +/**
> > + * notify_thermal_framework - Sensor drivers use this API to notify
> framework
> > + * @tz:		thermal zone device
> > + * @trip:	indicates which trip point has been crossed
> > + *
> > + * This function handles the trip events from sensor drivers. It starts
> > + * throttling the cooling devices according to the policy configured.
> > + * For CRITICAL and HOT trip points, this notifies the respective drivers,
> > + * and does actual throttling for other trip points i.e ACTIVE and PASSIVE.
> > + * The throttling policy is based on the configured platform data; if no
> > + * platform data is provided, this uses the step_wise throttling policy.
> > + */
> > +void notify_thermal_framework(struct thermal_zone_device *tz, int trip)
> > +{
> > +	handle_thermal_trip(tz, trip);
> > +}
> > +EXPORT_SYMBOL(notify_thermal_framework);
> > +
> why thermal_zone_device_update() can not work here?

It can work. But thermal_zone_device_update() goes over the
list of all trip points whereas here we know 'trip' is the trip point
that we have to handle now. So, why do we need to iterate over all trip
points again ?
That’s why it is implemented this way.

Thanks,
Durga
��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux