diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-26 17:51:15 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-26 17:51:15 -0400 |
| commit | d87823813fe498fdd47894bd28e460a9dee8d771 (patch) | |
| tree | 214eaf3babd0d61f08022fc1edd99a5128616548 /include | |
| parent | e382608254e06c8109f40044f5e693f2e04f3899 (diff) | |
| parent | 3dc196eae1db548f05e53e5875ff87b8ff79f249 (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.h | 4 | ||||
| -rw-r--r-- | include/linux/extcon.h | 134 | ||||
| -rw-r--r-- | include/linux/extcon/extcon-adc-jack.h | 5 | ||||
| -rw-r--r-- | include/linux/hyperv.h | 48 | ||||
| -rw-r--r-- | include/linux/mei_cl_bus.h | 38 | ||||
| -rw-r--r-- | include/linux/mfd/arizona/pdata.h | 3 | ||||
| -rw-r--r-- | include/linux/mfd/axp20x.h | 5 | ||||
| -rw-r--r-- | include/linux/mod_devicetable.h | 13 | ||||
| -rw-r--r-- | include/linux/parport.h | 43 | ||||
| -rw-r--r-- | include/linux/scif.h | 993 | ||||
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/hyperv.h | 8 | ||||
| -rw-r--r-- | include/uapi/linux/mic_common.h | 12 | ||||
| -rw-r--r-- | include/uapi/linux/scif_ioctl.h | 130 |
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 | */ |
| 51 | enum 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 |
| 73 | extern 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 | ||
| 75 | struct extcon_cable; | 63 | struct 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; | |||
| 113 | struct extcon_dev { | 99 | struct 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 | */ |
| 172 | struct extcon_specific_cable_nb { | 155 | struct extcon_specific_cable_nb { |
| 173 | struct notifier_block internal_nb; | ||
| 174 | struct notifier_ | ||
