Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb1ccbe1 authored by Kai Liu's avatar Kai Liu
Browse files

cnss: sdio: Define OOB interrupt interfaces.



Define the OOB interrupt interfaces in case that internal
interrupt is unsupported in some platforms.
In some specific platform, only polling mode is supported, with
these OOB interrupt interfaces implementation, it will support
interrupt mode.
To be generic, this OOB feature is default unsupported.

Change-Id: I3b38e59bd7fdb441c85eb82a79cf9c951ca32130
CRs-Fixed: 937303
Signed-off-by: default avatarKai Liu <kaliu@codeaurora.org>
parent 9a81f5af
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
@@ -353,6 +353,51 @@ cnss_sdio_wlan_unregister_driver(struct cnss_sdio_wlan_driver *driver)
}
EXPORT_SYMBOL(cnss_sdio_wlan_unregister_driver);

/**
 * cnss_wlan_query_oob_status() - cnss wlan query oob status API
 *
 * Wlan sdio function driver uses this API to check whether oob is
 * supported in platform driver.
 *
 * Return: 0 means oob is supported, others means unsupported.
 */
int cnss_wlan_query_oob_status(void)
{
	return -ENOSYS;
}
EXPORT_SYMBOL(cnss_wlan_query_oob_status);

/**
 * cnss_wlan_register_oob_irq_handler() - cnss wlan register oob callback API
 * @handler: oob callback function pointer which registered to platform driver.
 * @pm_oob : parameter which registered to platform driver.
 *
 * Wlan sdio function driver uses this API to register oob callback
 * function to platform driver.
 *
 * Return: 0 means register successfully, others means failure.
 */
int cnss_wlan_register_oob_irq_handler(oob_irq_handler_t handler, void *pm_oob)
{
	return -ENOSYS;
}
EXPORT_SYMBOL(cnss_wlan_register_oob_irq_handler);

/**
 * cnss_wlan_unregister_oob_irq_handler() - cnss wlan unregister oob callback API
 * @pm_oob: parameter which unregistered from platform driver.
 *
 * Wlan sdio function driver uses this API to unregister oob callback
 * function from platform driver.
 *
 * Return: 0 means unregister successfully, others means failure.
 */
int cnss_wlan_unregister_oob_irq_handler(void *pm_oob)
{
	return -ENOSYS;
}
EXPORT_SYMBOL(cnss_wlan_unregister_oob_irq_handler);

static int cnss_sdio_wlan_init(void)
{
	int error = 0;
+6 −0
Original line number Diff line number Diff line
@@ -203,5 +203,11 @@ extern int cnss_sdio_wlan_register_driver(
	struct cnss_sdio_wlan_driver *driver);
extern void cnss_sdio_wlan_unregister_driver(
	struct cnss_sdio_wlan_driver *driver);

typedef void (*oob_irq_handler_t)(void *dev_para);
extern int cnss_wlan_query_oob_status(void);
extern int cnss_wlan_register_oob_irq_handler(oob_irq_handler_t handler,
	    void *pm_oob);
extern int cnss_wlan_unregister_oob_irq_handler(void *pm_oob);
#endif
#endif /* _NET_CNSS_H_ */