aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-06-26 17:51:15 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-06-26 17:51:15 -0400
commitd87823813fe498fdd47894bd28e460a9dee8d771 (patch)
tree214eaf3babd0d61f08022fc1edd99a5128616548 /include
parente382608254e06c8109f40044f5e693f2e04f3899 (diff)
parent3dc196eae1db548f05e53e5875ff87b8ff79f249 (diff)
Merge tag 'char-misc-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH: "Here's the big char/misc driver pull request for 4.2-rc1. Lots of mei, extcon, coresight, uio, mic, and other driver updates in here. Full details in the shortlog. All of these have been in linux-next for some time with no reported problems" * tag 'char-misc-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (176 commits) mei: me: wait for power gating exit confirmation mei: reset flow control on the last client disconnection MAINTAINERS: mei: add mei_cl_bus.h to maintained file list misc: sram: sort and clean up included headers misc: sram: move reserved block logic out of probe function misc: sram: add private struct device and virt_base members misc: sram: report correct SRAM pool size misc: sram: bump error message level on unclean driver unbinding misc: sram: fix device node reference leak on error misc: sram: fix enabled clock leak on error path misc: mic: Fix reported static checker warning misc: mic: Fix randconfig build error by including errno.h uio: pruss: Drop depends on ARCH_DAVINCI_DA850 from config uio: pruss: Add CONFIG_HAS_IOMEM dependence uio: pruss: Include <linux/sizes.h> extcon: Redefine the unique id of supported external connectors without 'enum extcon' type char:xilinx_hwicap:buffer_icap - change 1/0 to true/false for bool type variable in function buffer_icap_set_configuration(). Drivers: hv: vmbus: Allocate ring buffer memory in NUMA aware fashion parport: check exclusive access before register w1: use correct lock on error in w1_seq_show() ...
Diffstat (limited to 'include')
-rw-r--r--include/dt-bindings/mfd/arizona.h4
-rw-r--r--include/linux/extcon.h134
-rw-r--r--include/linux/extcon/extcon-adc-jack.h5
-rw-r--r--include/linux/hyperv.h48
-rw-r--r--include/linux/mei_cl_bus.h38
-rw-r--r--include/linux/mfd/arizona/pdata.h3
-rw-r--r--include/linux/mfd/axp20x.h5
-rw-r--r--include/linux/mod_devicetable.h13
-rw-r--r--include/linux/parport.h43
-rw-r--r--include/linux/scif.h993
-rw-r--r--include/uapi/linux/Kbuild1
-rw-r--r--include/uapi/linux/hyperv.h8
-rw-r--r--include/uapi/linux/mic_common.h12
-rw-r--r--include/uapi/linux/scif_ioctl.h130
14 files changed, 1322 insertions, 115 deletions
diff --git a/include/dt-bindings/mfd/arizona.h b/include/dt-bindings/mfd/arizona.h
index 555609910acb..7b2000cead43 100644
--- a/include/dt-bindings/mfd/arizona.h
+++ b/include/dt-bindings/mfd/arizona.h
@@ -104,4 +104,8 @@
104#define ARIZONA_MICD_TIME_256MS 11 104#define ARIZONA_MICD_TIME_256MS 11
105#define ARIZONA_MICD_TIME_512MS 12 105#define ARIZONA_MICD_TIME_512MS 12
106 106
107#define ARIZONA_ACCDET_MODE_MIC 0
108#define ARIZONA_ACCDET_MODE_HPL 1
109#define ARIZONA_ACCDET_MODE_HPR 2
110
107#endif 111#endif
diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index 36f49c405dfb..b16d929fa75f 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -1,6 +1,9 @@
1/* 1/*
2 * External connector (extcon) class driver 2 * External connector (extcon) class driver
3 * 3 *
4 * Copyright (C) 2015 Samsung Electronics
5 * Author: Chanwoo Choi <cw00.choi@samsung.com>
6 *
4 * Copyright (C) 2012 Samsung Electronics 7 * Copyright (C) 2012 Samsung Electronics
5 * Author: Donggeun Kim <dg77.kim@samsung.com> 8 * Author: Donggeun Kim <dg77.kim@samsung.com>
6 * Author: MyungJoo Ham <myungjoo.ham@samsung.com> 9 * Author: MyungJoo Ham <myungjoo.ham@samsung.com>
@@ -27,50 +30,35 @@
27#include <linux/notifier.h> 30#include <linux/notifier.h>
28#include <linux/sysfs.h> 31#include <linux/sysfs.h>
29 32
30#define SUPPORTED_CABLE_MAX 32
31#define CABLE_NAME_MAX 30
32
33/* 33/*
34 * The standard cable name is to help support general notifier 34 * Define the unique id of supported external connectors
35 * and notifiee device drivers to share the common names.
36 * Please use standard cable names unless your notifier device has
37 * a very unique and abnormal cable or
38 * the cable type is supposed to be used with only one unique
39 * pair of notifier/notifiee devices.
40 *
41 * Please add any other "standard" cables used with extcon dev.
42 *
43 * You may add a dot and number to specify version or specification
44 * of the specific cable if it is required. (e.g., "Fast-charger.18"
45 * and "Fast-charger.10" for 1.8A and 1.0A chargers)
46 * However, the notifiee and notifier should be able to handle such
47 * string and if the notifiee can negotiate the protocol or identify,
48 * you don't need such convention. This convention is helpful when
49 * notifier can distinguish but notifiee cannot.
50 */ 35 */
51enum extcon_cable_name { 36#define EXTCON_NONE 0
52 EXTCON_USB = 0, 37
53 EXTCON_USB_HOST, 38#define EXTCON_USB 1 /* USB connector */
54 EXTCON_TA, /* Travel Adaptor */ 39#define EXTCON_USB_HOST 2
55 EXTCON_FAST_CHARGER, 40
56 EXTCON_SLOW_CHARGER, 41#define EXTCON_TA 3 /* Charger connector */
57 EXTCON_CHARGE_DOWNSTREAM, /* Charging an external device */ 42#define EXTCON_FAST_CHARGER 4
58 EXTCON_HDMI, 43#define EXTCON_SLOW_CHARGER 5
59 EXTCON_MHL, 44#define EXTCON_CHARGE_DOWNSTREAM 6
60 EXTCON_DVI, 45
61 EXTCON_VGA, 46#define EXTCON_LINE_IN 7 /* Audio/Video connector */
62 EXTCON_DOCK, 47#define EXTCON_LINE_OUT 8
63 EXTCON_LINE_IN, 48#define EXTCON_MICROPHONE 9
64 EXTCON_LINE_OUT, 49#define EXTCON_HEADPHONE 10
65 EXTCON_MIC_IN, 50#define EXTCON_HDMI 11
66 EXTCON_HEADPHONE_OUT, 51#define EXTCON_MHL 12
67 EXTCON_SPDIF_IN, 52#define EXTCON_DVI 13
68 EXTCON_SPDIF_OUT, 53#define EXTCON_VGA 14
69 EXTCON_VIDEO_IN, 54#define EXTCON_SPDIF_IN 15
70 EXTCON_VIDEO_OUT, 55#define EXTCON_SPDIF_OUT 16
71 EXTCON_MECHANICAL, 56#define EXTCON_VIDEO_IN 17
72}; 57#define EXTCON_VIDEO_OUT 18
73extern const char extcon_cable_name[][CABLE_NAME_MAX + 1]; 58
59#define EXTCON_DOCK 19 /* Misc connector */
60#define EXTCON_JIG 20
61#define EXTCON_MECHANICAL 21
74 62
75struct extcon_cable; 63struct extcon_cable;
76 64
@@ -78,7 +66,7 @@ struct extcon_cable;
78 * struct extcon_dev - An extcon device represents one external connector. 66 * struct extcon_dev - An extcon device represents one external connector.
79 * @name: The name of this extcon device. Parent device name is 67 * @name: The name of this extcon device. Parent device name is
80 * used if NULL. 68 * used if NULL.
81 * @supported_cable: Array of supported cable names ending with NULL. 69 * @supported_cable: Array of supported cable names ending with EXTCON_NONE.
82 * If supported_cable is NULL, cable name related APIs 70 * If supported_cable is NULL, cable name related APIs
83 * are disabled. 71 * are disabled.
84 * @mutually_exclusive: Array of mutually exclusive set of cables that cannot 72 * @mutually_exclusive: Array of mutually exclusive set of cables that cannot
@@ -89,16 +77,14 @@ struct extcon_cable;
89 * be attached simulataneously. {0x7, 0} is equivalent to 77 * be attached simulataneously. {0x7, 0} is equivalent to
90 * {0x3, 0x6, 0x5, 0}. If it is {0xFFFFFFFF, 0}, there 78 * {0x3, 0x6, 0x5, 0}. If it is {0xFFFFFFFF, 0}, there
91 * can be no simultaneous connections. 79 * can be no simultaneous connections.
92 * @print_name: An optional callback to override the method to print the
93 * name of the extcon device.
94 * @print_state: An optional callback to override the method to print the 80 * @print_state: An optional callback to override the method to print the
95 * status of the extcon device. 81 * status of the extcon device.
96 * @dev: Device of this extcon. 82 * @dev: Device of this extcon.
97 * @state: Attach/detach state of this extcon. Do not provide at 83 * @state: Attach/detach state of this extcon. Do not provide at
98 * register-time. 84 * register-time.
99 * @nh: Notifier for the state change events from this extcon 85 * @nh: Notifier for the state change events from this extcon
100 * @entry: To support list of extcon devices so that users can search 86 * @entry: To support list of extcon devices so that users can
101 * for extcon devices based on the extcon name. 87 * search for extcon devices based on the extcon name.
102 * @lock: 88 * @lock:
103 * @max_supported: Internal value to store the number of cables. 89 * @max_supported: Internal value to store the number of cables.
104 * @extcon_dev_type: Device_type struct to provide attribute_groups 90 * @extcon_dev_type: Device_type struct to provide attribute_groups
@@ -113,16 +99,15 @@ struct extcon_cable;
113struct extcon_dev { 99struct extcon_dev {
114 /* Optional user initializing data */ 100 /* Optional user initializing data */
115 const char *name; 101 const char *name;
116 const char **supported_cable; 102 const unsigned int *supported_cable;
117 const u32 *mutually_exclusive; 103 const u32 *mutually_exclusive;
118 104
119 /* Optional callbacks to override class functions */ 105 /* Optional callbacks to override class functions */
120 ssize_t (*print_name)(struct extcon_dev *edev, char *buf);
121 ssize_t (*print_state)(struct extcon_dev *edev, char *buf); 106 ssize_t (*print_state)(struct extcon_dev *edev, char *buf);
122 107
123 /* Internal data. Please do not set. */ 108 /* Internal data. Please do not set. */
124 struct device dev; 109 struct device dev;
125 struct raw_notifier_head nh; 110 struct raw_notifier_head *nh;
126 struct list_head entry; 111 struct list_head entry;
127 int max_supported; 112 int max_supported;
128 spinlock_t lock; /* could be called by irq handler */ 113 spinlock_t lock; /* could be called by irq handler */
@@ -161,8 +146,6 @@ struct extcon_cable {
161/** 146/**
162 * struct extcon_specific_cable_nb - An internal data for 147 * struct extcon_specific_cable_nb - An internal data for
163 * extcon_register_interest(). 148 * extcon_register_interest().
164 * @internal_nb: A notifier block bridging extcon notifier
165 * and cable notifier.
166 * @user_nb: user provided notifier block for events from 149 * @user_nb: user provided notifier block for events from
167 * a specific cable. 150 * a specific cable.
168 * @cable_index: the target cable. 151 * @cable_index: the target cable.
@@ -170,7 +153,6 @@ struct extcon_cable {
170 * @previous_value: the saved previous event value. 153 * @previous_value: the saved previous event value.
171 */ 154 */
172struct extcon_specific_cable_nb { 155struct extcon_specific_cable_nb {
173 struct notifier_block internal_nb;
174 struct notifier_