Lines Matching full:hwmon

9 #include <linux/hwmon.h>
146 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_update() local
151 hwmon->dma_buf.dma_addr); in efx_mcdi_mon_update()
152 MCDI_SET_DWORD(inbuf, READ_SENSORS_EXT_IN_LENGTH, hwmon->dma_buf.len); in efx_mcdi_mon_update()
157 hwmon->last_update = jiffies; in efx_mcdi_mon_update()
165 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_get_entry() local
170 mutex_lock(&hwmon->update_lock); in efx_mcdi_mon_get_entry()
173 if (time_before(jiffies, hwmon->last_update + HZ)) in efx_mcdi_mon_get_entry()
179 *entry = ((efx_dword_t *)hwmon->dma_buf.addr)[index]; in efx_mcdi_mon_get_entry()
181 mutex_unlock(&hwmon->update_lock); in efx_mcdi_mon_get_entry()
285 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_add_attr() local
286 struct efx_mcdi_mon_attribute *attr = &hwmon->attrs[hwmon->n_attrs]; in efx_mcdi_mon_add_attr()
300 hwmon->group.attrs[hwmon->n_attrs++] = &attr->dev_attr.attr; in efx_mcdi_mon_add_attr()
306 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_probe() local
339 efx, &hwmon->dma_buf, in efx_mcdi_mon_probe()
345 mutex_init(&hwmon->update_lock); in efx_mcdi_mon_probe()
353 hwmon->attrs = kcalloc(n_attrs, sizeof(*hwmon->attrs), GFP_KERNEL); in efx_mcdi_mon_probe()
354 if (!hwmon->attrs) { in efx_mcdi_mon_probe()
358 hwmon->group.attrs = kcalloc(n_attrs + 1, sizeof(struct attribute *), in efx_mcdi_mon_probe()
360 if (!hwmon->group.attrs) { in efx_mcdi_mon_probe()
504 hwmon->groups[0] = &hwmon->group; in efx_mcdi_mon_probe()
505 hwmon->device = hwmon_device_register_with_groups(&efx->pci_dev->dev, in efx_mcdi_mon_probe()
507 hwmon->groups); in efx_mcdi_mon_probe()
508 if (IS_ERR(hwmon->device)) { in efx_mcdi_mon_probe()
509 rc = PTR_ERR(hwmon->device); in efx_mcdi_mon_probe()
522 struct efx_mcdi_mon *hwmon = efx_mcdi_mon(efx); in efx_mcdi_mon_remove() local
524 if (hwmon->device) in efx_mcdi_mon_remove()
525 hwmon_device_unregister(hwmon->device); in efx_mcdi_mon_remove()
526 kfree(hwmon->attrs); in efx_mcdi_mon_remove()
527 kfree(hwmon->group.attrs); in efx_mcdi_mon_remove()
528 efx_nic_free_buffer(efx, &hwmon->dma_buf); in efx_mcdi_mon_remove()