Thread (3 messages) flat view 3 messages, 2 authors, 2016-01-10

Re: [PATCH] hid: core: add managed version of hid_hw_start

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: 2016-01-10 14:33:41

Am 08.01.2016 um 10:51 schrieb Jiri Kosina:
On Wed, 6 Jan 2016, Heiner Kallweit wrote:
quoted
Most calls to hid_hw_stop are boilerplate code. The function comment
states: "This is usually called from remove function or from probe
when something failed and hid_hw_start was called already."

A managed version of hid_hw_start allows to avoid this boilerplate
code in most cases (similar to the other devm_ functions). 
hid_hw_stop is called automatically before the device is deleted.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Generally I agree with the idea, but I'll be merging this only together 
with patches that are converting drivers to actually use this API.
OK. When working on it I saw that hid_hw_stop is called by the core if
the driver doesn't define a remove callback.
This means if we use devm_hid_hw_start in a driver with a probe but no
remove callback then hid_hw_stop will be called twice.
To prevent this I'd switch all drivers with probe but no remove to the
new call and remove the fallback call to hid_hw_stop in the core.
At the same time I'd switch the fallback call to hid_hw_start in the core
(in case the driver doesn't define a probe callback) to the new call.
This way the change is transparent to drivers which define neither probe
nor remove.
Fine with you?
Thanks,
Regards, Heiner
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help