Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1228963
| From | Russell King - ARM Linux <linux@arm.linux.org.uk> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v5 07/23] regulator: core: Remove regulator_list |
| Date | 2015-09-20 22:40 +0200 |
| Message-ID | <qaTyV-2ax-3@gated-at.bofh.it> (permalink) |
| References | <q9GX8-40N-3@gated-at.bofh.it> <q9GXa-40N-33@gated-at.bofh.it> <qaAPE-JA-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Sat, Sep 19, 2015 at 08:01:29AM -0700, Mark Brown wrote: > On Thu, Sep 17, 2015 at 02:57:01PM +0200, Tomeu Vizoso wrote: > > As we are already registering a device with regulator_class for each > > regulator device, regulator_list is redundant and can be replaced with > > calls to class_find_device() and class_for_each_device(). > > This appears to leak references to the struct devices returned by > class_find_device() - it takes a reference before it returns so any > device found using class_find_device() needs to be released with > put_device() and I don't see any new put_device() calls in here. When I've been fiding exactly that kind of bug in the PHY code, I've been adding comments to the docbook function header detailing the requirement to balance the reference. IMHO, this is a good idea, because the more places that get it with these APIs, the more likely people are to potentially read it. The comment I've been putting in the phy code is: * If successful, returns a pointer to the phy_device with the embedded * struct device refcount incremented by one, or NULL on failure. The * refcount must be dropped by calling phy_disconnect() or phy_detach(). which even goes as far as telling people how they should be dropping the reference. So there should be no excuse (ignorance is not an excuse for this!) -- FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v5 0/23] On-demand device probing Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
[PATCH v5 19/23] dma: of: Probe DMA controllers on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
[PATCH v5 07/23] regulator: core: Remove regulator_list Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
Re: [PATCH v5 07/23] regulator: core: Remove regulator_list Mark Brown <broonie@kernel.org> - 2015-09-20 02:40 +0200
Re: [PATCH v5 07/23] regulator: core: Remove regulator_list Russell King - ARM Linux <linux@arm.linux.org.uk> - 2015-09-20 22:40 +0200
Re: [PATCH v5 07/23] regulator: core: Remove regulator_list Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-21 16:10 +0200
Re: [PATCH v5 07/23] regulator: core: Remove regulator_list Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-21 16:10 +0200
[PATCH v5 21/23] driver core: Allow deferring probes until late init Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
[PATCH v5 17/23] pinctrl: Probe pinctrl devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
[PATCH v5 20/23] power-supply: Probe power supplies on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
[PATCH v5 12/23] i2c: core: Probe i2c adapters and devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:00 +0200
[PATCH v5 15/23] usb: phy: Probe phy devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 05/23] gpio: Probe GPIO drivers on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 13/23] pwm: Probe PWM chip devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 10/23] drm: Probe panels on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 06/23] gpio: Probe pinctrl devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 18/23] phy: core: Probe phy providers on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 16/23] clk: Probe clk providers on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 08/23] regulator: core: Drop redundant locking Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 14/23] backlight: Probe backlight devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 02/23] ARM: amba: Move reading of periphid to pre_probe() Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 04/23] of: add function to allow probing a device from a OF node Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
[PATCH v5 11/23] drm/tegra: Probe dpaux devices on demand Tomeu Vizoso <tomeu.vizoso@collabora.com> - 2015-09-17 15:10 +0200
csiph-web