* [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
@ 2013-09-27 4:37 Sachin Kamat
2013-10-02 16:54 ` Sachin Kamat
2013-10-28 9:31 ` Lars-Peter Clausen
0 siblings, 2 replies; 11+ messages in thread
From: Sachin Kamat @ 2013-09-27 4:37 UTC (permalink / raw)
To: linux-iio; +Cc: jic23, sachin.kamat, Lars-Peter Clausen
Add device managed devm_iio_device_{register,unregister}()
to automatically unregister IIO drivers thus leading to
simplified IIO driver code.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
---
Changes since v1:
Incorporated review comments from Lars-Peter Clausen
* Renamed variables
* Fixed the broken implementation
* Moved kernel doc from .h to .c file
---
Documentation/driver-model/devres.txt | 2 ++
drivers/iio/industrialio-core.c | 59 +++++++++++++++++++++++++++++++++
include/linux/iio/iio.h | 3 ++
3 files changed, 64 insertions(+)
diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index fcb34a5..ffeab1d 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -242,6 +242,8 @@ IIO
devm_iio_device_free()
devm_iio_trigger_alloc()
devm_iio_trigger_free()
+ devm_iio_device_register()
+ devm_iio_device_unregister()
IO region
devm_request_region()
diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
index 24db185..9f2f5fb 100644
--- a/drivers/iio/industrialio-core.c
+++ b/drivers/iio/industrialio-core.c
@@ -1125,6 +1125,65 @@ void iio_device_unregister(struct iio_dev *indio_dev)
device_del(&indio_dev->dev);
}
EXPORT_SYMBOL(iio_device_unregister);
+
+static void devm_iio_device_unreg(struct device *dev, void *res)
+{
+ iio_device_unregister(*(struct iio_dev **)res);
+}
+
+/**
+ * devm_iio_device_register - Resource-managed iio_device_register()
+ * @dev: Device to allocate iio_dev for
+ * @indio_dev: Device structure filled by the device driver
+ *
+ * Managed iio_device_register. The IIO device registered with this
+ * function is automatically unregistered on driver detach. This function
+ * calls iio_device_register() internally. Refer to that function for more
+ * information.
+ *
+ * If an iio_dev registered with this function needs to be unregistered
+ * separately, devm_iio_device_unregister() must be used.
+ *
+ * RETURNS:
+ * 0 on success, negative error number on failure.
+ */
+int devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev)
+{
+ struct iio_dev **ptr;
+ int ret;
+
+ ptr = devres_alloc(devm_iio_device_unreg, sizeof(*ptr), GFP_KERNEL);
+ if (!ptr)
+ return -ENOMEM;
+
+ *ptr = indio_dev;
+ ret = iio_device_register(indio_dev);
+ if (!ret)
+ devres_add(dev, ptr);
+ else
+ devres_free(ptr);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(devm_iio_device_register);
+
+/**
+ * devm_iio_device_unregister - Resource-managed iio_device_unregister()
+ * @dev: Device this iio_dev belongs to
+ * @indio_dev: the iio_dev associated with the device
+ *
+ * Unregister iio_dev registered with devm_iio_device_register().
+ */
+void devm_iio_device_unregister(struct device *dev, struct iio_dev *indio_dev)
+{
+ int rc;
+
+ rc = devres_release(dev, devm_iio_device_unreg,
+ devm_iio_device_match, indio_dev);
+ WARN_ON(rc);
+}
+EXPORT_SYMBOL_GPL(devm_iio_device_unregister);
+
subsys_initcall(iio_init);
module_exit(iio_exit);
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index ac1cb8f..bdda69f 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -452,6 +452,9 @@ int iio_device_register(struct iio_dev *indio_dev);
**/
void iio_device_unregister(struct iio_dev *indio_dev);
+int devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev);
+void devm_iio_device_unregister(struct device *dev, struct iio_dev *indio_dev);
+
/**
* iio_push_event() - try to add event to the list for userspace reading
* @indio_dev: IIO device structure
--
1.7.9.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-09-27 4:37 [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister} Sachin Kamat
@ 2013-10-02 16:54 ` Sachin Kamat
2013-10-02 17:19 ` Lars-Peter Clausen
2013-10-28 9:31 ` Lars-Peter Clausen
1 sibling, 1 reply; 11+ messages in thread
From: Sachin Kamat @ 2013-10-02 16:54 UTC (permalink / raw)
To: linux-iio; +Cc: Jonathan Cameron, Sachin Kamat, Lars-Peter Clausen
Hi,
On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org> wrote:
> Add device managed devm_iio_device_{register,unregister}()
> to automatically unregister IIO drivers thus leading to
> simplified IIO driver code.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> ---
> Changes since v1:
> Incorporated review comments from Lars-Peter Clausen
> * Renamed variables
> * Fixed the broken implementation
> * Moved kernel doc from .h to .c file
> ---
Does this look good now?
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-02 16:54 ` Sachin Kamat
@ 2013-10-02 17:19 ` Lars-Peter Clausen
2013-10-02 17:39 ` Jonathan Cameron
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Lars-Peter Clausen @ 2013-10-02 17:19 UTC (permalink / raw)
To: Sachin Kamat; +Cc: linux-iio, Jonathan Cameron
On 10/02/2013 06:54 PM, Sachin Kamat wrote:
> Hi,
>
> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>> Add device managed devm_iio_device_{register,unregister}()
>> to automatically unregister IIO drivers thus leading to
>> simplified IIO driver code.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>> ---
>> Changes since v1:
>> Incorporated review comments from Lars-Peter Clausen
>> * Renamed variables
>> * Fixed the broken implementation
>> * Moved kernel doc from .h to .c file
>> ---
>
> Does this look good now?
>
Yes, but I want to at least test it once before I ack it.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-02 17:19 ` Lars-Peter Clausen
@ 2013-10-02 17:39 ` Jonathan Cameron
2013-10-03 16:54 ` Sachin Kamat
2013-10-03 16:53 ` Sachin Kamat
2013-10-21 8:18 ` Sachin Kamat
2 siblings, 1 reply; 11+ messages in thread
From: Jonathan Cameron @ 2013-10-02 17:39 UTC (permalink / raw)
To: Lars-Peter Clausen, Sachin Kamat; +Cc: linux-iio
Lars-Peter Clausen <lars@metafoo.de> wrote:
>On 10/02/2013 06:54 PM, Sachin Kamat wrote:
>> Hi,
>>
>> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org>
>wrote:
>>> Add device managed devm_iio_device_{register,unregister}()
>>> to automatically unregister IIO drivers thus leading to
>>> simplified IIO driver code.
>>>
>>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>> ---
>>> Changes since v1:
>>> Incorporated review comments from Lars-Peter Clausen
>>> * Renamed variables
>>> * Fixed the broken implementation
>>> * Moved kernel doc from .h to .c file
>>> ---
>>
>> Does this look good now?
>>
>
>Yes, but I want to at least test it once before I ack it.
And I am waiting on Lars' ack before taking it :)
>--
>To unsubscribe from this list: send the line "unsubscribe linux-iio" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-02 17:19 ` Lars-Peter Clausen
2013-10-02 17:39 ` Jonathan Cameron
@ 2013-10-03 16:53 ` Sachin Kamat
2013-10-21 8:18 ` Sachin Kamat
2 siblings, 0 replies; 11+ messages in thread
From: Sachin Kamat @ 2013-10-03 16:53 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: linux-iio, Jonathan Cameron
On 2 October 2013 22:49, Lars-Peter Clausen <lars@metafoo.de> wrote:
> On 10/02/2013 06:54 PM, Sachin Kamat wrote:
>> Hi,
>>
>> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>>> Add device managed devm_iio_device_{register,unregister}()
>>> to automatically unregister IIO drivers thus leading to
>>> simplified IIO driver code.
>>>
>>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>> ---
>>> Changes since v1:
>>> Incorporated review comments from Lars-Peter Clausen
>>> * Renamed variables
>>> * Fixed the broken implementation
>>> * Moved kernel doc from .h to .c file
>>> ---
>>
>> Does this look good now?
>>
>
> Yes, but I want to at least test it once before I ack it.
Sure. Looking forward to hear back after your testing.
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-02 17:39 ` Jonathan Cameron
@ 2013-10-03 16:54 ` Sachin Kamat
0 siblings, 0 replies; 11+ messages in thread
From: Sachin Kamat @ 2013-10-03 16:54 UTC (permalink / raw)
To: Jonathan Cameron; +Cc: Lars-Peter Clausen, linux-iio
On 2 October 2013 23:09, Jonathan Cameron <jic23@kernel.org> wrote:
>
>
> Lars-Peter Clausen <lars@metafoo.de> wrote:
>>On 10/02/2013 06:54 PM, Sachin Kamat wrote:
>>> Hi,
>>>
>>> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org>
>>wrote:
>>>> Add device managed devm_iio_device_{register,unregister}()
>>>> to automatically unregister IIO drivers thus leading to
>>>> simplified IIO driver code.
>>>>
>>>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>>> ---
>>>> Changes since v1:
>>>> Incorporated review comments from Lars-Peter Clausen
>>>> * Renamed variables
>>>> * Fixed the broken implementation
>>>> * Moved kernel doc from .h to .c file
>>>> ---
>>>
>>> Does this look good now?
>>>
>>
>>Yes, but I want to at least test it once before I ack it.
>
> And I am waiting on Lars' ack before taking it :)
Fair enough :)
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-02 17:19 ` Lars-Peter Clausen
2013-10-02 17:39 ` Jonathan Cameron
2013-10-03 16:53 ` Sachin Kamat
@ 2013-10-21 8:18 ` Sachin Kamat
2013-10-21 8:40 ` Lars-Peter Clausen
2 siblings, 1 reply; 11+ messages in thread
From: Sachin Kamat @ 2013-10-21 8:18 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: linux-iio, Jonathan Cameron
Hi Lars,
On 2 October 2013 22:49, Lars-Peter Clausen <lars@metafoo.de> wrote:
> On 10/02/2013 06:54 PM, Sachin Kamat wrote:
>> Hi,
>>
>> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>>> Add device managed devm_iio_device_{register,unregister}()
>>> to automatically unregister IIO drivers thus leading to
>>> simplified IIO driver code.
>>>
>>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>> ---
>>> Changes since v1:
>>> Incorporated review comments from Lars-Peter Clausen
>>> * Renamed variables
>>> * Fixed the broken implementation
>>> * Moved kernel doc from .h to .c file
>>> ---
>>
>> Does this look good now?
>>
>
> Yes, but I want to at least test it once before I ack it.
Any luck with testing this?
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-21 8:18 ` Sachin Kamat
@ 2013-10-21 8:40 ` Lars-Peter Clausen
2013-10-21 8:43 ` Sachin Kamat
0 siblings, 1 reply; 11+ messages in thread
From: Lars-Peter Clausen @ 2013-10-21 8:40 UTC (permalink / raw)
To: Sachin Kamat; +Cc: linux-iio, Jonathan Cameron
On 10/21/2013 10:18 AM, Sachin Kamat wrote:
> Hi Lars,
>
> On 2 October 2013 22:49, Lars-Peter Clausen <lars@metafoo.de> wrote:
>> On 10/02/2013 06:54 PM, Sachin Kamat wrote:
>>> Hi,
>>>
>>> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>>>> Add device managed devm_iio_device_{register,unregister}()
>>>> to automatically unregister IIO drivers thus leading to
>>>> simplified IIO driver code.
>>>>
>>>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>>> ---
>>>> Changes since v1:
>>>> Incorporated review comments from Lars-Peter Clausen
>>>> * Renamed variables
>>>> * Fixed the broken implementation
>>>> * Moved kernel doc from .h to .c file
>>>> ---
>>>
>>> Does this look good now?
>>>
>>
>> Yes, but I want to at least test it once before I ack it.
>
> Any luck with testing this?
>
Sorry, this somehow fell of the table, between a lot of travailing and an
upcoming release. I'm at a conference this week to, but I'll give it a try
first thing Monday morning.
- Lars
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-21 8:40 ` Lars-Peter Clausen
@ 2013-10-21 8:43 ` Sachin Kamat
0 siblings, 0 replies; 11+ messages in thread
From: Sachin Kamat @ 2013-10-21 8:43 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: linux-iio, Jonathan Cameron
On 21 October 2013 14:10, Lars-Peter Clausen <lars@metafoo.de> wrote:
> On 10/21/2013 10:18 AM, Sachin Kamat wrote:
>> Hi Lars,
>>
>> On 2 October 2013 22:49, Lars-Peter Clausen <lars@metafoo.de> wrote:
>>> On 10/02/2013 06:54 PM, Sachin Kamat wrote:
>>>> Hi,
>>>>
>>>> On 27 September 2013 10:07, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>>>>> Add device managed devm_iio_device_{register,unregister}()
>>>>> to automatically unregister IIO drivers thus leading to
>>>>> simplified IIO driver code.
>>>>>
>>>>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>>>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>>>> ---
>>>>> Changes since v1:
>>>>> Incorporated review comments from Lars-Peter Clausen
>>>>> * Renamed variables
>>>>> * Fixed the broken implementation
>>>>> * Moved kernel doc from .h to .c file
>>>>> ---
>>>>
>>>> Does this look good now?
>>>>
>>>
>>> Yes, but I want to at least test it once before I ack it.
>>
>> Any luck with testing this?
>>
>
> Sorry, this somehow fell of the table, between a lot of travailing and an
> upcoming release. I'm at a conference this week to, but I'll give it a try
> first thing Monday morning.
Sure. Looking forward to it :)
Thanks Lars.
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-09-27 4:37 [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister} Sachin Kamat
2013-10-02 16:54 ` Sachin Kamat
@ 2013-10-28 9:31 ` Lars-Peter Clausen
2013-10-28 9:43 ` Sachin Kamat
1 sibling, 1 reply; 11+ messages in thread
From: Lars-Peter Clausen @ 2013-10-28 9:31 UTC (permalink / raw)
To: Sachin Kamat; +Cc: linux-iio, jic23
On 09/27/2013 06:37 AM, Sachin Kamat wrote:
> Add device managed devm_iio_device_{register,unregister}()
> to automatically unregister IIO drivers thus leading to
> simplified IIO driver code.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister}
2013-10-28 9:31 ` Lars-Peter Clausen
@ 2013-10-28 9:43 ` Sachin Kamat
0 siblings, 0 replies; 11+ messages in thread
From: Sachin Kamat @ 2013-10-28 9:43 UTC (permalink / raw)
To: Lars-Peter Clausen; +Cc: linux-iio, Jonathan Cameron
On 28 October 2013 15:01, Lars-Peter Clausen <lars@metafoo.de> wrote:
> On 09/27/2013 06:37 AM, Sachin Kamat wrote:
>> Add device managed devm_iio_device_{register,unregister}()
>> to automatically unregister IIO drivers thus leading to
>> simplified IIO driver code.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>
> Tested-by: Lars-Peter Clausen <lars@metafoo.de>
> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Thank you Lars.
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-10-28 9:43 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-27 4:37 [PATCH v2 1/1] iio: core: Implement devm_iio_device_{register,unregister} Sachin Kamat
2013-10-02 16:54 ` Sachin Kamat
2013-10-02 17:19 ` Lars-Peter Clausen
2013-10-02 17:39 ` Jonathan Cameron
2013-10-03 16:54 ` Sachin Kamat
2013-10-03 16:53 ` Sachin Kamat
2013-10-21 8:18 ` Sachin Kamat
2013-10-21 8:40 ` Lars-Peter Clausen
2013-10-21 8:43 ` Sachin Kamat
2013-10-28 9:31 ` Lars-Peter Clausen
2013-10-28 9:43 ` Sachin Kamat
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.