From: Alexandru Ardelean <alexandru.ardelean@analog.com> To: <linux-iio@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-stm32@st-md-mailman.stormreply.com>, <linux-kernel@vger.kernel.org> Cc: <ludovic.desroches@microchip.com>, <eugen.hristev@microchip.com>, <jic23@kernel.org>, <nicolas.ferre@microchip.com>, <alexandre.belloni@bootlin.com>, <alexandre.torgue@st.com>, <mcoquelin.stm32@gmail.com>, <ak@it-klinger.de>, Alexandru Ardelean <alexandru.ardelean@analog.com> Subject: [PATCH v2 0/8] iio: core: wrap IIO device into an iio_dev_opaque object Date: Thu, 14 May 2020 16:17:02 +0300 [thread overview] Message-ID: <20200514131710.84201-1-alexandru.ardelean@analog.com> (raw) This change starts to hide some internal fields of the IIO device into the framework. Because the iio_priv_to_dev() will be hidden some pre-work is done to try to remove it from some interrupt handlers. iio_priv_to_dev() will become a function call and won't be expandable into place (as-is now as an inline function). Changelog v1 -> v2: - add pre-work patches that remove some calls to iio_priv_to_dev() from interrupt handlers - renamed iio_dev_priv -> iio_dev_opaque - moved the iio_dev_opaque to 'include/linux/iio/iio-opaque.h' this way it should be usable for debugging - the iio_priv() call, is still an inline function that returns an 'indio_dev->priv' reference; this field is added to 'struct iio_dev'; the reference is computed in iio_device_alloc() and should be cacheline aligned - the to_iio_dev_opaque() container is in the 'include/linux/iio/iio-opaque.h' header; it's still implemented with some pointer arithmetic; one idea was to do it via an 'indio_dev->opaque' field; that may still be an optionif there are some opinions in that direction Alexandru Ardelean (8): iio: proximity: ping: pass reference to IIO device via call-stack iio: at91-sama5d2_adc: pass ref to IIO device via param for int function iio: at91_adc: pass ref to IIO device via param for int function iio: stm32-dfsdm-adc: pass iio device as arg for the interrupt handler iio: stm32-adc: pass iio device as arg for the interrupt handler iio: core: wrap IIO device into an iio_dev_opaque object iio: core: simplify alloc alignment code iio: core: move debugfs data on the private iio dev info drivers/iio/adc/at91-sama5d2_adc.c | 7 ++- drivers/iio/adc/at91_adc.c | 5 +- drivers/iio/adc/stm32-adc.c | 10 ++-- drivers/iio/adc/stm32-dfsdm-adc.c | 6 +-- drivers/iio/industrialio-core.c | 75 ++++++++++++++++++++---------- drivers/iio/proximity/ping.c | 5 +- include/linux/iio/iio-opaque.h | 27 +++++++++++ include/linux/iio/iio.h | 24 +++------- 8 files changed, 99 insertions(+), 60 deletions(-) create mode 100644 include/linux/iio/iio-opaque.h -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Alexandru Ardelean <alexandru.ardelean@analog.com> To: <linux-iio@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-stm32@st-md-mailman.stormreply.com>, <linux-kernel@vger.kernel.org> Cc: alexandre.belloni@bootlin.com, alexandre.torgue@st.com, ludovic.desroches@microchip.com, ak@it-klinger.de, mcoquelin.stm32@gmail.com, eugen.hristev@microchip.com, Alexandru Ardelean <alexandru.ardelean@analog.com>, jic23@kernel.org Subject: [PATCH v2 0/8] iio: core: wrap IIO device into an iio_dev_opaque object Date: Thu, 14 May 2020 16:17:02 +0300 [thread overview] Message-ID: <20200514131710.84201-1-alexandru.ardelean@analog.com> (raw) This change starts to hide some internal fields of the IIO device into the framework. Because the iio_priv_to_dev() will be hidden some pre-work is done to try to remove it from some interrupt handlers. iio_priv_to_dev() will become a function call and won't be expandable into place (as-is now as an inline function). Changelog v1 -> v2: - add pre-work patches that remove some calls to iio_priv_to_dev() from interrupt handlers - renamed iio_dev_priv -> iio_dev_opaque - moved the iio_dev_opaque to 'include/linux/iio/iio-opaque.h' this way it should be usable for debugging - the iio_priv() call, is still an inline function that returns an 'indio_dev->priv' reference; this field is added to 'struct iio_dev'; the reference is computed in iio_device_alloc() and should be cacheline aligned - the to_iio_dev_opaque() container is in the 'include/linux/iio/iio-opaque.h' header; it's still implemented with some pointer arithmetic; one idea was to do it via an 'indio_dev->opaque' field; that may still be an optionif there are some opinions in that direction Alexandru Ardelean (8): iio: proximity: ping: pass reference to IIO device via call-stack iio: at91-sama5d2_adc: pass ref to IIO device via param for int function iio: at91_adc: pass ref to IIO device via param for int function iio: stm32-dfsdm-adc: pass iio device as arg for the interrupt handler iio: stm32-adc: pass iio device as arg for the interrupt handler iio: core: wrap IIO device into an iio_dev_opaque object iio: core: simplify alloc alignment code iio: core: move debugfs data on the private iio dev info drivers/iio/adc/at91-sama5d2_adc.c | 7 ++- drivers/iio/adc/at91_adc.c | 5 +- drivers/iio/adc/stm32-adc.c | 10 ++-- drivers/iio/adc/stm32-dfsdm-adc.c | 6 +-- drivers/iio/industrialio-core.c | 75 ++++++++++++++++++++---------- drivers/iio/proximity/ping.c | 5 +- include/linux/iio/iio-opaque.h | 27 +++++++++++ include/linux/iio/iio.h | 24 +++------- 8 files changed, 99 insertions(+), 60 deletions(-) create mode 100644 include/linux/iio/iio-opaque.h -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-05-14 13:18 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-14 13:17 Alexandru Ardelean [this message] 2020-05-14 13:17 ` [PATCH v2 0/8] iio: core: wrap IIO device into an iio_dev_opaque object Alexandru Ardelean 2020-05-14 13:17 ` [PATCH v2 1/8] iio: proximity: ping: pass reference to IIO device via call-stack Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-16 17:12 ` Jonathan Cameron 2020-05-16 17:12 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 2/8] iio: at91-sama5d2_adc: pass ref to IIO device via param for int function Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-16 17:15 ` Jonathan Cameron 2020-05-16 17:15 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 3/8] iio: at91_adc: " Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-16 17:17 ` Jonathan Cameron 2020-05-16 17:17 ` Jonathan Cameron 2020-05-18 8:32 ` Ardelean, Alexandru 2020-05-18 8:32 ` Ardelean, Alexandru 2020-05-21 18:19 ` Jonathan Cameron 2020-05-21 18:19 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 4/8] iio: stm32-dfsdm-adc: pass iio device as arg for the interrupt handler Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-16 17:20 ` Jonathan Cameron 2020-05-16 17:20 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 5/8] iio: stm32-adc: " Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-16 17:21 ` Jonathan Cameron 2020-05-16 17:21 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 6/8] iio: core: wrap IIO device into an iio_dev_opaque object Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-16 17:28 ` Jonathan Cameron 2020-05-16 17:28 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 7/8] iio: core: simplify alloc alignment code Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-15 7:12 ` Sa, Nuno 2020-05-15 7:12 ` Sa, Nuno 2020-05-15 11:47 ` Ardelean, Alexandru 2020-05-15 11:47 ` Ardelean, Alexandru 2020-05-15 12:37 ` Sa, Nuno 2020-05-15 12:37 ` Sa, Nuno 2020-05-16 17:30 ` Jonathan Cameron 2020-05-16 17:30 ` Jonathan Cameron 2020-05-14 13:17 ` [PATCH v2 8/8] iio: core: move debugfs data on the private iio dev info Alexandru Ardelean 2020-05-14 13:17 ` Alexandru Ardelean 2020-05-22 6:58 ` [PATCH v2 0/8] iio: core: wrap IIO device into an iio_dev_opaque object Ardelean, Alexandru 2020-05-22 6:58 ` Ardelean, Alexandru
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=20200514131710.84201-1-alexandru.ardelean@analog.com \ --to=alexandru.ardelean@analog.com \ --cc=ak@it-klinger.de \ --cc=alexandre.belloni@bootlin.com \ --cc=alexandre.torgue@st.com \ --cc=eugen.hristev@microchip.com \ --cc=jic23@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-stm32@st-md-mailman.stormreply.com \ --cc=ludovic.desroches@microchip.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=nicolas.ferre@microchip.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.