[PATCH v8 0/5] driver core: add probe error check helper

Andrzej Hajda a.hajda at samsung.com
Fri Jul 10 11:30:13 EDT 2020


Hi All,

Thanks for comments.

Changes since v7:
- improved commit message
- added R-Bs

Changes since v6:
- removed leftovers from old naming scheme in commit descritions,
- added R-Bs.

Changes since v5:
- removed patch adding macro, dev_err_probe(dev, PTR_ERR(ptr), ...) should be used instead,
- added dev_dbg logging in case of -EPROBE_DEFER,
- renamed functions and vars according to comments,
- extended docs,
- cosmetics.

Original message (with small adjustments):

Recently I took some time to re-check error handling in drivers probe code,
and I have noticed that number of incorrect resource acquisition error handling
increased and there are no other propositions which can cure the situation.

So I have decided to resend my old proposition of probe_err helper which should
simplify resource acquisition error handling, it also extend it with adding defer
probe reason to devices_deferred debugfs property, which should improve debugging
experience for developers/testers.

I have also added two patches showing usage and benefits of the helper.

My dirty/ad-hoc cocci scripts shows that this helper can be used in at least 2700 places
saving about 3500 lines of code.

Regards
Andrzej


Andrzej Hajda (5):
  driver core: add device probe log helper
  driver core: add deferring probe reason to devices_deferred property
  drm/bridge/sii8620: fix resource acquisition error handling
  drm/bridge: lvds-codec: simplify error handling
  coccinelle: add script looking for cases where probe__err can be used

 drivers/base/base.h                  |   3 +
 drivers/base/core.c                  |  46 +++++
 drivers/base/dd.c                    |  23 ++-
 drivers/gpu/drm/bridge/lvds-codec.c  |  10 +-
 drivers/gpu/drm/bridge/sil-sii8620.c |  21 +--
 include/linux/device.h               |   3 +
 probe_err.cocci                      | 247 +++++++++++++++++++++++++++
 7 files changed, 333 insertions(+), 20 deletions(-)
 create mode 100644 probe_err.cocci

-- 
2.17.1




More information about the linux-arm-kernel mailing list