summaryrefslogtreecommitdiff
path: root/include/linux/soc/ti/knav_dma.h
diff options
context:
space:
mode:
authorMurali Karicheri <m-karicheri2@ti.com>2018-04-18 00:30:31 +0300
committerDavid S. Miller <davem@davemloft.net>2018-04-19 04:00:56 +0300
commita2dd6877b43ef14129f258910d60b2e81b32100b (patch)
tree1f64183d117602299350d753ab4dc91e17a6ed1c /include/linux/soc/ti/knav_dma.h
parent350601b4f7ab45a3ef39575acc21d6b7a69f724b (diff)
downloadlinux-a2dd6877b43ef14129f258910d60b2e81b32100b.tar.xz
soc: ti: K2G: provide APIs to support driver probe deferral
This patch provide APIs to allow client drivers to support probe deferral. On K2G SoC, devices can be probed only after the ti_sci_pm_domains driver is probed and ready. As drivers may get probed at different order, any driver that depends on knav dma and qmss drivers, for example netcp network driver, needs to defer probe until knav devices are probed and ready to service. To do this, add an API to query the device ready status from the knav dma and qmss devices. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/soc/ti/knav_dma.h')
-rw-r--r--include/linux/soc/ti/knav_dma.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/soc/ti/knav_dma.h b/include/linux/soc/ti/knav_dma.h
index 66693bc4c6ad..7127ec301537 100644
--- a/include/linux/soc/ti/knav_dma.h
+++ b/include/linux/soc/ti/knav_dma.h
@@ -167,6 +167,8 @@ struct knav_dma_desc {
void *knav_dma_open_channel(struct device *dev, const char *name,
struct knav_dma_cfg *config);
void knav_dma_close_channel(void *channel);
+int knav_dma_get_flow(void *channel);
+bool knav_dma_device_ready(void);
#else
static inline void *knav_dma_open_channel(struct device *dev, const char *name,
struct knav_dma_cfg *config)
@@ -176,6 +178,16 @@ static inline void *knav_dma_open_channel(struct device *dev, const char *name,
static inline void knav_dma_close_channel(void *channel)
{}
+static inline int knav_dma_get_flow(void *channel)
+{
+ return -EINVAL;
+}
+
+static inline bool knav_dma_device_ready(void)
+{
+ return false;
+}
+
#endif
#endif /* __SOC_TI_KEYSTONE_NAVIGATOR_DMA_H__ */