mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge commit 'v2.6.33-rc5' into secretlab/test-devicetree
This commit is contained in:
commit
0ada0a7312
9409 changed files with 801789 additions and 424735 deletions
|
|
@ -522,6 +522,40 @@ static void attach_one_fan(struct bbc_i2c_bus *bp, struct of_device *op,
|
|||
set_fan_speeds(fp);
|
||||
}
|
||||
|
||||
static void destroy_one_temp(struct bbc_cpu_temperature *tp)
|
||||
{
|
||||
bbc_i2c_detach(tp->client);
|
||||
kfree(tp);
|
||||
}
|
||||
|
||||
static void destroy_all_temps(struct bbc_i2c_bus *bp)
|
||||
{
|
||||
struct bbc_cpu_temperature *tp, *tpos;
|
||||
|
||||
list_for_each_entry_safe(tp, tpos, &bp->temps, bp_list) {
|
||||
list_del(&tp->bp_list);
|
||||
list_del(&tp->glob_list);
|
||||
destroy_one_temp(tp);
|
||||
}
|
||||
}
|
||||
|
||||
static void destroy_one_fan(struct bbc_fan_control *fp)
|
||||
{
|
||||
bbc_i2c_detach(fp->client);
|
||||
kfree(fp);
|
||||
}
|
||||
|
||||
static void destroy_all_fans(struct bbc_i2c_bus *bp)
|
||||
{
|
||||
struct bbc_fan_control *fp, *fpos;
|
||||
|
||||
list_for_each_entry_safe(fp, fpos, &bp->fans, bp_list) {
|
||||
list_del(&fp->bp_list);
|
||||
list_del(&fp->glob_list);
|
||||
destroy_one_fan(fp);
|
||||
}
|
||||
}
|
||||
|
||||
int bbc_envctrl_init(struct bbc_i2c_bus *bp)
|
||||
{
|
||||
struct of_device *op;
|
||||
|
|
@ -541,6 +575,8 @@ int bbc_envctrl_init(struct bbc_i2c_bus *bp)
|
|||
int err = PTR_ERR(kenvctrld_task);
|
||||
|
||||
kenvctrld_task = NULL;
|
||||
destroy_all_temps(bp);
|
||||
destroy_all_fans(bp);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
|
@ -548,35 +584,11 @@ int bbc_envctrl_init(struct bbc_i2c_bus *bp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void destroy_one_temp(struct bbc_cpu_temperature *tp)
|
||||
{
|
||||
bbc_i2c_detach(tp->client);
|
||||
kfree(tp);
|
||||
}
|
||||
|
||||
static void destroy_one_fan(struct bbc_fan_control *fp)
|
||||
{
|
||||
bbc_i2c_detach(fp->client);
|
||||
kfree(fp);
|
||||
}
|
||||
|
||||
void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp)
|
||||
{
|
||||
struct bbc_cpu_temperature *tp, *tpos;
|
||||
struct bbc_fan_control *fp, *fpos;
|
||||
|
||||
if (kenvctrld_task)
|
||||
kthread_stop(kenvctrld_task);
|
||||
|
||||
list_for_each_entry_safe(tp, tpos, &bp->temps, bp_list) {
|
||||
list_del(&tp->bp_list);
|
||||
list_del(&tp->glob_list);
|
||||
destroy_one_temp(tp);
|
||||
}
|
||||
|
||||
list_for_each_entry_safe(fp, fpos, &bp->fans, bp_list) {
|
||||
list_del(&fp->bp_list);
|
||||
list_del(&fp->glob_list);
|
||||
destroy_one_fan(fp);
|
||||
}
|
||||
destroy_all_temps(bp);
|
||||
destroy_all_fans(bp);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,11 +92,11 @@
|
|||
#define ENVCTRL_CPUTEMP_MON 1 /* cpu temperature monitor */
|
||||
#define ENVCTRL_CPUVOLTAGE_MON 2 /* voltage monitor */
|
||||
#define ENVCTRL_FANSTAT_MON 3 /* fan status monitor */
|
||||
#define ENVCTRL_ETHERTEMP_MON 4 /* ethernet temperarture */
|
||||
#define ENVCTRL_ETHERTEMP_MON 4 /* ethernet temperature */
|
||||
/* monitor */
|
||||
#define ENVCTRL_VOLTAGESTAT_MON 5 /* voltage status monitor */
|
||||
#define ENVCTRL_MTHRBDTEMP_MON 6 /* motherboard temperature */
|
||||
#define ENVCTRL_SCSITEMP_MON 7 /* scsi temperarture */
|
||||
#define ENVCTRL_SCSITEMP_MON 7 /* scsi temperature */
|
||||
#define ENVCTRL_GLOBALADDR_MON 8 /* global address */
|
||||
|
||||
/* Child device type.
|
||||
|
|
|
|||
Loading…
Reference in a new issue