mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Char / misc driver patches for 3.16-rc1
Here is the big char / misc driver updates for 3.16-rc1. Lots of different driver updates for a variety of different drivers and minor driver subsystems. All have been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEABECAAYFAlONWI8ACgkQMUfUDdst+ykvQACdGxTChdEU7edElDAXeelVmu8v D1UAoLDvqwUsN7t5v+WG2wkOvhf5MEA7 =tVMP -----END PGP SIGNATURE----- Merge tag 'char-misc-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc into next Pull char/misc driver patches from Greg KH: "Here is the big char / misc driver update for 3.16-rc1. Lots of different driver updates for a variety of different drivers and minor driver subsystems. All have been in linux-next with no reported issues" * tag 'char-misc-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (79 commits) hv: use correct order when freeing monitor_pages spmi: of: fixup generic SPMI devicetree binding example applicom: dereferencing NULL on error path misc: genwqe: fix uninitialized return value in genwqe_free_sync_sgl() miscdevice.h: Simple syntax fix to make pointers consistent. MAINTAINERS: Add miscdevice.h to file list for char/misc drivers. mcb: Add support for shared PCI IRQs drivers: Remove duplicate conditionally included subdirs misc: atmel_pwm: only build for supported platforms mei: me: move probe quirk to cfg structure mei: add per device configuration mei: me: read H_CSR after asserting reset mei: me: drop harmful wait optimization mei: me: fix hw ready reset flow mei: fix memory leak of mei_clients array uio: fix vma io range check in mmap drivers: uio_dmem_genirq: Fix memory leak in uio_dmem_genirq_probe() w1: do not unlock unheld list_mutex in __w1_remove_master_device() w1: optional bundling of netlink kernel replies connector: allow multiple messages to be sent in one packet ...
This commit is contained in:
commit
4046136afb
68 changed files with 2931 additions and 787 deletions
|
|
@ -24,7 +24,8 @@ netlink based networking for inter-process communication in a significantly
|
|||
easier way:
|
||||
|
||||
int cn_add_callback(struct cb_id *id, char *name, void (*callback) (struct cn_msg *, struct netlink_skb_parms *));
|
||||
void cn_netlink_send(struct cn_msg *msg, u32 __group, int gfp_mask);
|
||||
void cn_netlink_send_multi(struct cn_msg *msg, u16 len, u32 portid, u32 __group, int gfp_mask);
|
||||
void cn_netlink_send(struct cn_msg *msg, u32 portid, u32 __group, int gfp_mask);
|
||||
|
||||
struct cb_id
|
||||
{
|
||||
|
|
@ -71,15 +72,21 @@ void cn_del_callback(struct cb_id *id);
|
|||
struct cb_id *id - unique connector's user identifier.
|
||||
|
||||
|
||||
int cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);
|
||||
int cn_netlink_send_multi(struct cn_msg *msg, u16 len, u32 portid, u32 __groups, int gfp_mask);
|
||||
int cn_netlink_send(struct cn_msg *msg, u32 portid, u32 __groups, int gfp_mask);
|
||||
|
||||
Sends message to the specified groups. It can be safely called from
|
||||
softirq context, but may silently fail under strong memory pressure.
|
||||
If there are no listeners for given group -ESRCH can be returned.
|
||||
|
||||
struct cn_msg * - message header(with attached data).
|
||||
u16 len - for *_multi multiple cn_msg messages can be sent
|
||||
u32 port - destination port.
|
||||
If non-zero the message will be sent to the
|
||||
given port, which should be set to the
|
||||
original sender.
|
||||
u32 __group - destination group.
|
||||
If __group is zero, then appropriate group will
|
||||
If port and __group is zero, then appropriate group will
|
||||
be searched through all registered connector users,
|
||||
and message will be delivered to the group which was
|
||||
created for user with the same ID as in msg.
|
||||
|
|
@ -111,7 +118,7 @@ acknowledge number MUST be the same + 1.
|
|||
If we receive a message and its sequence number is not equal to one we
|
||||
are expecting, then it is a new message. If we receive a message and
|
||||
its sequence number is the same as one we are expecting, but its
|
||||
acknowledge is not equal to the acknowledge number in the original
|
||||
acknowledge is not equal to the sequence number in the original
|
||||
message + 1, then it is a new message.
|
||||
|
||||
Obviously, the protocol header contains the above id.
|
||||
|
|
|
|||
18
Documentation/devicetree/bindings/misc/arm-charlcd.txt
Normal file
18
Documentation/devicetree/bindings/misc/arm-charlcd.txt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
ARM Versatile Character LCD
|
||||
-----------------------------------------------------
|
||||
This binding defines the character LCD interface found on ARM Versatile AB
|
||||
and PB reference platforms.
|
||||
|
||||
Required properties:
|
||||
- compatible : "arm,versatile-clcd"
|
||||
- reg : Location and size of character LCD registers
|
||||
|
||||
Optional properties:
|
||||
- interrupts - single interrupt for character LCD. The character LCD can
|
||||
operate in polled mode without an interrupt.
|
||||
|
||||
Example:
|
||||
lcd@10008000 {
|
||||
compatible = "arm,versatile-lcd";
|
||||
reg = <0x10008000 0x1000>;
|
||||
};
|
||||
|
|
@ -26,7 +26,7 @@ Each child node must have one and only one 'reg' entry of type SPMI_USID.
|
|||
reg = <...>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells <0>;
|
||||
#size-cells = <0>;
|
||||
|
||||
child@0 {
|
||||
compatible = "...";
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ driver - (standard) symlink to the w1 driver
|
|||
w1_master_add - Manually register a slave device
|
||||
w1_master_attempts - the number of times a search was attempted
|
||||
w1_master_max_slave_count
|
||||
- the maximum slaves that may be attached to a master
|
||||
- maximum number of slaves to search for at a time
|
||||
w1_master_name - the name of the device (w1_bus_masterX)
|
||||
w1_master_pullup - 5V strong pullup 0 enabled, 1 disabled
|
||||
w1_master_remove - Manually remove a slave device
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ Protocol.
|
|||
W1_SLAVE_CMD
|
||||
userspace command for slave device
|
||||
(read/write/touch)
|
||||
__u8 res - reserved
|
||||
__u8 status - error indication from kernel
|
||||
__u16 len - size of data attached to this header data
|
||||
union {
|
||||
__u8 id[8]; - slave unique device id
|
||||
|
|
@ -44,10 +44,14 @@ Protocol.
|
|||
__u8 cmd - command opcode.
|
||||
W1_CMD_READ - read command
|
||||
W1_CMD_WRITE - write command
|
||||
W1_CMD_TOUCH - touch command
|
||||
(write and sample data back to userspace)
|
||||
W1_CMD_SEARCH - search command
|
||||
W1_CMD_ALARM_SEARCH - alarm search command
|
||||
W1_CMD_TOUCH - touch command
|
||||
(write and sample data back to userspace)
|
||||
W1_CMD_RESET - send bus reset
|
||||
W1_CMD_SLAVE_ADD - add slave to kernel list
|
||||
W1_CMD_SLAVE_REMOVE - remove slave from kernel list
|
||||
W1_CMD_LIST_SLAVES - get slaves list from kernel
|
||||
__u8 res - reserved
|
||||
__u16 len - length of data for this command
|
||||
For read command data must be allocated like for write command
|
||||
|
|
@ -87,8 +91,7 @@ format:
|
|||
id0 ... idN
|
||||
|
||||
Each message is at most 4k in size, so if number of master devices
|
||||
exceeds this, it will be split into several messages,
|
||||
cn.seq will be increased for each one.
|
||||
exceeds this, it will be split into several messages.
|
||||
|
||||
W1 search and alarm search commands.
|
||||
request:
|
||||
|
|
|
|||
Loading…
Reference in a new issue