Lines Matching defs:pchild

362 static int envctrl_read_cpu_info(int cpu, struct i2c_child_t *pchild,
371 if (pchild->mon_type[i] == mon_type) {
382 data = envctrl_i2c_read_8591((unsigned char)pchild->addr,
383 (unsigned char)pchild->chnl_array[i].chnl_no);
386 tbl = pchild->tables + pchild->tblprop_array[i].offset;
388 return envctrl_i2c_data_translate(data, pchild->tblprop_array[i].type,
389 pchild->tblprop_array[i].scale,
397 static int envctrl_read_noncpu_info(struct i2c_child_t *pchild,
405 if (pchild->mon_type[i] == mon_type)
413 data = envctrl_i2c_read_8591((unsigned char)pchild->addr,
414 (unsigned char)pchild->chnl_array[i].chnl_no);
417 tbl = pchild->tables + pchild->tblprop_array[i].offset;
419 return envctrl_i2c_data_translate(data, pchild->tblprop_array[i].type,
420 pchild->tblprop_array[i].scale,
427 static int envctrl_i2c_fan_status(struct i2c_child_t *pchild,
434 tmp = data & pchild->fan_mask;
436 if (tmp == pchild->fan_mask) {
450 if (pchild->fan_mask & chnls_mask[i]) {
466 static int envctrl_i2c_globaladdr(struct i2c_child_t *pchild,
491 static unsigned char envctrl_i2c_voltage_status(struct i2c_child_t *pchild,
498 tmp = data & pchild->voltage_mask;
501 if (tmp == pchild->voltage_mask) {
510 if (pchild->voltage_mask & chnls_mask[i]) {
539 struct i2c_child_t *pchild;
570 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_MTHRBDTEMP_MON)))
572 ret = envctrl_read_noncpu_info(pchild, ENVCTRL_MTHRBDTEMP_MON, data);
578 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_CPUTEMP_MON)))
580 ret = envctrl_read_cpu_info(read_cpu, pchild, ENVCTRL_CPUTEMP_MON, data);
588 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_CPUVOLTAGE_MON)))
590 ret = envctrl_read_cpu_info(read_cpu, pchild, ENVCTRL_CPUVOLTAGE_MON, data);
598 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_SCSITEMP_MON)))
600 ret = envctrl_read_noncpu_info(pchild, ENVCTRL_SCSITEMP_MON, data);
606 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_ETHERTEMP_MON)))
608 ret = envctrl_read_noncpu_info(pchild, ENVCTRL_ETHERTEMP_MON, data);
614 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_FANSTAT_MON)))
616 data[0] = envctrl_i2c_read_8574(pchild->addr);
617 ret = envctrl_i2c_fan_status(pchild,data[0], data);
623 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_GLOBALADDR_MON)))
625 data[0] = envctrl_i2c_read_8574(pchild->addr);
626 ret = envctrl_i2c_globaladdr(pchild, data[0], data);
632 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_VOLTAGESTAT_MON)))
634 if (!(pchild = envctrl_get_i2c_child(ENVCTRL_GLOBALADDR_MON)))
636 data[0] = envctrl_i2c_read_8574(pchild->addr);
637 ret = envctrl_i2c_voltage_status(pchild, data[0], data);
731 static void envctrl_set_mon(struct i2c_child_t *pchild,
744 pchild->mon_type[chnl_no] = ENVCTRL_CPUTEMP_MON;
750 pchild->mon_type[chnl_no] = ENVCTRL_CPUVOLTAGE_MON;
753 pchild->mon_type[chnl_no] = ENVCTRL_MTHRBDTEMP_MON;
756 pchild->mon_type[chnl_no] = ENVCTRL_SCSITEMP_MON;
759 pchild->mon_type[chnl_no] = ENVCTRL_ETHERTEMP_MON;
766 static void envctrl_init_adc(struct i2c_child_t *pchild, struct device_node *dp)
777 envctrl_set_mon(pchild, pos, i++);
795 static void envctrl_init_fanstat(struct i2c_child_t *pchild)
800 for (i = 0; i < pchild->total_chnls; i++)
801 pchild->fan_mask |= chnls_mask[(pchild->chnl_array[i]).chnl_no];
806 pchild->mon_type[0] = ENVCTRL_FANSTAT_MON;
812 static void envctrl_init_globaladdr(struct i2c_child_t *pchild)
829 for (i = 0; i < pchild->total_chnls; i++) {
830 if (PCF8584_VOLTAGE_TYPE == pchild->chnl_array[i].type) {
831 pchild->voltage_mask |= chnls_mask[i];
839 pchild->mon_type[0] = ENVCTRL_GLOBALADDR_MON;
843 static void envctrl_init_voltage_status(struct i2c_child_t *pchild)
848 for (i = 0; i < pchild->total_chnls; i++)
849 pchild->voltage_mask |= chnls_mask[(pchild->chnl_array[i]).chnl_no];
854 pchild->mon_type[0] = ENVCTRL_VOLTAGESTAT_MON;
861 struct i2c_child_t *pchild)
868 memcpy(&pchild->addr, pval, len);
873 memcpy(pchild->tblprop_array, pval, len);
874 pchild->total_tbls = len / sizeof(struct pcf8584_tblprop);
875 for (i = 0; i < pchild->total_tbls; i++) {
876 if ((pchild->tblprop_array[i].size + pchild->tblprop_array[i].offset) > tbls_size) {
877 tbls_size = pchild->tblprop_array[i].size + pchild->tblprop_array[i].offset;
881 pchild->tables = kmalloc(tbls_size, GFP_KERNEL);
882 if (pchild->tables == NULL){
891 memcpy(pchild->tables, pval, len);
901 if (ENVCTRL_CPCI_IGNORED_NODE == pchild->addr) {
908 pchild->mon_type[len] = ENVCTRL_NOMON;
918 memcpy(pchild->chnl_array, pval, len);
919 pchild->total_chnls = len / sizeof(struct pcf8584_channel);
921 for (i = 0; i < pchild->total_chnls; i++) {
922 switch (pchild->chnl_array[i].type) {
924 envctrl_init_adc(pchild, dp);
928 envctrl_init_globaladdr(pchild);
929 i = pchild->total_chnls;
933 envctrl_init_fanstat(pchild);
934 i = pchild->total_chnls;
938 if (pchild->i2ctype == I2C_ADC) {
939 envctrl_init_adc(pchild,dp);
941 envctrl_init_voltage_status(pchild);
943 i = pchild->total_chnls;