search for: fan_get

Displaying 20 results from an estimated 45 matches for "fan_get".

2016 Feb 20
0
[PATCH v4 5/6] hwmon: don't require therm to be valid to get any data
...mon_temp_attrgroup); - if (ret) - goto error; - } - - /* if the card has a pwm fan */ - /*XXX: incorrect, need better detection for this, some boards have - * the gpio entries for pwm fan control even when there's no - * actual fan connected to it... therm table? */ - if (therm->fan_get && therm->fan_get(therm) >= 0) { - ret = sysfs_create_group(&hwmon_dev->kobj, - &hwmon_pwm_fan_attrgroup); - if (ret) - goto error; + if (therm && therm->attr_get && therm->attr_set) { + /* if the card has a working thermal sensor */ + if (n...
2018 Apr 22
0
[PATCH] drm/nouveau: fix temp/pwm visibility, skip hwmon when no sensors exist
...itch (attr) { @@ -351,8 +351,8 @@ nouveau_pwm_is_visible(const void *data, u32 attr, int channel) struct nouveau_drm *drm = nouveau_drm((struct drm_device *)data); struct nvkm_therm *therm = nvxx_therm(&drm->client.device); - if (therm && therm->attr_get && therm->fan_get && - therm->fan_get(therm) < 0) + if (!therm || !therm->attr_get || !therm->fan_get || + therm->fan_get(therm) < 0) return 0; switch (attr) { @@ -707,13 +707,20 @@ nouveau_hwmon_init(struct drm_device *dev) { #if defined(CONFIG_HWMON) || (defined(MODULE) &a...
2017 Apr 13
2
[PATCH 1/4] nouveau_hwmon: migrate to hwmon_device_register_with_info
...turn 0; + } +} + +static umode_t +nouveau_pwm_is_visible(const void *data, u32 attr, int channel) +{ + struct nouveau_drm *drm = nouveau_drm((struct drm_device *)data); + struct nvkm_therm *therm = nvxx_therm(&drm->client.device); + + if (therm && therm->attr_get) + if (therm->fan_get && therm->fan_get(therm) < 0) + return 0; + + switch (attr) { + case hwmon_pwm_enable: + case hwmon_pwm_input: + return 0644; + default: + return 0; + } +} + +static umode_t +nouveau_input_is_visible(const void *data, u32 attr, int channel) +{ + struct nouveau_drm *drm = nouveau_d...
2017 Sep 15
0
[RFC PATCH 02/29] hwmon: properly check for errors
...u_pwm_read(struct device *dev, u32 attr, int channel, long *val) struct drm_device *drm_dev = dev_get_drvdata(dev); struct nouveau_drm *drm = nouveau_drm(drm_dev); struct nvkm_therm *therm = nvxx_therm(&drm->client.device); + int ret; if (!therm || !therm->attr_get || !therm->fan_get) return -EOPNOTSUPP; switch (attr) { case hwmon_pwm_enable: - *val = therm->attr_get(therm, NVKM_THERM_ATTR_FAN_MODE); + ret = therm->attr_get(therm, NVKM_THERM_ATTR_FAN_MODE); break; case hwmon_pwm_input: - *val = therm->fan_get(therm); + ret = therm->fan_get(therm);...
2017 Apr 18
2
[PATCH v2 2/5] nouveau_hwmon: Add nouveau_hwmon_ops structure with .is_visible/.read_string
...channel) > +{ > + struct nouveau_drm *drm = nouveau_drm((struct drm_device *)data); > + struct nvkm_therm *therm = nvxx_therm(&drm->client.device); > + > + if (therm && > + therm->attr_get && > + therm->fan_get && > + therm->fan_get(therm) < 0) > + return 0; > + > + switch (attr) { > + case hwmon_pwm_enable: > + case hwmon_pwm_input: > + return 0644; > + default: > + return 0; > +...
2017 Apr 11
2
[PATCH 1/1] nouveau_hwmon: migrate to hwmon_device_register_with_info
...*d, struct device_attribute *a, char *buf) +static int +nouveau_hwmon_get_pwm1(struct nouveau_drm *drm) { - struct drm_device *dev = dev_get_drvdata(d); - struct nouveau_drm *drm = nouveau_drm(dev); struct nvkm_therm *therm = nvxx_therm(&drm->client.device); - int ret; - ret = therm->fan_get(therm); - if (ret < 0) - return ret; - - return sprintf(buf, "%i\n", ret); + return therm->fan_get(therm); } -static ssize_t -nouveau_hwmon_set_pwm1(struct device *d, struct device_attribute *a, - const char *buf, size_t count) +static int +nouveau_hwmon_set_pwm1(struct...
2017 Apr 17
9
[PATCH v2 0/5] replace hwmon_device_register for hwmon_device_register_with_info
Hi! This patchseries replaces the deprecated hwmon_device_register function with the new one hwmon_device_register_with_info. It also does some cleanup. Here is the list of patches and what they do: 1/ Adds config structures for all sensors and their possible settings. This patch and the next one are just preparing the code for what it comes. 2/ Now everything goes through
2017 May 02
1
[PATCH v5 2/5] nouveau_hwmon: Add nouveau_hwmon_ops structure with .is_visible/.read_string
...m_is_visible(const void *data, u32 attr, int channel) > +{ > + struct nouveau_drm *drm = nouveau_drm((struct drm_device *)data); > + struct nvkm_therm *therm = nvxx_therm(&drm->client.device); > + > + if (therm && > + therm->attr_get && > + therm->fan_get && > + therm->fan_get(therm) < 0) > + return 0; Same, please fold as much as you can in 80 characters ;) > + > + switch (attr) { > + case hwmon_pwm_enable: > + case hwmon_pwm_input: > + return 0644; > + default: > + return 0; > + } > +} > + &g...
2017 Apr 22
6
[PATCH v4 0/5] replace hwmon_device_register for hwmon_device_register_with_info
Kbuild sent me an e-mail due to a fixup I introduced in v3. It complains due to an incompatible pointer type and it doesn't build. This version reverts it. Versions: v1 -> v2: * Keep temp attrs as read only v2 -> v3: * Code fix-ups: struct and string as const and add return within switch due to fallthrough * Add Signed-off-by to all commits v3 -> v4:
2017 Apr 26
9
[PATCH v5 0/5] replace hwmon_device_register for hwmon_device_register_with_info
This v5 drops a check for attr_set. Versions: v1 -> v2: * Keep temp attrs as read only v2 -> v3: * Code fix-ups: struct and string as const and add return within switch due to fallthrough * Add Signed-off-by to all commits v3 -> v4: * Rever const to struct attribute. Kbuild complains. v4 -> v5: * Drops a check for attr_set in
2017 Apr 12
0
[PATCH 1/1] nouveau_hwmon: migrate to hwmon_device_register_with_info
..._hwmon_get_pwm1(struct nouveau_drm *drm) > { > - struct drm_device *dev = dev_get_drvdata(d); > - struct nouveau_drm *drm = nouveau_drm(dev); > struct nvkm_therm *therm = nvxx_therm(&drm->client.device); > - int ret; > > - ret = therm->fan_get(therm); > - if (ret < 0) > - return ret; > - > - return sprintf(buf, "%i\n", ret); > + return therm->fan_get(therm); > } > > -static ssize_t > -nouveau_hwmon_set_pwm1(struct device *d, struct device_attribute *a, > -...
2017 Sep 02
3
[PATCH 0/3] Several hwmon fixes
We should simply return errors while the GPU is turned off, because the sensors aren't accessable and setting any kind of value doesn't make any sense. Fixes sensors values reported by "sensors" Before: nouveau-pci-0100 Adapter: PCI adapter GPU core: +0.60 V (min = +0.60 V, max = +1.20 V) temp1: -0.0°C (high = +95.0°C, hyst = +3.0°C) (crit
2017 Apr 13
0
[PATCH 3/4] nouveau_hwmon: migrate to hwmon_device_register_with_info
...hwmon = kzalloc(sizeof(*hwmon), GFP_KERNEL); if (!hwmon) return -ENOMEM; hwmon->dev = dev; + if (therm && therm->attr_get && therm->attr_set) { + if (nvkm_therm_temp_get(therm) >= 0) + special_groups[i++] = &temp1_auto_point_sensor_group; + if (therm->fan_get && therm->fan_get(therm) >= 0) + special_groups[i++] = &pwm_fan_sensor_group; + } + + special_groups[i] = 0; hwmon_dev = hwmon_device_register_with_info(dev->dev, "nouveau", dev, - &nouveau_chip_info, NULL); + &nouveau_chip_info, special_groups);...
2017 Apr 17
0
[PATCH v2 4/5] nouveau_hwmon: Add support for auto_point attributes
...hwmon = kzalloc(sizeof(*hwmon), GFP_KERNEL); if (!hwmon) return -ENOMEM; hwmon->dev = dev; + if (therm && therm->attr_get && therm->attr_set) { + if (nvkm_therm_temp_get(therm) >= 0) + special_groups[i++] = &temp1_auto_point_sensor_group; + if (therm->fan_get && therm->fan_get(therm) >= 0) + special_groups[i++] = &pwm_fan_sensor_group; + } + + special_groups[i] = 0; hwmon_dev = hwmon_device_register_with_info(dev->dev, "nouveau", dev, - &nouveau_chip_info, NULL); + &nouveau_chip_info, special_groups);...
2017 Apr 21
0
[PATCH v3 4/5] nouveau_hwmon: Add support for auto_point attributes
...hwmon = kzalloc(sizeof(*hwmon), GFP_KERNEL); if (!hwmon) return -ENOMEM; hwmon->dev = dev; + if (therm && therm->attr_get && therm->attr_set) { + if (nvkm_therm_temp_get(therm) >= 0) + special_groups[i++] = &temp1_auto_point_sensor_group; + if (therm->fan_get && therm->fan_get(therm) >= 0) + special_groups[i++] = &pwm_fan_sensor_group; + } + + special_groups[i] = 0; hwmon_dev = hwmon_device_register_with_info(dev->dev, "nouveau", dev, - &nouveau_chip_info, NULL); + &nouveau_chip_info, special_groups);...
2017 Apr 26
0
[PATCH v5 4/5] nouveau_hwmon: Add support for auto_point attributes
...hwmon = kzalloc(sizeof(*hwmon), GFP_KERNEL); if (!hwmon) return -ENOMEM; hwmon->dev = dev; + if (therm && therm->attr_get && therm->attr_set) { + if (nvkm_therm_temp_get(therm) >= 0) + special_groups[i++] = &temp1_auto_point_sensor_group; + if (therm->fan_get && therm->fan_get(therm) >= 0) + special_groups[i++] = &pwm_fan_sensor_group; + } + + special_groups[i] = 0; hwmon_dev = hwmon_device_register_with_info(dev->dev, "nouveau", dev, - &nouveau_chip_info, NULL); + &nouveau_chip_info, special_groups);...
2017 May 18
7
[PATCH v8 0/5] replace hwmon_device_register for hwmon_device_register_with_info
This v8 fixes removes dummy functions which only had a return and moves the code into the switch statements. Versions: v1 -> v2: * Keep temp attrs as read only v2 -> v3: * Code fix-ups: struct and string as const and add return within switch due to fallthrough * Add Signed-off-by to all commits v3 -> v4: * Rever const to struct attribute. Kbuild
2017 May 16
7
[PATCH v7 0/5] replace hwmon_device_register for hwmon_device_register_with_info
This v7 fixes removes dummy functions which only had a return and moves the code into the switch statements. Versions: v1 -> v2: * Keep temp attrs as read only v2 -> v3: * Code fix-ups: struct and string as const and add return within switch due to fallthrough * Add Signed-off-by to all commits v3 -> v4: * Rever const to struct attribute. Kbuild
2017 May 08
5
[PATCH v6 0/5] replace hwmon_device_register for hwmon_device_register_with_info
This v6 fixes some comments pointed out by Martin Peres. Versions: v1 -> v2: * Keep temp attrs as read only v2 -> v3: * Code fix-ups: struct and string as const and add return within switch due to fallthrough * Add Signed-off-by to all commits v3 -> v4: * Rever const to struct attribute. Kbuild complains. v4 -> v5: * Drops a check for
2017 Apr 13
0
[PATCH 1/4] nouveau_hwmon: migrate to hwmon_device_register_with_info
...t void *data, u32 attr, int channel) > +{ > + struct nouveau_drm *drm = nouveau_drm((struct drm_device *)data); > + struct nvkm_therm *therm = nvxx_therm(&drm->client.device); > + > + if (therm && therm->attr_get) > + if (therm->fan_get && therm->fan_get(therm) < 0) > + return 0; merge the ifs > + > + switch (attr) { > + case hwmon_pwm_enable: > + case hwmon_pwm_input: > + return 0644; > + default: > + return 0; > +...