All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.