diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-21 12:42:58 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-21 12:42:58 -0400 |
| commit | 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1 (patch) | |
| tree | dfe99751c21aaf39e49765379d0b9b32114c757d /include | |
| parent | 41d5e08ea86af3359239d5a6f7021cdc61beaa49 (diff) | |
| parent | ea5505fabd3b59608750bfd3721d0f8bc5c8b0bb (diff) | |
Merge tag 'char-misc-4.1-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 patchset for 4.1-rc1.
Lots of different driver subsystem updates here, nothing major, full
details are in the shortlog.
All of this has been in linux-next for a while"
* tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (133 commits)
mei: trace: remove unused TRACE_SYSTEM_STRING
DTS: ARM: OMAP3-N900: Add lis3lv02d support
Documentation: DT: lis302: update wakeup binding
lis3lv02d: DT: add wakeup unit 2 and wakeup threshold
lis3lv02d: DT: use s32 to support negative values
Drivers: hv: hv_balloon: correctly handle num_pages>INT_MAX case
Drivers: hv: hv_balloon: correctly handle val.freeram<num_pages case
mei: replace check for connection instead of transitioning
mei: use mei_cl_is_connected consistently
mei: fix mei_poll operation
hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg()
Drivers: hv: hv_balloon: survive ballooning request with num_pages=0
Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function
Drivers: hv: hv_balloon: do not online pages in offline blocks
hv: remove the per-channel workqueue
hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind()
hv: run non-blocking message handlers in the dispatch tasklet
coresight: moving to new "hwtracing" directory
coresight-tmc: Adding a status interface to sysfs
coresight: remove the unnecessary configuration coresight-default-sink
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/hyperv.h | 37 | ||||
| -rw-r--r-- | include/linux/io.h | 2 | ||||
| -rw-r--r-- | include/linux/jz4780-nemc.h | 43 | ||||
| -rw-r--r-- | include/linux/mfd/arizona/core.h | 2 | ||||
| -rw-r--r-- | include/linux/miscdevice.h | 2 |
5 files changed, 82 insertions, 4 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 5a2ba674795e..902c37aef67e 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h | |||
| @@ -646,12 +646,13 @@ struct hv_input_signal_event_buffer { | |||
| 646 | }; | 646 | }; |
| 647 | 647 | ||
| 648 | struct vmbus_channel { | 648 | struct vmbus_channel { |
| 649 | /* Unique channel id */ | ||
| 650 | int id; | ||
| 651 | |||
| 649 | struct list_head listentry; | 652 | struct list_head listentry; |
| 650 | 653 | ||
| 651 | struct hv_device *device_obj; | 654 | struct hv_device *device_obj; |
| 652 | 655 | ||
| 653 | struct work_struct work; | ||
| 654 | |||
| 655 | enum vmbus_channel_state state; | 656 | enum vmbus_channel_state state; |
| 656 | 657 | ||
| 657 | struct vmbus_channel_offer_channel offermsg; | 658 | struct vmbus_channel_offer_channel offermsg; |
| @@ -672,7 +673,6 @@ struct vmbus_channel { | |||
| 672 | struct hv_ring_buffer_info outbound; /* send to parent */ | 673 | struct hv_ring_buffer_info outbound; /* send to parent */ |
| 673 | struct hv_ring_buffer_info inbound; /* receive from parent */ | 674 | struct hv_ring_buffer_info inbound; /* receive from parent */ |
| 674 | spinlock_t inbound_lock; | 675 | spinlock_t inbound_lock; |
| 675 | struct workqueue_struct *controlwq; | ||
| 676 | 676 | ||
| 677 | struct vmbus_close_msg close_msg; | 677 | struct vmbus_close_msg close_msg; |
| 678 | 678 | ||
| @@ -758,6 +758,9 @@ struct vmbus_channel { | |||
| 758 | * link up channels based on their CPU affinity. | 758 | * link up channels based on their CPU affinity. |
| 759 | */ | 759 | */ |
| 760 | struct list_head percpu_list; | 760 | struct list_head percpu_list; |
| 761 | |||
| 762 | int num_sc; | ||
| 763 | int next_oc; | ||
| 761 | }; | 764 | }; |
| 762 | 765 | ||
| 763 | static inline void set_channel_read_state(struct vmbus_channel *c, bool state) | 766 | static inline void set_channel_read_state(struct vmbus_channel *c, bool state) |
| @@ -861,6 +864,14 @@ extern int vmbus_sendpacket(struct vmbus_channel *channel, | |||
| 861 | enum vmbus_packet_type type, | 864 | enum vmbus_packet_type type, |
| 862 | u32 flags); | 865 | u32 flags); |
| 863 | 866 | ||
| 867 | extern int vmbus_sendpacket_ctl(struct vmbus_channel *channel, | ||
| 868 | void *buffer, | ||
| 869 | u32 bufferLen, | ||
| 870 | u64 requestid, | ||
| 871 | enum vmbus_packet_type type, | ||
| 872 | u32 flags, | ||
| 873 | bool kick_q); | ||
| 874 | |||
| 864 | extern int vmbus_sendpacket_pagebuffer(struct vmbus_channel *channel, | 875 | extern int vmbus_sendpacket_pagebuffer(struct vmbus_channel *channel, |
| 865 | struct hv_page_buffer pagebuffers[], | 876 | struct hv_page_buffer pagebuffers[], |
| 866 | u32 pagecount, | 877 | u32 pagecount, |
| @@ -868,6 +879,15 @@ extern int vmbus_sendpacket_pagebuffer(struct vmbus_channel *channel, | |||
| 868 | u32 bufferlen, | 879 | u32 bufferlen, |
| 869 | u64 requestid); | 880 | u64 requestid); |
| 870 | 881 | ||
| 882 | extern int vmbus_sendpacket_pagebuffer_ctl(struct vmbus_channel *channel, | ||
| 883 | struct hv_page_buffer pagebuffers[], | ||
| 884 | u32 pagecount, | ||
| 885 | void *buffer, | ||
| 886 | u32 bufferlen, | ||
| 887 | u64 requestid, | ||
| 888 | u32 flags, | ||
| 889 | bool kick_q); | ||
| 890 | |||
| 871 | extern int vmbus_sendpacket_multipagebuffer(struct vmbus_channel *channel, | 891 | extern int vmbus_sendpacket_multipagebuffer(struct vmbus_channel *channel, |
| 872 | struct hv_multipage_buffer *mpb, | 892 | struct hv_multipage_buffer *mpb, |
| 873 | void *buffer, | 893 | void *buffer, |
| @@ -1107,6 +1127,16 @@ void vmbus_driver_unregister(struct hv_driver *hv_driver); | |||
| 1107 | } | 1127 | } |
| 1108 | 1128 | ||
| 1109 | /* | 1129 | /* |
| 1130 | * NetworkDirect. This is the guest RDMA service. | ||
| 1131 | * {8c2eaf3d-32a7-4b09-ab99-bd1f1c86b501} | ||
| 1132 | */ | ||
| 1133 | #define HV_ND_GUID \ | ||
| 1134 | .guid = { \ | ||
| 1135 | 0x3d, 0xaf, 0x2e, 0x8c, 0xa7, 0x32, 0x09, 0x4b, \ | ||
| 1136 | 0xab, 0x99, 0xbd, 0x1f, 0x1c, 0x86, 0xb5, 0x01 \ | ||
| 1137 | } | ||
| 1138 | |||
| 1139 | /* | ||
| 1110 | * Common header for Hyper-V ICs | 1140 | * Common header for Hyper-V ICs |
| 1111 | */ | 1141 | */ |
| 1112 | 1142 | ||
| @@ -1213,6 +1243,7 @@ void hv_kvp_onchannelcallback(void *); | |||
| 1213 | int hv_vss_init(struct hv_util_service *); | 1243 | int hv_vss_init(struct hv_util_service *); |
| 1214 | void hv_vss_deinit(void); | 1244 | void hv_vss_deinit(void); |
| 1215 | void hv_vss_onchannelcallback(void *); | 1245 | void hv_vss_onchannelcallback(void *); |
| 1246 | void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid); | ||
| 1216 | 1247 | ||
| 1217 | extern struct resource hyperv_mmio; | 1248 | extern struct resource hyperv_mmio; |
| 1218 | 1249 | ||
diff --git a/include/linux/io.h b/include/linux/io.h index 4cc299c598e0..986f2bffea1e 100644 --- a/include/linux/io.h +++ b/include/linux/io.h | |||
| @@ -72,6 +72,8 @@ void __iomem *devm_ioremap(struct device *dev, resource_size_t offset, | |||
| 72 | resource_size_t size); | 72 | resource_size_t size); |
| 73 | void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset, | 73 | void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset, |
| 74 | resource_size_t size); | 74 | resource_size_t size); |
| 75 | void __iomem *devm_ioremap_wc(struct device *dev, resource_size_t offset, | ||
| 76 | resource_size_t size); | ||
| 75 | void devm_iounmap(struct device *dev, void __iomem *addr); | 77 | void devm_iounmap(struct device *dev, void __iomem *addr); |
| 76 | int check_signature(const volatile void __iomem *io_addr, | 78 | int check_signature(const volatile void __iomem *io_addr, |
| 77 | const unsigned char *signature, int length); | 79 | const unsigned char *signature, int length); |
diff --git a/include/linux/jz4780-nemc.h b/include/linux/jz4780-nemc.h new file mode 100644 index 000000000000..e7f1cc7a2284 --- /dev/null +++ b/include/linux/jz4780-nemc.h | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | /* | ||
| 2 | * JZ4780 NAND/external memory controller (NEMC) | ||
| 3 | * | ||
| 4 | * Copyright (c) 2015 Imagination Technologies | ||
| 5 | * Author: Alex Smith <alex@alex-smith.me.uk> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_JZ4780_NEMC_H__ | ||
| 14 | #define __LINUX_JZ4780_NEMC_H__ | ||
| 15 | |||
| 16 | #include <linux/types.h> | ||
| 17 | |||
| 18 | struct device; | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Number of NEMC banks. Note that there are actually 6, but they are numbered | ||
| 22 | * from 1. | ||
| 23 | */ | ||
| 24 | #define JZ4780_NEMC_NUM_BANKS 7 | ||
| 25 | |||
| 26 | /** | ||
| 27 | * enum jz4780_nemc_bank_type - device types which can be connected to a bank | ||
| 28 | * @JZ4780_NEMC_BANK_SRAM: SRAM | ||
| 29 | * @JZ4780_NEMC_BANK_NAND: NAND | ||
| 30 | */ | ||
| 31 | enum jz4780_nemc_bank_type { | ||
| 32 | JZ4780_NEMC_BANK_SRAM, | ||
| 33 | JZ4780_NEMC_BANK_NAND, | ||
| 34 | }; | ||
| 35 | |||
| 36 | extern unsigned int jz4780_nemc_num_banks(struct device *dev); | ||
| 37 | |||
| 38 | extern void jz4780_nemc_set_type(struct device *dev, unsigned int bank, | ||
| 39 | enum jz4780_nemc_bank_type type); | ||
| 40 | extern void jz4780_nemc_assert(struct device *dev, unsigned int bank, | ||
| 41 | bool assert); | ||
| 42 | |||
| 43 | #endif /* __LINUX_JZ4780_NEMC_H__ */ | ||
diff --git a/include/linux/mfd/arizona/core.h b/include/linux/mfd/arizona/core.h index f97010576f56..16a498f48169 100644 --- a/include/linux/mfd/arizona/core.h +++ b/include/linux/mfd/arizona/core.h | |||
| @@ -127,7 +127,7 @@ struct arizona { | |||
| 127 | struct regmap_irq_chip_data *aod_irq_chip; | 127 | struct regmap_irq_chip_data *aod_irq_chip; |
| 128 | struct regmap_irq_chip_data *irq_chip; | 128 | struct regmap_irq_chip_data *irq_chip; |
| 129 | 129 | ||
| 130 | bool hpdet_magic; | 130 | bool hpdet_clamp; |
| 131 | unsigned int hp_ena; | 131 | unsigned int hp_ena; |
| 132 | 132 | ||
| 133 | struct mutex clk_lock; | 133 | struct mutex clk_lock; |
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h index ee80dd7d9f60..819077c32690 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | #define MISC_DYNAMIC_MINOR 255 | 52 | #define MISC_DYNAMIC_MINOR 255 |
| 53 | 53 | ||
| 54 | struct device; | 54 | struct device; |
| 55 | struct attribute_group; | ||
| 55 | 56 | ||
| 56 | struct miscdevice { | 57 | struct miscdevice { |
| 57 | int minor; | 58 | int minor; |
| @@ -60,6 +61,7 @@ struct miscdevice { | |||
| 60 | struct list_head list; | 61 | struct list_head list; |
| 61 | struct device *parent; | 62 | struct device *parent; |
| 62 | struct device *this_device; | 63 | struct device *this_device; |
| 64 | const struct attribute_group **groups; | ||
| 63 | const char *nodename; | 65 | const char *nodename; |
| 64 | umode_t mode; | 66 | umode_t mode; |
| 65 | }; | 67 | }; |
