From: kernel test robot <lkp@intel.com>
To: Caleb Connolly <caleb.connolly@linaro.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Vincent Huang <vincent.huang@tw.synaptics.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
methanal <baclofen@tuta.io>,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
phone-devel@vger.kernel.org,
~postmarketos/upstreaming@lists.sr.ht,
Caleb Connolly <caleb.connolly@linaro.org>
Subject: Re: [PATCH v2 7/7] Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes
Date: Thu, 19 Oct 2023 06:17:17 +0800 [thread overview]
Message-ID: <202310190640.pxJQCbWc-lkp@intel.com> (raw)
In-Reply-To: <20230929-caleb-rmi4-quirks-v2-7-b227ac498d88@linaro.org>
Hi Caleb,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.6-rc6 next-20231018]
[cannot apply to dtor-input/next dtor-input/for-linus]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Caleb-Connolly/Input-synaptics-rmi4-handle-duplicate-unknown-PDT-entries/20231017-132844
base: linus/master
patch link: https://lore.kernel.org/r/20230929-caleb-rmi4-quirks-v2-7-b227ac498d88%40linaro.org
patch subject: [PATCH v2 7/7] Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20231019/202310190640.pxJQCbWc-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231019/202310190640.pxJQCbWc-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310190640.pxJQCbWc-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/input/rmi4/rmi_driver.c:1223:32: error: incompatible pointer types passing 'struct rmi_device *' to parameter of type 'struct device *' [-Werror,-Wincompatible-pointer-types]
retval = rmi_driver_of_probe(rmi_dev, pdata);
^~~~~~~
drivers/input/rmi4/rmi_driver.c:1101:54: note: passing argument to parameter 'dev' here
static inline int rmi_driver_of_probe(struct device *dev,
^
1 error generated.
vim +1223 drivers/input/rmi4/rmi_driver.c
1199
1200 static int rmi_driver_probe(struct device *dev)
1201 {
1202 struct rmi_driver *rmi_driver;
1203 struct rmi_driver_data *data;
1204 struct rmi_device_platform_data *pdata;
1205 struct rmi_device *rmi_dev;
1206 int retval;
1207
1208 rmi_dbg(RMI_DEBUG_CORE, dev, "%s: Starting probe.\n",
1209 __func__);
1210
1211 if (!rmi_is_physical_device(dev)) {
1212 rmi_dbg(RMI_DEBUG_CORE, dev, "Not a physical device.\n");
1213 return -ENODEV;
1214 }
1215
1216 rmi_dev = to_rmi_device(dev);
1217 rmi_driver = to_rmi_driver(dev->driver);
1218 rmi_dev->driver = rmi_driver;
1219
1220 pdata = rmi_get_platform_data(rmi_dev);
1221
1222 if (rmi_dev->xport->dev->of_node) {
> 1223 retval = rmi_driver_of_probe(rmi_dev, pdata);
1224 if (retval)
1225 return retval;
1226 }
1227
1228 data = devm_kzalloc(dev, sizeof(struct rmi_driver_data), GFP_KERNEL);
1229 if (!data)
1230 return -ENOMEM;
1231
1232 INIT_LIST_HEAD(&data->function_list);
1233 data->rmi_dev = rmi_dev;
1234 dev_set_drvdata(&rmi_dev->dev, data);
1235
1236 /*
1237 * Right before a warm boot, the sensor might be in some unusual state,
1238 * such as F54 diagnostics, or F34 bootloader mode after a firmware
1239 * or configuration update. In order to clear the sensor to a known
1240 * state and/or apply any updates, we issue a initial reset to clear any
1241 * previous settings and force it into normal operation.
1242 *
1243 * We have to do this before actually building the PDT because
1244 * the reflash updates (if any) might cause various registers to move
1245 * around.
1246 *
1247 * For a number of reasons, this initial reset may fail to return
1248 * within the specified time, but we'll still be able to bring up the
1249 * driver normally after that failure. This occurs most commonly in
1250 * a cold boot situation (where then firmware takes longer to come up
1251 * than from a warm boot) and the reset_delay_ms in the platform data
1252 * has been set too short to accommodate that. Since the sensor will
1253 * eventually come up and be usable, we don't want to just fail here
1254 * and leave the customer's device unusable. So we warn them, and
1255 * continue processing.
1256 */
1257 retval = rmi_scan_pdt(rmi_dev, NULL, rmi_initial_reset);
1258 if (retval < 0)
1259 dev_warn(dev, "RMI initial reset failed! Continuing in spite of this.\n");
1260
1261 retval = rmi_read(rmi_dev, PDT_PROPERTIES_LOCATION, &data->pdt_props);
1262 if (retval < 0) {
1263 /*
1264 * we'll print out a warning and continue since
1265 * failure to get the PDT properties is not a cause to fail
1266 */
1267 dev_warn(dev, "Could not read PDT properties from %#06x (code %d). Assuming 0x00.\n",
1268 PDT_PROPERTIES_LOCATION, retval);
1269 }
1270
1271 mutex_init(&data->irq_mutex);
1272 mutex_init(&data->enabled_mutex);
1273
1274 retval = rmi_probe_interrupts(data);
1275 if (retval)
1276 goto err;
1277
1278 if (rmi_dev->xport->input) {
1279 /*
1280 * The transport driver already has an input device.
1281 * In some cases it is preferable to reuse the transport
1282 * devices input device instead of creating a new one here.
1283 * One example is some HID touchpads report "pass-through"
1284 * button events are not reported by rmi registers.
1285 */
1286 data->input = rmi_dev->xport->input;
1287 } else {
1288 data->input = devm_input_allocate_device(dev);
1289 if (!data->input) {
1290 dev_err(dev, "%s: Failed to allocate input device.\n",
1291 __func__);
1292 retval = -ENOMEM;
1293 goto err;
1294 }
1295 rmi_driver_set_input_params(rmi_dev, data->input);
1296 data->input->phys = devm_kasprintf(dev, GFP_KERNEL,
1297 "%s/input0", dev_name(dev));
1298 }
1299
1300 retval = rmi_init_functions(data);
1301 if (retval)
1302 goto err;
1303
1304 retval = rmi_f34_create_sysfs(rmi_dev);
1305 if (retval)
1306 goto err;
1307
1308 if (data->input) {
1309 rmi_driver_set_input_name(rmi_dev, data->input);
1310 if (!rmi_dev->xport->input) {
1311 retval = input_register_device(data->input);
1312 if (retval) {
1313 dev_err(dev, "%s: Failed to register input device.\n",
1314 __func__);
1315 goto err_destroy_functions;
1316 }
1317 }
1318 }
1319
1320 retval = rmi_irq_init(rmi_dev);
1321 if (retval < 0)
1322 goto err_destroy_functions;
1323
1324 if (data->f01_container->dev.driver) {
1325 /* Driver already bound, so enable ATTN now. */
1326 retval = rmi_enable_sensor(rmi_dev);
1327 if (retval)
1328 goto err_disable_irq;
1329 }
1330
1331 return 0;
1332
1333 err_disable_irq:
1334 rmi_disable_irq(rmi_dev, false);
1335 err_destroy_functions:
1336 rmi_free_function_list(rmi_dev);
1337 err:
1338 return retval;
1339 }
1340
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2023-10-18 22:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-15 21:11 [PATCH v2 0/7] Input: synaptics-rmi4: add quirks for third party touchscreen controllers Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 1/7] dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc Caleb Connolly
2023-10-16 5:31 ` Krzysztof Kozlowski
2023-10-16 11:06 ` Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 2/7] Input: synaptics-rmi4 - handle duplicate/unknown PDT entries Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 3/7] Input: synaptics-rmi4 - f12: use hardcoded values for aftermarket touch ICs Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 4/7] Input: synaptics-rmi4 - f55: handle zero electrode count Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 5/7] Input: synaptics-rmi4 - don't do unaligned reads in IRQ context Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 6/7] Input: synaptics-rmi4 - read product ID on aftermarket touch ICs Caleb Connolly
2023-10-15 21:11 ` [PATCH v2 7/7] Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes Caleb Connolly
2023-10-18 18:14 ` kernel test robot
2023-10-18 22:17 ` kernel 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=202310190640.pxJQCbWc-lkp@intel.com \
--to=lkp@intel.com \
--cc=baclofen@tuta.io \
--cc=caleb.connolly@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=phone-devel@vger.kernel.org \
--cc=vincent.huang@tw.synaptics.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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 read-only IMAP folder(s) and NNTP newsgroup(s).