Lines Matching refs:fp

93 static void set_fan_speeds(struct bbc_fan_control *fp)  in set_fan_speeds()  argument
98 if (fp->cpu_fan_speed < FAN_SPEED_MIN) in set_fan_speeds()
99 fp->cpu_fan_speed = FAN_SPEED_MIN; in set_fan_speeds()
100 if (fp->cpu_fan_speed > FAN_SPEED_MAX) in set_fan_speeds()
101 fp->cpu_fan_speed = FAN_SPEED_MAX; in set_fan_speeds()
102 if (fp->system_fan_speed < FAN_SPEED_MIN) in set_fan_speeds()
103 fp->system_fan_speed = FAN_SPEED_MIN; in set_fan_speeds()
104 if (fp->system_fan_speed > FAN_SPEED_MAX) in set_fan_speeds()
105 fp->system_fan_speed = FAN_SPEED_MAX; in set_fan_speeds()
108 fp->index, in set_fan_speeds()
109 fp->cpu_fan_speed, fp->system_fan_speed); in set_fan_speeds()
112 bbc_i2c_writeb(fp->client, fp->cpu_fan_speed, CPU_FAN_REG); in set_fan_speeds()
113 bbc_i2c_writeb(fp->client, fp->system_fan_speed, SYS_FAN_REG); in set_fan_speeds()
114 bbc_i2c_writeb(fp->client, in set_fan_speeds()
115 (fp->psupply_fan_on ? in set_fan_speeds()
320 static int maybe_new_ambient_fan_speed(struct bbc_fan_control *fp) in maybe_new_ambient_fan_speed() argument
330 if (fp->system_fan_speed >= FAN_SPEED_MAX) in maybe_new_ambient_fan_speed()
333 fp->system_fan_speed = FAN_SPEED_MAX; in maybe_new_ambient_fan_speed()
336 if (fp->system_fan_speed >= FAN_SPEED_MAX) in maybe_new_ambient_fan_speed()
339 fp->system_fan_speed += 2; in maybe_new_ambient_fan_speed()
341 int orig_speed = fp->system_fan_speed; in maybe_new_ambient_fan_speed()
344 orig_speed <= (fp->cpu_fan_speed - 3)) in maybe_new_ambient_fan_speed()
347 fp->system_fan_speed -= 1; in maybe_new_ambient_fan_speed()
354 static int maybe_new_cpu_fan_speed(struct bbc_fan_control *fp) in maybe_new_cpu_fan_speed() argument
364 if (fp->cpu_fan_speed >= FAN_SPEED_MAX) in maybe_new_cpu_fan_speed()
367 fp->cpu_fan_speed = FAN_SPEED_MAX; in maybe_new_cpu_fan_speed()
370 if (fp->cpu_fan_speed >= FAN_SPEED_MAX) in maybe_new_cpu_fan_speed()
373 fp->cpu_fan_speed += 2; in maybe_new_cpu_fan_speed()
374 if (fp->system_fan_speed < in maybe_new_cpu_fan_speed()
375 (fp->cpu_fan_speed - 3)) in maybe_new_cpu_fan_speed()
376 fp->system_fan_speed = in maybe_new_cpu_fan_speed()
377 fp->cpu_fan_speed - 3; in maybe_new_cpu_fan_speed()
380 if (fp->cpu_fan_speed <= FAN_SPEED_MIN) in maybe_new_cpu_fan_speed()
383 fp->cpu_fan_speed -= 1; in maybe_new_cpu_fan_speed()
390 static void maybe_new_fan_speeds(struct bbc_fan_control *fp) in maybe_new_fan_speeds() argument
394 new = maybe_new_ambient_fan_speed(fp); in maybe_new_fan_speeds()
395 new |= maybe_new_cpu_fan_speed(fp); in maybe_new_fan_speeds()
398 set_fan_speeds(fp); in maybe_new_fan_speeds()
403 struct bbc_fan_control *fp; in fans_full_blast() local
408 list_for_each_entry(fp, &all_fans, glob_list) { in fans_full_blast()
409 fp->cpu_fan_speed = FAN_SPEED_MAX; in fans_full_blast()
410 fp->system_fan_speed = FAN_SPEED_MAX; in fans_full_blast()
411 fp->psupply_fan_on = 1; in fans_full_blast()
412 set_fan_speeds(fp); in fans_full_blast()
426 struct bbc_fan_control *fp; in kenvctrld() local
436 list_for_each_entry(fp, &all_fans, glob_list) in kenvctrld()
437 maybe_new_fan_speeds(fp); in kenvctrld()
497 struct bbc_fan_control *fp; in attach_one_fan() local
499 fp = kzalloc(sizeof(*fp), GFP_KERNEL); in attach_one_fan()
500 if (!fp) in attach_one_fan()
503 INIT_LIST_HEAD(&fp->bp_list); in attach_one_fan()
504 INIT_LIST_HEAD(&fp->glob_list); in attach_one_fan()
506 fp->client = bbc_i2c_attach(bp, op); in attach_one_fan()
507 if (!fp->client) { in attach_one_fan()
508 kfree(fp); in attach_one_fan()
512 fp->index = fan_idx; in attach_one_fan()
514 list_add(&fp->glob_list, &all_fans); in attach_one_fan()
515 list_add(&fp->bp_list, &bp->fans); in attach_one_fan()
523 fp->psupply_fan_on = 1; in attach_one_fan()
524 fp->cpu_fan_speed = (FAN_SPEED_MAX - FAN_SPEED_MIN) / 2; in attach_one_fan()
525 fp->cpu_fan_speed += FAN_SPEED_MIN; in attach_one_fan()
526 fp->system_fan_speed = (FAN_SPEED_MAX - FAN_SPEED_MIN) / 2; in attach_one_fan()
527 fp->system_fan_speed += FAN_SPEED_MIN; in attach_one_fan()
529 set_fan_speeds(fp); in attach_one_fan()
549 static void destroy_one_fan(struct bbc_fan_control *fp) in destroy_one_fan() argument
551 bbc_i2c_detach(fp->client); in destroy_one_fan()
552 kfree(fp); in destroy_one_fan()
557 struct bbc_fan_control *fp, *fpos; in destroy_all_fans() local
559 list_for_each_entry_safe(fp, fpos, &bp->fans, bp_list) { in destroy_all_fans()
560 list_del(&fp->bp_list); in destroy_all_fans()
561 list_del(&fp->glob_list); in destroy_all_fans()
562 destroy_one_fan(fp); in destroy_all_fans()