From: kbuild test robot <lkp@intel.com>
To: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Jonathan Corbet <corbet@lwn.net>
Cc: kbuild-all@lists.01.org,
Serge Semin <Sergey.Semin@baikalelectronics.ru>,
Maxim Kaurkin <maxim.kaurkin@baikalelectronics.ru>,
Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Arnd Bergmann <arnd@arndb.de>, Rob Herring <robh+dt@kernel.org>,
linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
linux-hwmon@vger.kernel.org
Subject: Re: [PATCH v3 3/3] hwmon: Add Baikal-T1 PVT sensor driver
Date: Thu, 28 May 2020 05:53:26 +0800 [thread overview]
Message-ID: <202005280509.TuwtrnYY%lkp@intel.com> (raw)
In-Reply-To: <20200526133823.20466-4-Sergey.Semin@baikalelectronics.ru>
[-- Attachment #1: Type: text/plain, Size: 7392 bytes --]
Hi Serge,
I love your patch! Yet something to improve:
[auto build test ERROR on v5.7-rc7]
[cannot apply to hwmon/hwmon-next next-20200526]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Serge-Semin/hwmon-Add-Baikal-T1-SoC-Process-Voltage-and-Temp-sensor-support/20200526-214218
base: 9cb1fd0efd195590b828b9b865421ad345a4a145
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
drivers/hwmon/bt1-pvt.c:65:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
65 | const static struct pvt_poly poly_temp_to_N = {
| ^~~~~
drivers/hwmon/bt1-pvt.c:76:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
76 | const static struct pvt_poly poly_N_to_temp = {
| ^~~~~
drivers/hwmon/bt1-pvt.c:97:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
97 | const static struct pvt_poly poly_volt_to_N = {
| ^~~~~
drivers/hwmon/bt1-pvt.c:105:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
105 | const static struct pvt_poly poly_N_to_volt = {
| ^~~~~
drivers/hwmon/bt1-pvt.c:795:5: warning: no previous prototype for 'pvt_hwmon_write' [-Wmissing-prototypes]
795 | int pvt_hwmon_write(struct device *dev, enum hwmon_sensor_types type,
| ^~~~~~~~~~~~~~~
drivers/hwmon/bt1-pvt.c: In function 'pvt_init_iface':
drivers/hwmon/bt1-pvt.c:1013:7: error: implicit declaration of function 'of_property_read_u32' [-Werror=implicit-function-declaration]
1013 | if (!of_property_read_u32(pvt->dev->of_node,
| ^~~~~~~~~~~~~~~~~~~~
drivers/hwmon/bt1-pvt.c: At top level:
>> drivers/hwmon/bt1-pvt.c:1138:34: error: array type has incomplete element type 'struct of_device_id'
1138 | static const struct of_device_id pvt_of_match[] = {
| ^~~~~~~~~~~~
>> drivers/hwmon/bt1-pvt.c:1139:4: error: field name not in record or union initializer
1139 | { .compatible = "baikal,bt1-pvt" },
| ^
drivers/hwmon/bt1-pvt.c:1139:4: note: (near initialization for 'pvt_of_match')
cc1: some warnings being treated as errors
vim +1138 drivers/hwmon/bt1-pvt.c
992
993 static void pvt_init_iface(struct pvt_hwmon *pvt)
994 {
995 unsigned int temp;
996 u32 trim;
997
998 /*
999 * Make sure all interrupts and controller are disabled so not to
1000 * accidentally have ISR executed before the driver data is fully
1001 * initialized. Clear the IRQ status as well.
1002 */
1003 pvt_update(pvt->regs + PVT_INTR_MASK, PVT_INTR_ALL, PVT_INTR_ALL);
1004 pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, 0);
1005 readl(pvt->regs + PVT_CLR_INTR);
1006 readl(pvt->regs + PVT_DATA);
1007
1008 /* Setup default sensor mode, timeout and temperature trim. */
1009 pvt_set_mode(pvt, pvt_info[pvt->sensor].mode);
1010 pvt_set_tout(pvt, PVT_TOUT_DEF);
1011
1012 trim = PVT_TRIM_DEF;
> 1013 if (!of_property_read_u32(pvt->dev->of_node,
1014 "baikal,pvt-temp-trim-millicelsius", &temp))
1015 trim = pvt_calc_trim(temp);
1016
1017 pvt_set_trim(pvt, trim);
1018 }
1019
1020 static int pvt_request_irq(struct pvt_hwmon *pvt)
1021 {
1022 struct platform_device *pdev = to_platform_device(pvt->dev);
1023 int ret;
1024
1025 pvt->irq = platform_get_irq(pdev, 0);
1026 if (pvt->irq < 0)
1027 return pvt->irq;
1028
1029 ret = devm_request_threaded_irq(pvt->dev, pvt->irq,
1030 pvt_hard_isr, pvt_soft_isr,
1031 #if defined(CONFIG_SENSORS_BT1_PVT_ALARMS)
1032 IRQF_SHARED | IRQF_TRIGGER_HIGH |
1033 IRQF_ONESHOT,
1034 #else
1035 IRQF_SHARED | IRQF_TRIGGER_HIGH,
1036 #endif
1037 "pvt", pvt);
1038 if (ret) {
1039 dev_err(pvt->dev, "Couldn't request PVT IRQ\n");
1040 return ret;
1041 }
1042
1043 return 0;
1044 }
1045
1046 static int pvt_create_hwmon(struct pvt_hwmon *pvt)
1047 {
1048 pvt->hwmon = devm_hwmon_device_register_with_info(pvt->dev, "pvt", pvt,
1049 &pvt_hwmon_info, pvt_hwmon_groups);
1050 if (IS_ERR(pvt->hwmon)) {
1051 dev_err(pvt->dev, "Couldn't create hwmon device\n");
1052 return PTR_ERR(pvt->hwmon);
1053 }
1054
1055 return 0;
1056 }
1057
1058 #if defined(CONFIG_SENSORS_BT1_PVT_ALARMS)
1059
1060 static void pvt_disable_iface(void *data)
1061 {
1062 struct pvt_hwmon *pvt = data;
1063
1064 mutex_lock(&pvt->iface_mtx);
1065 pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, 0);
1066 pvt_update(pvt->regs + PVT_INTR_MASK, PVT_INTR_DVALID,
1067 PVT_INTR_DVALID);
1068 mutex_unlock(&pvt->iface_mtx);
1069 }
1070
1071 static int pvt_enable_iface(struct pvt_hwmon *pvt)
1072 {
1073 int ret;
1074
1075 ret = devm_add_action(pvt->dev, pvt_disable_iface, pvt);
1076 if (ret) {
1077 dev_err(pvt->dev, "Can't add PVT disable interface action\n");
1078 return ret;
1079 }
1080
1081 /*
1082 * Enable sensors data conversion and IRQ. We need to lock the
1083 * interface mutex since hwmon has just been created and the
1084 * corresponding sysfs files are accessible from user-space,
1085 * which theoretically may cause races.
1086 */
1087 mutex_lock(&pvt->iface_mtx);
1088 pvt_update(pvt->regs + PVT_INTR_MASK, PVT_INTR_DVALID, 0);
1089 pvt_update(pvt->regs + PVT_CTRL, PVT_CTRL_EN, PVT_CTRL_EN);
1090 mutex_unlock(&pvt->iface_mtx);
1091
1092 return 0;
1093 }
1094
1095 #else /* !CONFIG_SENSORS_BT1_PVT_ALARMS */
1096
1097 static int pvt_enable_iface(struct pvt_hwmon *pvt)
1098 {
1099 return 0;
1100 }
1101
1102 #endif /* !CONFIG_SENSORS_BT1_PVT_ALARMS */
1103
1104 static int pvt_probe(struct platform_device *pdev)
1105 {
1106 struct pvt_hwmon *pvt;
1107 int ret;
1108
1109 pvt = pvt_create_data(pdev);
1110 if (IS_ERR(pvt))
1111 return PTR_ERR(pvt);
1112
1113 ret = pvt_request_regs(pvt);
1114 if (ret)
1115 return ret;
1116
1117 ret = pvt_request_clks(pvt);
1118 if (ret)
1119 return ret;
1120
1121 pvt_init_iface(pvt);
1122
1123 ret = pvt_request_irq(pvt);
1124 if (ret)
1125 return ret;
1126
1127 ret = pvt_create_hwmon(pvt);
1128 if (ret)
1129 return ret;
1130
1131 ret = pvt_enable_iface(pvt);
1132 if (ret)
1133 return ret;
1134
1135 return 0;
1136 }
1137
> 1138 static const struct of_device_id pvt_of_match[] = {
> 1139 { .compatible = "baikal,bt1-pvt" },
1140 { }
1141 };
1142 MODULE_DEVICE_TABLE(of, pvt_of_match);
1143
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 57741 bytes --]
prev parent reply other threads:[~2020-05-27 21:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-26 13:38 [PATCH v3 0/3] hwmon: Add Baikal-T1 SoC Process, Voltage and Temp sensor support Serge Semin
2020-05-26 13:38 ` [PATCH v3 1/3] dt-bindings: hwmon: Add Baikal-T1 PVT sensor binding Serge Semin
2020-05-26 13:38 ` [PATCH v3 2/3] hwmon: Add notification support Serge Semin
2020-05-26 13:38 ` [PATCH v3 3/3] hwmon: Add Baikal-T1 PVT sensor driver Serge Semin
2020-05-27 16:25 ` Guenter Roeck
2020-05-27 16:52 ` Serge Semin
2020-05-27 16:58 ` Guenter Roeck
2020-05-27 17:05 ` Serge Semin
2020-05-27 18:48 ` Guenter Roeck
2020-05-27 19:48 ` kbuild test robot
2020-05-27 21:53 ` kbuild test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202005280509.TuwtrnYY%lkp@intel.com \
--to=lkp@intel.com \
--cc=Alexey.Malahov@baikalelectronics.ru \
--cc=Sergey.Semin@baikalelectronics.ru \
--cc=arnd@arndb.de \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=jdelvare@suse.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=maxim.kaurkin@baikalelectronics.ru \
--cc=robh+dt@kernel.org \
--cc=tsbogend@alpha.franken.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).