hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/hwmon/aspeed-pwm-tacho.c
....@@ -1,9 +1,6 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Copyright (c) 2016 Google, Inc
3
- *
4
- * This program is free software; you can redistribute it and/or modify
5
- * it under the terms of the GNU General Public License version 2 or later as
6
- * published by the Free Software Foundation.
74 */
85
96 #include <linux/clk.h>
....@@ -570,8 +567,8 @@
570567 return (clk_source * 60) / (2 * raw_data * tach_div);
571568 }
572569
573
-static ssize_t set_pwm(struct device *dev, struct device_attribute *attr,
574
- const char *buf, size_t count)
570
+static ssize_t pwm_store(struct device *dev, struct device_attribute *attr,
571
+ const char *buf, size_t count)
575572 {
576573 struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr);
577574 int index = sensor_attr->index;
....@@ -595,7 +592,7 @@
595592 return count;
596593 }
597594
598
-static ssize_t show_pwm(struct device *dev, struct device_attribute *attr,
595
+static ssize_t pwm_show(struct device *dev, struct device_attribute *attr,
599596 char *buf)
600597 {
601598 struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr);
....@@ -605,7 +602,7 @@
605602 return sprintf(buf, "%u\n", priv->pwm_port_fan_ctrl[index]);
606603 }
607604
608
-static ssize_t show_rpm(struct device *dev, struct device_attribute *attr,
605
+static ssize_t rpm_show(struct device *dev, struct device_attribute *attr,
609606 char *buf)
610607 {
611608 struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr);
....@@ -642,22 +639,14 @@
642639 return a->mode;
643640 }
644641
645
-static SENSOR_DEVICE_ATTR(pwm1, 0644,
646
- show_pwm, set_pwm, 0);
647
-static SENSOR_DEVICE_ATTR(pwm2, 0644,
648
- show_pwm, set_pwm, 1);
649
-static SENSOR_DEVICE_ATTR(pwm3, 0644,
650
- show_pwm, set_pwm, 2);
651
-static SENSOR_DEVICE_ATTR(pwm4, 0644,
652
- show_pwm, set_pwm, 3);
653
-static SENSOR_DEVICE_ATTR(pwm5, 0644,
654
- show_pwm, set_pwm, 4);
655
-static SENSOR_DEVICE_ATTR(pwm6, 0644,
656
- show_pwm, set_pwm, 5);
657
-static SENSOR_DEVICE_ATTR(pwm7, 0644,
658
- show_pwm, set_pwm, 6);
659
-static SENSOR_DEVICE_ATTR(pwm8, 0644,
660
- show_pwm, set_pwm, 7);
642
+static SENSOR_DEVICE_ATTR_RW(pwm1, pwm, 0);
643
+static SENSOR_DEVICE_ATTR_RW(pwm2, pwm, 1);
644
+static SENSOR_DEVICE_ATTR_RW(pwm3, pwm, 2);
645
+static SENSOR_DEVICE_ATTR_RW(pwm4, pwm, 3);
646
+static SENSOR_DEVICE_ATTR_RW(pwm5, pwm, 4);
647
+static SENSOR_DEVICE_ATTR_RW(pwm6, pwm, 5);
648
+static SENSOR_DEVICE_ATTR_RW(pwm7, pwm, 6);
649
+static SENSOR_DEVICE_ATTR_RW(pwm8, pwm, 7);
661650 static struct attribute *pwm_dev_attrs[] = {
662651 &sensor_dev_attr_pwm1.dev_attr.attr,
663652 &sensor_dev_attr_pwm2.dev_attr.attr,
....@@ -675,38 +664,22 @@
675664 .is_visible = pwm_is_visible,
676665 };
677666
678
-static SENSOR_DEVICE_ATTR(fan1_input, 0444,
679
- show_rpm, NULL, 0);
680
-static SENSOR_DEVICE_ATTR(fan2_input, 0444,
681
- show_rpm, NULL, 1);
682
-static SENSOR_DEVICE_ATTR(fan3_input, 0444,
683
- show_rpm, NULL, 2);
684
-static SENSOR_DEVICE_ATTR(fan4_input, 0444,
685
- show_rpm, NULL, 3);
686
-static SENSOR_DEVICE_ATTR(fan5_input, 0444,
687
- show_rpm, NULL, 4);
688
-static SENSOR_DEVICE_ATTR(fan6_input, 0444,
689
- show_rpm, NULL, 5);
690
-static SENSOR_DEVICE_ATTR(fan7_input, 0444,
691
- show_rpm, NULL, 6);
692
-static SENSOR_DEVICE_ATTR(fan8_input, 0444,
693
- show_rpm, NULL, 7);
694
-static SENSOR_DEVICE_ATTR(fan9_input, 0444,
695
- show_rpm, NULL, 8);
696
-static SENSOR_DEVICE_ATTR(fan10_input, 0444,
697
- show_rpm, NULL, 9);
698
-static SENSOR_DEVICE_ATTR(fan11_input, 0444,
699
- show_rpm, NULL, 10);
700
-static SENSOR_DEVICE_ATTR(fan12_input, 0444,
701
- show_rpm, NULL, 11);
702
-static SENSOR_DEVICE_ATTR(fan13_input, 0444,
703
- show_rpm, NULL, 12);
704
-static SENSOR_DEVICE_ATTR(fan14_input, 0444,
705
- show_rpm, NULL, 13);
706
-static SENSOR_DEVICE_ATTR(fan15_input, 0444,
707
- show_rpm, NULL, 14);
708
-static SENSOR_DEVICE_ATTR(fan16_input, 0444,
709
- show_rpm, NULL, 15);
667
+static SENSOR_DEVICE_ATTR_RO(fan1_input, rpm, 0);
668
+static SENSOR_DEVICE_ATTR_RO(fan2_input, rpm, 1);
669
+static SENSOR_DEVICE_ATTR_RO(fan3_input, rpm, 2);
670
+static SENSOR_DEVICE_ATTR_RO(fan4_input, rpm, 3);
671
+static SENSOR_DEVICE_ATTR_RO(fan5_input, rpm, 4);
672
+static SENSOR_DEVICE_ATTR_RO(fan6_input, rpm, 5);
673
+static SENSOR_DEVICE_ATTR_RO(fan7_input, rpm, 6);
674
+static SENSOR_DEVICE_ATTR_RO(fan8_input, rpm, 7);
675
+static SENSOR_DEVICE_ATTR_RO(fan9_input, rpm, 8);
676
+static SENSOR_DEVICE_ATTR_RO(fan10_input, rpm, 9);
677
+static SENSOR_DEVICE_ATTR_RO(fan11_input, rpm, 10);
678
+static SENSOR_DEVICE_ATTR_RO(fan12_input, rpm, 11);
679
+static SENSOR_DEVICE_ATTR_RO(fan13_input, rpm, 12);
680
+static SENSOR_DEVICE_ATTR_RO(fan14_input, rpm, 13);
681
+static SENSOR_DEVICE_ATTR_RO(fan15_input, rpm, 14);
682
+static SENSOR_DEVICE_ATTR_RO(fan16_input, rpm, 15);
710683 static struct attribute *fan_dev_attrs[] = {
711684 &sensor_dev_attr_fan1_input.dev_attr.attr,
712685 &sensor_dev_attr_fan2_input.dev_attr.attr,
....@@ -852,12 +825,10 @@
852825 dev_err(dev, "Property 'cooling-levels' cannot be read.\n");
853826 return ret;
854827 }
855
- snprintf(cdev->name, MAX_CDEV_NAME_LEN, "%s%d", child->name, pwm_port);
828
+ snprintf(cdev->name, MAX_CDEV_NAME_LEN, "%pOFn%d", child, pwm_port);
856829
857
- cdev->tcdev = thermal_of_cooling_device_register(child,
858
- cdev->name,
859
- cdev,
860
- &aspeed_pwm_cool_ops);
830
+ cdev->tcdev = devm_thermal_of_cooling_device_register(dev, child,
831
+ cdev->name, cdev, &aspeed_pwm_cool_ops);
861832 if (IS_ERR(cdev->tcdev))
862833 return PTR_ERR(cdev->tcdev);
863834
....@@ -922,17 +893,12 @@
922893 struct device_node *np, *child;
923894 struct aspeed_pwm_tacho_data *priv;
924895 void __iomem *regs;
925
- struct resource *res;
926896 struct device *hwmon;
927897 struct clk *clk;
928898 int ret;
929899
930900 np = dev->of_node;
931
-
932
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
933
- if (!res)
934
- return -ENOENT;
935
- regs = devm_ioremap_resource(dev, res);
901
+ regs = devm_platform_ioremap_resource(pdev, 0);
936902 if (IS_ERR(regs))
937903 return PTR_ERR(regs);
938904 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);