[你通常不会收到来自 krzk@xxxxxxxxxx 的电子邮件。请访问 https://aka.ms/LearnAboutSenderIdentification,以了解这一点为什么很重要;]
On 03/07/2023 11:04, Yangtao Li wrote:
There are more than 700 calls to the devm_request_threaded_irq method.
Most drivers only request one interrupt resource, and these error
messages are basically the same. If error messages are printed
everywhere, more than 1000 lines of code can be saved by removing the
msg in the driver.
...
+int devm_request_threaded_irq_emsg(struct device *dev, unsigned int irq,It is open-coding dev_err_probe(). Just use dev_err_probe instead.
+ irq_handler_t handler, irq_handler_t thread_fn,
+ unsigned long irqflags, const char *devname,
+ void *dev_id, const char *emsg)
+{
+ int rc;
+
+ rc = devm_request_threaded_irq(dev, irq, handler, NULL, irqflags,
+ devname, dev_id);
+ if (rc && rc != -EPROBE_DEFER) {
+ dev_err(dev, "Failed to request %sinterrupt %u %s %s: %pe\n",
+ thread_fn ? "threaded " : "", irq, devname ? : dev_name(dev),
+ emsg ? : "", ERR_PTR(rc));
Best regards,
Krzysztof