dmaengine: add a release for dma class devices and dependent infrastructure
Resolves: WARNING: at drivers/base/core.c:122 device_release+0x4d/0x52() Device 'dma0chan0' does not have a release() function, it is broken and must be fixed. The dma_chan_dev object is introduced to gear-match sysfs kobject and dmaengine channel lifetimes. When a channel is removed access to the sysfs entries return -ENODEV until the kobject can be released. The bulk of the change is updates to existing code to handle the extra layer of indirection between a dma_chan and its struct device. Reported-by: Alexander Beregalov <a.beregalov@gmail.com> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
@@ -822,7 +822,7 @@ static int __devinit fsl_dma_chan_probe(struct fsl_dma_device *fdev,
|
||||
*/
|
||||
WARN_ON(fdev->feature != new_fsl_chan->feature);
|
||||
|
||||
new_fsl_chan->dev = &new_fsl_chan->common.dev;
|
||||
new_fsl_chan->dev = &new_fsl_chan->common.dev->device;
|
||||
new_fsl_chan->reg_base = ioremap(new_fsl_chan->reg.start,
|
||||
new_fsl_chan->reg.end - new_fsl_chan->reg.start + 1);
|
||||
|
||||
|
Reference in New Issue
Block a user