dmaengine: qcom_hidma: add support for object hierarchy
authorSinan Kaya <okaya@codeaurora.org>
Sun, 1 May 2016 04:25:28 +0000 (00:25 -0400)
committerVinod Koul <vinod.koul@intel.com>
Sat, 14 May 2016 06:24:45 +0000 (11:54 +0530)
commit42d236f8a4479fefb69b20da3962a462e05a112d
tree9befbee1b156578123536c530376cef38f2beeba
parent570d0176296f0d17c4b5ab206ad4a4bc027b863b
dmaengine: qcom_hidma: add support for object hierarchy

In order to create a relationship model between the channels and the
management object, we are adding support for object hierarchy to the
drivers. This patch simplifies the userspace application development.
We will not have to traverse different firmware paths based on device
tree or ACPI based kernels.

No matter what flavor of kernel is used, objects will be represented as
platform devices.

The new layout is as follows:

hidmam_10: hidma-mgmt@0x5A000000 {
compatible = "qcom,hidma-mgmt-1.0";
...

hidma_10: hidma@0x5a010000 {
compatible = "qcom,hidma-1.0";
...
}
}

The hidma_mgmt_init detects each instance of the hidma-mgmt-1.0 objects
in device tree and calls into the channel driver to create platform devices
for each child of the management object.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Documentation/ABI/testing/sysfs-platform-hidma [new file with mode: 0644]
drivers/dma/qcom/hidma.c
drivers/dma/qcom/hidma_mgmt.c