Lines Matching full:psu

100 static ssize_t ibm_cffps_read_input_history(struct ibm_cffps *psu,  in ibm_cffps_read_input_history()  argument
109 .addr = psu->client->addr, in ibm_cffps_read_input_history()
110 .flags = psu->client->flags, in ibm_cffps_read_input_history()
114 .addr = psu->client->addr, in ibm_cffps_read_input_history()
115 .flags = psu->client->flags | I2C_M_RD, in ibm_cffps_read_input_history()
122 mutex_lock(&psu->input_history.update_lock); in ibm_cffps_read_input_history()
123 if (time_after(jiffies, psu->input_history.last_update + HZ)) { in ibm_cffps_read_input_history()
128 rc = i2c_transfer(psu->client->adapter, msg, 2); in ibm_cffps_read_input_history()
130 mutex_unlock(&psu->input_history.update_lock); in ibm_cffps_read_input_history()
134 psu->input_history.byte_count = msgbuf1[0]; in ibm_cffps_read_input_history()
135 memcpy(psu->input_history.data, &msgbuf1[1], in ibm_cffps_read_input_history()
137 psu->input_history.last_update = jiffies; in ibm_cffps_read_input_history()
140 mutex_unlock(&psu->input_history.update_lock); in ibm_cffps_read_input_history()
144 psu->input_history.data, in ibm_cffps_read_input_history()
145 psu->input_history.byte_count); in ibm_cffps_read_input_history()
155 struct ibm_cffps *psu = to_psu(idxp, idx); in ibm_cffps_debugfs_read() local
158 pmbus_set_page(psu->client, 0, 0xff); in ibm_cffps_debugfs_read()
162 return ibm_cffps_read_input_history(psu, buf, count, ppos); in ibm_cffps_debugfs_read()
179 if (psu->version == cffps1) { in ibm_cffps_debugfs_read()
180 rc = i2c_smbus_read_word_swapped(psu->client, in ibm_cffps_debugfs_read()
183 rc = i2c_smbus_read_word_data(psu->client, in ibm_cffps_debugfs_read()
193 rc = i2c_smbus_read_word_swapped(psu->client, CFFPS_CCIN_CMD); in ibm_cffps_debugfs_read()
200 switch (psu->version) { in ibm_cffps_debugfs_read()
203 rc = i2c_smbus_read_byte_data(psu->client, in ibm_cffps_debugfs_read()
216 rc = i2c_smbus_read_word_data(psu->client, in ibm_cffps_debugfs_read()
232 rc = i2c_smbus_read_byte_data(psu->client, in ibm_cffps_debugfs_read()
243 rc = i2c_smbus_read_block_data(psu->client, cmd, data); in ibm_cffps_debugfs_read()
262 struct ibm_cffps *psu = to_psu(idxp, idx); in ibm_cffps_debugfs_write() local
266 pmbus_set_page(psu->client, 0, 0xff); in ibm_cffps_debugfs_write()
272 rc = i2c_smbus_write_byte_data(psu->client, in ibm_cffps_debugfs_write()
383 struct ibm_cffps *psu = container_of(led_cdev, struct ibm_cffps, led); in ibm_cffps_led_brightness_set() local
390 if (psu->led_state != CFFPS_LED_BLINK) in ibm_cffps_led_brightness_set()
396 dev_dbg(&psu->client->dev, "LED brightness set: %d. Command: %d.\n", in ibm_cffps_led_brightness_set()
399 pmbus_set_page(psu->client, 0, 0xff); in ibm_cffps_led_brightness_set()
401 rc = i2c_smbus_write_byte_data(psu->client, CFFPS_SYS_CONFIG_CMD, in ibm_cffps_led_brightness_set()
406 psu->led_state = next_led_state; in ibm_cffps_led_brightness_set()
417 struct ibm_cffps *psu = container_of(led_cdev, struct ibm_cffps, led); in ibm_cffps_led_blink_set() local
419 dev_dbg(&psu->client->dev, "LED blink set.\n"); in ibm_cffps_led_blink_set()
421 pmbus_set_page(psu->client, 0, 0xff); in ibm_cffps_led_blink_set()
423 rc = i2c_smbus_write_byte_data(psu->client, CFFPS_SYS_CONFIG_CMD, in ibm_cffps_led_blink_set()
428 psu->led_state = CFFPS_LED_BLINK; in ibm_cffps_led_blink_set()
436 static void ibm_cffps_create_led_class(struct ibm_cffps *psu) in ibm_cffps_create_led_class() argument
439 struct i2c_client *client = psu->client; in ibm_cffps_create_led_class()
442 snprintf(psu->led_name, sizeof(psu->led_name), "%s-%02x", client->name, in ibm_cffps_create_led_class()
444 psu->led.name = psu->led_name; in ibm_cffps_create_led_class()
445 psu->led.max_brightness = LED_FULL; in ibm_cffps_create_led_class()
446 psu->led.brightness_set_blocking = ibm_cffps_led_brightness_set; in ibm_cffps_create_led_class()
447 psu->led.blink_set = ibm_cffps_led_blink_set; in ibm_cffps_create_led_class()
449 rc = devm_led_classdev_register(dev, &psu->led); in ibm_cffps_create_led_class()
495 struct ibm_cffps *psu; in ibm_cffps_probe() local
557 psu = devm_kzalloc(&client->dev, sizeof(*psu), GFP_KERNEL); in ibm_cffps_probe()
558 if (!psu) in ibm_cffps_probe()
561 psu->version = vs; in ibm_cffps_probe()
562 psu->client = client; in ibm_cffps_probe()
563 mutex_init(&psu->input_history.update_lock); in ibm_cffps_probe()
564 psu->input_history.last_update = jiffies - HZ; in ibm_cffps_probe()
566 ibm_cffps_create_led_class(psu); in ibm_cffps_probe()
578 psu->debugfs_entries[i] = i; in ibm_cffps_probe()
581 &psu->debugfs_entries[CFFPS_DEBUGFS_INPUT_HISTORY], in ibm_cffps_probe()
584 &psu->debugfs_entries[CFFPS_DEBUGFS_MFG_ID], in ibm_cffps_probe()
587 &psu->debugfs_entries[CFFPS_DEBUGFS_FRU], in ibm_cffps_probe()
590 &psu->debugfs_entries[CFFPS_DEBUGFS_PN], in ibm_cffps_probe()
593 &psu->debugfs_entries[CFFPS_DEBUGFS_HEADER], in ibm_cffps_probe()
596 &psu->debugfs_entries[CFFPS_DEBUGFS_SN], in ibm_cffps_probe()
599 &psu->debugfs_entries[CFFPS_DEBUGFS_MAX_POWER_OUT], in ibm_cffps_probe()
602 &psu->debugfs_entries[CFFPS_DEBUGFS_CCIN], in ibm_cffps_probe()
605 &psu->debugfs_entries[CFFPS_DEBUGFS_FW], in ibm_cffps_probe()
608 &psu->debugfs_entries[CFFPS_DEBUGFS_ON_OFF_CONFIG], in ibm_cffps_probe()