/* * Apple Onboard Audio GPIO definitions * * Copyright 2006 Johannes Berg * * GPL v2, can be found in COPYING. */ #ifndef __AOA_GPIO_H #define __AOA_GPIO_H #include #include #include typedef void (*notify_func_t)(void *data); enum notify_type { AOA_NOTIFY_HEADPHONE, AOA_NOTIFY_LINE_IN, AOA_NOTIFY_LINE_OUT, }; struct gpio_runtime; struct gpio_methods { /* for initialisation/de-initialisation of the GPIO layer */ void (*init)(struct gpio_runtime *rt); void (*exit)(struct gpio_runtime *rt); /* turn off headphone, speakers, lineout */ void (*all_amps_off)(struct gpio_runtime *rt); /* turn headphone, speakers, lineout back to previous setting */ void (*all_amps_restore)(struct gpio_runtime *rt); void (*set_headphone)(struct gpio_runtime *rt, int on); void (*set_speakers)(struct gpio_runtime *rt, int on); void (*set_lineout)(struct gpio_runtime *rt, int on); void (*set_master)(struct gpio_runtime *rt, int on); int (*get_headphone)(struct gpio_runtime *rt); int (*get_speakers)(struct gpio_runtime *rt); int (*get_lineout)(struct gpio_runtime *rt); int (*get_master)(struct gpio_runtime *rt); void (*set_hw_reset)(struct gpio_runtime *rt, int on); /* use this to be notified of any events. The notification * function is passed the data, and is called in process * context by the use of schedule_work. * The interface for it is that setting a function to NULL * removes it, and they return 0 if the operation succeeded, * and -EBUSY if the notification is already assigned by * someone else. */ int (*set_notify)(struct gpio_runtime *rt, enum notify_type type, notify_func_t notify, void *data); /* returns 0 if not plugged in, 1 if plugged in * or a negative error code */ int (*get_detect)(struct gpio_runtime *rt, enum notify_type type); }; struct gpio_notification { struct delayed_work work; notify_func_t notify; void *data; void *gpio_private; struct mutex mutex; }; struct gpio_runtime { /* to be assigned by fabric */ struct device_node *node; /* since everyone needs this pointer anyway... */ struct gpio_methods *methods; /* to be used by the gpio implementation */ int implementation_private; struct gpio_notification headphone_notify; struct gpio_notification line_in_notify; struct gpio_notification line_out_notify; }; #endif /* __AOA_GPIO_H */ tion='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/max9867.c'>
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-27 12:29:30 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-27 12:29:30 -0800
commitdd3b9f25c867cb2507a45e436d6ede8eb08e7b05 (patch)
tree1ec6c08cd75610083d117a2c8d5eb0829e65f33e /sound/soc/codecs/max9867.c
parent69978aa0f21f43529e11f924504dadb6ce2f229a (diff)
parentb4cfe3971f6eab542dd7ecc398bfa1aeec889934 (diff)
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
Pull rdma fixes from Doug Ledford: "Second round of -rc fixes for 4.10. This -rc cycle has been slow for the rdma subsystem. I had already sent you the first batch before the Holiday break. After that, we kept only getting a few here or there. Up until this week, when I got a drop of 13 to one driver (qedr). So, here's the -rc patches I have. I currently have none held in reserve, so unless something new comes in, this is it until the next merge window opens. Summary: - series of iw_cxgb4 fixes to make it work with the drain cq API - one or two patches each to: srp, iser, cxgb3, vmw_pvrdma, umem, rxe, and ipoib - one big series (13 patches) for the new qedr driver" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (27 commits) RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled IB/rxe: Prevent from completer to operate on non valid QP IB/rxe: Fix rxe dev insertion to rxe_dev_list IB/umem: Release pid in error and ODP flow RDMA/qedr: Dispatch port active event from qedr_add RDMA/qedr: Fix and simplify memory leak in PD alloc RDMA/qedr: Fix RDMA CM loopback RDMA/qedr: Fix formatting RDMA/qedr: Mark three functions as static RDMA/qedr: Don't reset QP when queues aren't flushed RDMA/qedr: Don't spam dmesg if QP is in error state RDMA/qedr: Remove CQ spinlock from CM completion handlers RDMA/qedr: Return max inline data in QP query result RDMA/qedr: Return success when not changing QP state RDMA/qedr: Add uapi header qedr-abi.h RDMA/qedr: Fix MTU returned from QP query RDMA/core: Add the function ib_mtu_int_to_enum IB/vmw_pvrdma: Fix incorrect cleanup on pvrdma_pci_probe error path IB/vmw_pvrdma: Don't leak info from alloc_ucontext IB/cxgb3: fix misspelling in header guard ...
Diffstat (limited to 'sound/soc/codecs/max9867.c')