wcd9xxx-irq.h 1.1 KB

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
  3. */
  4. #include <linux/types.h>
  5. #include "core.h"
  6. #ifndef __MFD_WCD9XXX_IRQ_H
  7. #define __MFD_WCD9XXX_IRQ_H
  8. bool wcd9xxx_lock_sleep(struct wcd9xxx_core_resource *wcd9xxx_res);
  9. void wcd9xxx_unlock_sleep(struct wcd9xxx_core_resource *wcd9xxx_res);
  10. void wcd9xxx_nested_irq_lock(struct wcd9xxx_core_resource *wcd9xxx_res);
  11. void wcd9xxx_nested_irq_unlock(struct wcd9xxx_core_resource *wcd9xxx_res);
  12. int wcd9xxx_request_irq(struct wcd9xxx_core_resource *wcd9xxx_res, int irq,
  13. irq_handler_t handler, const char *name, void *data);
  14. void wcd9xxx_free_irq(struct wcd9xxx_core_resource *wcd9xxx_res,
  15. int irq, void *data);
  16. void wcd9xxx_enable_irq(struct wcd9xxx_core_resource *wcd9xxx_res, int irq);
  17. void wcd9xxx_disable_irq(struct wcd9xxx_core_resource *wcd9xxx_res,
  18. int irq);
  19. void wcd9xxx_disable_irq_sync(struct wcd9xxx_core_resource *wcd9xxx_res,
  20. int irq);
  21. int wcd9xxx_irq_init(struct wcd9xxx_core_resource *wcd9xxx_res);
  22. void wcd9xxx_irq_exit(struct wcd9xxx_core_resource *wcd9xxx_res);
  23. int wcd9xxx_irq_drv_init(void);
  24. void wcd9xxx_irq_drv_exit(void);
  25. #endif