Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / Atom feed
From: Andrzej Hajda <a.hajda@samsung.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Jonas Karlman <jonas@kwiboo.se>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	linux-kernel@vger.kernel.org,
	"open list:DRM DRIVERS" <dri-devel@lists.freedesktop.org>,
	Russell King - ARM Linux <linux@armlinux.org.uk>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Andrzej Hajda <a.hajda@samsung.com>,
	andy.shevchenko@gmail.com, Mark Brown <broonie@kernel.org>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	linux-arm-kernel@lists.infradead.org,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: [PATCH v6 0/4] driver core: add probe error check helper
Date: Fri, 26 Jun 2020 12:00:59 +0200
Message-ID: <20200626100103.18879-1-a.hajda@samsung.com> (raw)
In-Reply-To: <CGME20200626100108eucas1p2c6d68625f3755a467d7316dd27704f7c@eucas1p2.samsung.com>

Hi All,

Thanks for multiple comments.

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 (4):
  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

 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 ++
 6 files changed, 86 insertions(+), 20 deletions(-)

-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

       reply index

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200626100108eucas1p2c6d68625f3755a467d7316dd27704f7c@eucas1p2.samsung.com>
2020-06-26 10:00 ` Andrzej Hajda [this message]
     [not found]   ` <CGME20200626100109eucas1p25331652d017cd17d21c0ae60541d1f73@eucas1p2.samsung.com>
2020-06-26 10:01     ` [PATCH v6 1/4] driver core: add device probe log helper Andrzej Hajda
2020-06-26 15:41       ` Rafael J. Wysocki
2020-06-26 16:22       ` Sam Ravnborg
2020-07-01  9:29       ` Grygorii Strashko
     [not found]   ` <CGME20200626100110eucas1p2c5b91f2c98a5c6e5739f5af3207d192e@eucas1p2.samsung.com>
2020-06-26 10:01     ` [PATCH v6 2/4] driver core: add deferring probe reason to devices_deferred property Andrzej Hajda
2020-06-26 15:43       ` Rafael J. Wysocki
2020-06-26 17:11       ` Grygorii Strashko
2020-06-29 11:28         ` Andrzej Hajda
2020-06-30  8:59           ` Grygorii Strashko
2020-06-30 15:41             ` Andrzej Hajda
2020-06-30 18:00               ` Dmitry Torokhov
2020-07-02  6:57                 ` Andrzej Hajda
2020-07-07  4:14                   ` Dmitry Torokhov
2020-07-10  7:42                     ` Andrzej Hajda
2020-07-10 11:07                       ` Mark Brown
     [not found]   ` <CGME20200626100110eucas1p24327c924dada0c2e86ecf0ab5b5af571@eucas1p2.samsung.com>
2020-06-26 10:01     ` [PATCH v6 3/4] drm/bridge/sii8620: fix resource acquisition error handling Andrzej Hajda
2020-06-29  8:33       ` Neil Armstrong
     [not found]   ` <CGME20200626100111eucas1p18e175e6c77af483bd80fb90c171b05db@eucas1p1.samsung.com>
2020-06-26 10:01     ` [PATCH v6 4/4] drm/bridge: lvds-codec: simplify " Andrzej Hajda
2020-06-29  8:33       ` Neil Armstrong

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=20200626100103.18879-1-a.hajda@samsung.com \
    --to=a.hajda@samsung.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=broonie@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=m.szyprowski@samsung.com \
    --cc=narmstrong@baylibre.com \
    --cc=rafael@kernel.org \
    /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

Linux-ARM-Kernel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-arm-kernel/0 linux-arm-kernel/git/0.git
	git clone --mirror https://lore.kernel.org/linux-arm-kernel/1 linux-arm-kernel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-arm-kernel linux-arm-kernel/ https://lore.kernel.org/linux-arm-kernel \
		linux-arm-kernel@lists.infradead.org
	public-inbox-index linux-arm-kernel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-arm-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git