RE: [PATCH 02/13] Thermal: Move thermal_instance to thermal.h

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

 



Hi Rui,


> -----Original Message-----
> From: Zhang, Rui
> Sent: Thursday, August 16, 2012 11:44 AM
> 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 02/13] Thermal: Move thermal_instance to thermal.h
> 
> On 四, 2012-08-09 at 18:15 +0530, Durgadoss R wrote:
> > This patch moves the thermal_instance structure
> > to thermal.h so that thermal management files
> > (other than thermal_sys.c) can also access it.
> >
> > Signed-off-by: Durgadoss R <durgadoss.r@xxxxxxxxx>
> > ---
> >  drivers/thermal/thermal_sys.c |   21 ---------------------
> >  include/linux/thermal.h       |   23 +++++++++++++++++++++++
> >  2 files changed, 23 insertions(+), 21 deletions(-)
> >
> > diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
> > index 5be8728..a0e20f9 100644
> > --- a/drivers/thermal/thermal_sys.c
> > +++ b/drivers/thermal/thermal_sys.c
> > @@ -41,27 +41,6 @@ MODULE_AUTHOR("Zhang Rui");
> >  MODULE_DESCRIPTION("Generic thermal management sysfs support");
> >  MODULE_LICENSE("GPL");
> >
> > -#define THERMAL_NO_TARGET -1UL
> > -/*
> > - * This structure is used to describe the behavior of
> > - * a certain cooling device on a certain trip point
> > - * in a certain thermal zone
> > - */
> > -struct thermal_instance {
> > -	int id;
> > -	char name[THERMAL_NAME_LENGTH];
> > -	struct thermal_zone_device *tz;
> > -	struct thermal_cooling_device *cdev;
> > -	int trip;
> > -	unsigned long upper;	/* Highest cooling state for this trip point */
> > -	unsigned long lower;	/* Lowest cooling state for this trip point */
> > -	unsigned long target;	/* expected cooling state */
> > -	char attr_name[THERMAL_NAME_LENGTH];
> > -	struct device_attribute attr;
> > -	struct list_head tz_node; /* node in tz->thermal_instances */
> > -	struct list_head cdev_node; /* node in cdev->thermal_instances */
> > -};
> > -
> >  static DEFINE_IDR(thermal_tz_idr);
> >  static DEFINE_IDR(thermal_cdev_idr);
> >  static DEFINE_MUTEX(thermal_idr_lock);
> > diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> > index 8611e3e..f25df23 100644
> > --- a/include/linux/thermal.h
> > +++ b/include/linux/thermal.h
> > @@ -33,6 +33,9 @@
> >  #define THERMAL_MAX_TRIPS	12
> >  #define THERMAL_NAME_LENGTH	20
> >
> > +/* Initial state of a cooling device during binding */
> > +#define THERMAL_NO_TARGET	-1UL
> > +
> >  /* No upper/lower limit requirement */
> >  #define THERMAL_NO_LIMIT	-1UL
> >
> > @@ -164,6 +167,26 @@ struct thermal_zone_device {
> >  	struct delayed_work poll_queue;
> >  };
> >
> > +/*
> > + * This structure is used to describe the behavior of
> > + * a certain cooling device on a certain trip point
> > + * in a certain thermal zone
> > + */
> > +struct thermal_instance {
> > +	int id;
> > +	char name[THERMAL_NAME_LENGTH];
> > +	struct thermal_zone_device *tz;
> > +	struct thermal_cooling_device *cdev;
> > +	int trip;
> > +	unsigned long upper;	/* Highest cooling state for this trip point */
> > +	unsigned long lower;	/* Lowest cooling state for this trip point */
> > +	unsigned long target;	/* expected cooling state */
> > +	char attr_name[THERMAL_NAME_LENGTH];
> > +	struct device_attribute attr;
> > +	struct list_head tz_node; /* node in tz->thermal_instances */
> > +	struct list_head cdev_node; /* node in cdev->thermal_instances */
> > +};
> > +
> 
> as this structure is used internally only, I'm thinking if we can rename
> drivers/thermal/thermal_sys.c to drivers/thermal/thermal_core.c,
> and introduce drivers/thermal/thermal_core.h for these internal stuff.
> what do you think?

Yes agree with you.
Also, we can keep the sysfs things in thermal_sys.c 
and rest of the things in thermal_core.c, and have a thermal_core.h also.
(This is how the power supply subsystem does it)

I will include this clean up, as part of v2, if you are Ok with this.

Other things;
 I was thinking is 'removal of netlink things' from
thermal_sys.c

Removing the hwmon related code (the thermal subsystem has grown
quite a bit and provides more thermal functionalities than Hwmon)
So, why do we need CONFIG_HWMON inside thermal subsystem ?
If all of us agree, I am Ok to remove this also.

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