summaryrefslogtreecommitdiff
path: root/include/linux/dmaengine.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-01-06 11:38:21 -0700
committerDan Williams <dan.j.williams@intel.com>2009-01-06 11:38:21 -0700
commit864498aaa9fef69ee166da023d12413a7776342d (patch)
tree023d6bfc15ba192c1a92caab3ff7525a84e409fc /include/linux/dmaengine.h
parent41d5e59c1299f27983977bcfe3b360600996051c (diff)
downloadlwn-864498aaa9fef69ee166da023d12413a7776342d.tar.gz
lwn-864498aaa9fef69ee166da023d12413a7776342d.zip
dmaengine: use idr for registering dma device numbers
This brings some predictability to dma device numbers, i.e. an rmmod/insmod cycle may now result in /sys/class/dma/dma0chan0 being restored rather than /sys/class/dma/dma1chan0 appearing. Cc: Maciej Sosnowski <maciej.sosnowski@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r--include/linux/dmaengine.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index d6b6bff355f4..64dea2ab326c 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -140,10 +140,14 @@ struct dma_chan {
* struct dma_chan_dev - relate sysfs device node to backing channel device
* @chan - driver channel device
* @device - sysfs device
+ * @dev_id - parent dma_device dev_id
+ * @idr_ref - reference count to gate release of dma_device dev_id
*/
struct dma_chan_dev {
struct dma_chan *chan;
struct device device;
+ int dev_id;
+ atomic_t *idr_ref;
};
static inline const char *dma_chan_name(struct dma_chan *chan)