aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-05 01:15:15 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-05 01:15:15 -0500
commit8e483ed1342a4ea45b70f0f33ac54eff7a33d918 (patch)
tree66c9f9ad196581966bdb06802e11e9856b1c0779 /drivers/char
parente880e87488d5bbf630dd716e6de8a53585614568 (diff)
parente2d8680741edec84f843f783a7f4a44418b818d7 (diff)
Merge tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH: "Here is the big char/misc driver update for 4.4-rc1. Lots of different driver and subsystem updates, hwtracing being the largest with the addition of some new platforms that are now supported. Full details in the shortlog. All of these have been in linux-next for a long time with no reported issues" * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits) fpga: socfpga: Fix check of return value of devm_request_irq lkdtm: fix ACCESS_USERSPACE test mcb: Destroy IDA on module unload mcb: Do not return zero on error path in mcb_pci_probe() mei: bus: set the device name before running fixup mei: bus: use correct lock ordering mei: Fix debugfs filename in error output char: ipmi: ipmi_ssif: Replace timeval with timespec64 fpga: zynq-fpga: Fix issue with drvdata being overwritten. fpga manager: remove unnecessary null pointer checks fpga manager: ensure lifetime with of_fpga_mgr_get fpga: zynq-fpga: Change fw format to handle bin instead of bit. fpga: zynq-fpga: Fix unbalanced clock handling misc: sram: partition base address belongs to __iomem space coresight: etm3x: adding documentation for sysFS's cpu interface vme: 8-bit status/id takes 256 values, not 255 fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000 ARM: zynq: dt: Updated devicetree for Zynq 7000 platform. ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager. ver_linux: proc/modules, limit text processing to 'sed' ...
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/efirtc.c13
-rw-r--r--drivers/char/hpet.c25
-rw-r--r--drivers/char/ipmi/ipmi_ssif.c9
-rw-r--r--drivers/char/snsc.c5
4 files changed, 13 insertions, 39 deletions
diff --git a/drivers/char/efirtc.c b/drivers/char/efirtc.c
index e39e7402e623..dc62568b7dde 100644
--- a/drivers/char/efirtc.c
+++ b/drivers/char/efirtc.c
@@ -30,7 +30,6 @@
30#include <linux/types.h> 30#include <linux/types.h>
31#include <linux/errno.h> 31#include <linux/errno.h>
32#include <linux/miscdevice.h> 32#include <linux/miscdevice.h>
33#include <linux/module.h>
34#include <linux/init.h> 33#include <linux/init.h>
35#include <linux/rtc.h> 34#include <linux/rtc.h>
36#include <linux/proc_fs.h> 35#include <linux/proc_fs.h>
@@ -395,14 +394,8 @@ efi_rtc_init(void)
395 } 394 }
396 return 0; 395 return 0;
397} 396}
397device_initcall(efi_rtc_init);
398 398
399static void __exit 399/*
400efi_rtc_exit(void)
401{
402 /* not yet used */
403}
404
405module_init(efi_rtc_init);
406module_exit(efi_rtc_exit);
407
408MODULE_LICENSE("GPL"); 400MODULE_LICENSE("GPL");
401*/
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 5c0baa9ffc64..240b6cf1d97c 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -12,7 +12,6 @@
12 */ 12 */
13 13
14#include <linux/interrupt.h> 14#include <linux/interrupt.h>
15#include <linux/module.h>
16#include <linux/kernel.h> 15#include <linux/kernel.h>
17#include <linux/types.h> 16#include <linux/types.h>
18#include <linux/miscdevice.h> 17#include <linux/miscdevice.h>
@@ -1043,24 +1042,16 @@ static int hpet_acpi_add(struct acpi_device *device)
1043 return hpet_alloc(&data); 1042 return hpet_alloc(&data);
1044} 1043}
1045 1044
1046static int hpet_acpi_remove(struct acpi_device *device)
1047{
1048 /* XXX need to unregister clocksource, dealloc mem, etc */
1049 return -EINVAL;
1050}
1051
1052static const struct acpi_device_id hpet_device_ids[] = { 1045static const struct acpi_device_id hpet_device_ids[] = {
1053 {"PNP0103", 0}, 1046 {"PNP0103", 0},
1054 {"", 0}, 1047 {"", 0},
1055}; 1048};
1056MODULE_DEVICE_TABLE(acpi, hpet_device_ids);
1057 1049
1058static struct acpi_driver hpet_acpi_driver = { 1050static struct acpi_driver hpet_acpi_driver = {
1059 .name = "hpet", 1051 .name = "hpet",
1060 .ids = hpet_device_ids, 1052 .ids = hpet_device_ids,
1061 .ops = { 1053 .ops = {
1062 .add = hpet_acpi_add, 1054 .add = hpet_acpi_add,
1063 .remove = hpet_acpi_remove,
1064 }, 1055 },
1065}; 1056};
1066 1057
@@ -1086,19 +1077,9 @@ static int __init hpet_init(void)
1086 1077
1087 return 0; 1078 return 0;
1088} 1079}
1080device_initcall(hpet_init);
1089 1081
1090static void __exit hpet_exit(void) 1082/*
1091{
1092 acpi_bus_unregister_driver(&hpet_acpi_driver);
1093
1094 if (sysctl_header)
1095 unregister_sysctl_table(sysctl_header);
1096 misc_deregister(&hpet_misc);
1097
1098 return;
1099}
1100
1101module_init(hpet_init);
1102module_exit(hpet_exit);
1103MODULE_AUTHOR("Bob Picco <Robert.Picco@hp.com>"); 1083MODULE_AUTHOR("Bob Picco <Robert.Picco@hp.com>");
1104MODULE_LICENSE("GPL"); 1084MODULE_LICENSE("GPL");
1085*/
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 877205d22046..90e624662257 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -52,6 +52,7 @@
52#include <linux/kthread.h> 52#include <linux/kthread.h>
53#include <linux/acpi.h> 53#include <linux/acpi.h>
54#include <linux/ctype.h> 54#include <linux/ctype.h>
55#include <linux/time64.h>
55 56
56#define PFX "ipmi_ssif: " 57#define PFX "ipmi_ssif: "
57#define DEVICE_NAME "ipmi_ssif" 58#define DEVICE_NAME "ipmi_ssif"
@@ -1041,12 +1042,12 @@ static void sender(void *send_info,
1041 start_next_msg(ssif_info, flags); 1042 start_next_msg(ssif_info, flags);
1042 1043
1043 if (ssif_info->ssif_debug & SSIF_DEBUG_TIMING) { 1044 if (ssif_info->ssif_debug & SSIF_DEBUG_TIMING) {
1044 struct timeval t; 1045 struct timespec64 t;
1045 1046
1046 do_gettimeofday(&t); 1047 ktime_get_real_ts64(&t);
1047 pr_info("**Enqueue %02x %02x: %ld.%6.6ld\n", 1048 pr_info("**Enqueue %02x %02x: %lld.%6.6ld\n",
1048 msg->data[0], msg->data[1], 1049 msg->data[0], msg->data[1],
1049 (long) t.tv_sec, (long) t.tv_usec); 1050 (long long) t.tv_sec, (long) t.tv_nsec / NSEC_PER_USEC);
1050 } 1051 }
1051} 1052}
1052 1053
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 8a80ead8d316..94006f9c2e43 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -19,7 +19,7 @@
19#include <linux/sched.h> 19#include <linux/sched.h>
20#include <linux/device.h> 20#include <linux/device.h>
21#include <linux/poll.h> 21#include <linux/poll.h>
22#include <linux/module.h> 22#include <linux/init.h>
23#include <linux/slab.h> 23#include <linux/slab.h>
24#include <linux/mutex.h> 24#include <linux/mutex.h>
25#include <asm/sn/io.h> 25#include <asm/sn/io.h>
@@ -461,5 +461,4 @@ scdrv_init(void)
461 } 461 }
462 return 0; 462 return 0;
463} 463}
464 464device_initcall(scdrv_init);
465module_init(scdrv_init);