aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-05 00:50:37 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-05 00:50:37 -0500
commite880e87488d5bbf630dd716e6de8a53585614568 (patch)
treecab1f22bdd3adb3141df135f98dcabecabc181b1 /drivers
parent118c216e16c5ccb028cd03a0dcd56d17a07ff8d7 (diff)
parentc23fe83138ed7b11ad763cbe8bf98e5378c04bd6 (diff)
Merge tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg KH: "Here's the "big" driver core updates for 4.4-rc1. Primarily a bunch of debugfs updates, with a smattering of minor driver core fixes and updates as well. All have been in linux-next for a long time" * tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: debugfs: Add debugfs_create_ulong() of: to support binding numa node to specified device in devicetree debugfs: Add read-only/write-only bool file ops debugfs: Add read-only/write-only size_t file ops debugfs: Add read-only/write-only x64 file ops debugfs: Consolidate file mode checks in debugfs_create_*() Revert "mm: Check if section present during memory block (un)registering" driver-core: platform: Provide helpers for multi-driver modules mm: Check if section present during memory block (un)registering devres: fix a for loop bounds check CMA: fix CONFIG_CMA_SIZE_MBYTES overflow in 64bit base/platform: assert that dev_pm_domain callbacks are called unconditionally sysfs: correctly handle short reads on PREALLOC attrs. base: soc: siplify ida usage kobject: move EXPORT_SYMBOL() macros next to corresponding definitions kobject: explain what kobject's sd field is debugfs: document that debugfs_remove*() accepts NULL and error values debugfs: Pass bool pointer to debugfs_create_bool() ACPI / EC: Fix broken 64bit big-endian users of 'global_lock'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/ec_sys.c2
-rw-r--r--drivers/acpi/internal.h2
-rw-r--r--drivers/base/core.c2
-rw-r--r--drivers/base/dma-contiguous.c2
-rw-r--r--drivers/base/platform.c80
-rw-r--r--drivers/base/regmap/internal.h6
-rw-r--r--drivers/base/regmap/regcache-lzo.c4
-rw-r--r--drivers/base/regmap/regcache.c24
-rw-r--r--drivers/base/soc.c21
-rw-r--r--drivers/bluetooth/hci_qca.c4
-rw-r--r--drivers/iommu/amd_iommu_init.c2
-rw-r--r--drivers/iommu/amd_iommu_types.h2
-rw-r--r--drivers/misc/mei/mei_dev.h2
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4.h4
-rw-r--r--drivers/net/wireless/ath/ath10k/core.h2
-rw-r--r--drivers/net/wireless/ath/ath5k/ath5k.h2
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.h4
-rw-r--r--drivers/net/wireless/b43/debugfs.c18
-rw-r--r--drivers/net/wireless/b43/debugfs.h2
-rw-r--r--drivers/net/wireless/b43legacy/debugfs.c10
-rw-r--r--drivers/net/wireless/b43legacy/debugfs.h2
-rw-r--r--drivers/net/wireless/iwlegacy/common.h6
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h6
-rw-r--r--drivers/of/device.c11
-rw-r--r--drivers/scsi/snic/snic_trc.c4
-rw-r--r--drivers/scsi/snic/snic_trc.h2
-rw-r--r--drivers/uwb/uwb-debug.c2
28 files changed, 140 insertions, 90 deletions
diff --git a/drivers/acpi/ec_sys.c b/drivers/acpi/ec_sys.c
index b4c216bab22b..bea8e425a8de 100644
--- a/drivers/acpi/ec_sys.c
+++ b/drivers/acpi/ec_sys.c
@@ -128,7 +128,7 @@ static int acpi_ec_add_debugfs(struct acpi_ec *ec, unsigned int ec_device_count)
128 if (!debugfs_create_x32("gpe", 0444, dev_dir, (u32 *)&first_ec->gpe)) 128 if (!debugfs_create_x32("gpe", 0444, dev_dir, (u32 *)&first_ec->gpe))
129 goto error; 129 goto error;
130 if (!debugfs_create_bool("use_global_lock", 0444, dev_dir, 130 if (!debugfs_create_bool("use_global_lock", 0444, dev_dir,
131 (u32 *)&first_ec->global_lock)) 131 &first_ec->global_lock))
132 goto error; 132 goto error;
133 133
134 if (write_support) 134 if (write_support)
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index c31787bef2d3..11d87bf67e73 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -138,7 +138,7 @@ struct acpi_ec {
138 unsigned long gpe; 138 unsigned long gpe;
139 unsigned long command_addr; 139 unsigned long command_addr;
140 unsigned long data_addr; 140 unsigned long data_addr;
141 unsigned long global_lock; 141 bool global_lock;
142 unsigned long flags; 142 unsigned long flags;
143 unsigned long reference_count; 143 unsigned long reference_count;
144 struct mutex mutex; 144 struct mutex mutex;
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 334ec7ef1960..b7d56c5ea3c6 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1066,7 +1066,7 @@ int device_add(struct device *dev)
1066 dev->kobj.parent = kobj; 1066 dev->kobj.parent = kobj;
1067 1067
1068 /* use parent numa_node */ 1068 /* use parent numa_node */
1069 if (parent) 1069 if (parent && (dev_to_node(dev) == NUMA_NO_NODE))
1070 set_dev_node(dev, dev_to_node(parent)); 1070 set_dev_node(dev, dev_to_node(parent));
1071 1071
1072 /* first, register with generic layer. */ 1072 /* first, register with generic layer. */
diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c
index a12ff9863d7e..e167a1e1bccb 100644
--- a/drivers/base/dma-contiguous.c
+++ b/drivers/base/dma-contiguous.c
@@ -46,7 +46,7 @@ struct cma *dma_contiguous_default_area;
46 * Users, who want to set the size of global CMA area for their system 46 * Users, who want to set the size of global CMA area for their system
47 * should use cma= kernel parameter. 47 * should use cma= kernel parameter.
48 */ 48 */
49static const phys_addr_t size_bytes = CMA_SIZE_MBYTES * SZ_1M; 49static const phys_addr_t size_bytes = (phys_addr_t)CMA_SIZE_MBYTES * SZ_1M;
50static phys_addr_t size_cmdline = -1; 50static phys_addr_t size_cmdline = -1;
51static phys_addr_t base_cmdline; 51static phys_addr_t base_cmdline;
52static phys_addr_t limit_cmdline; 52static phys_addr_t limit_cmdline;
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index f80aaaf9f610..1dd6d3bf1098 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -513,7 +513,7 @@ static int platform_drv_probe(struct device *_dev)
513 return ret; 513 return ret;
514 514
515 ret = dev_pm_domain_attach(_dev, true); 515 ret = dev_pm_domain_attach(_dev, true);
516 if (ret != -EPROBE_DEFER) { 516 if (ret != -EPROBE_DEFER && drv->probe) {
517 ret = drv->probe(dev); 517 ret = drv->probe(dev);
518 if (ret) 518 if (ret)
519 dev_pm_domain_detach(_dev, true); 519 dev_pm_domain_detach(_dev, true);
@@ -536,9 +536,10 @@ static int platform_drv_remove(struct device *_dev)
536{ 536{
537 struct platform_driver *drv = to_platform_driver(_dev->driver); 537 struct platform_driver *drv = to_platform_driver(_dev->driver);
538 struct platform_device *dev = to_platform_device(_dev); 538 struct platform_device *dev = to_platform_device(_dev);
539 int ret; 539 int ret = 0;
540 540
541 ret = drv->remove(dev); 541 if (drv->remove)
542 ret = drv->remove(dev);
542 dev_pm_domain_detach(_dev, true); 543 dev_pm_domain_detach(_dev, true);
543 544
544 return ret; 545 return ret;
@@ -549,7 +550,8 @@ static void platform_drv_shutdown(struct device *_dev)
549 struct platform_driver *drv = to_platform_driver(_dev->driver); 550 struct platform_driver *drv = to_platform_driver(_dev->driver);
550 struct platform_device *dev = to_platform_device(_dev); 551 struct platform_device *dev = to_platform_device(_dev);
551 552
552 drv->shutdown(dev); 553 if (drv->shutdown)
554 drv->shutdown(dev);
553 dev_pm_domain_detach(_dev, true); 555 dev_pm_domain_detach(_dev, true);
554} 556}
555 557
@@ -563,12 +565,9 @@ int __platform_driver_register(struct platform_driver *drv,
563{ 565{
564 drv->driver.owner = owner; 566 drv->driver.owner = owner;
565 drv->driver.bus = &platform_bus_type; 567 drv->driver.bus = &platform_bus_type;
566 if (drv->probe) 568 drv->driver.probe = platform_drv_probe;
567 drv->driver.probe = platform_drv_probe; 569 drv->driver.remove = platform_drv_remove;
568 if (drv->remove) 570 drv->driver.shutdown = platform_drv_shutdown;
569 drv->driver.remove = platform_drv_remove;
570 if (drv->shutdown)
571 drv->driver.shutdown = platform_drv_shutdown;
572 571
573 return driver_register(&drv->driver); 572 return driver_register(&drv->driver);
574} 573}
@@ -711,6 +710,67 @@ err_out:
711} 710}
712EXPORT_SYMBOL_GPL(__platform_create_bundle); 711EXPORT_SYMBOL_GPL(__platform_create_bundle);
713 712
713/**
714 * __platform_register_drivers - register an array of platform drivers
715 * @drivers: an array of drivers to register
716 * @count: the number of drivers to register
717 * @owner: module owning the drivers
718 *
719 * Registers platform drivers specified by an array. On failure to register a
720 * driver, all previously registered drivers will be unregistered. Callers of
721 * this API should use platform_unregister_drivers() to unregister drivers in
722 * the reverse order.
723 *
724 * Returns: 0 on success or a negative error code on failure.
725 */
726int __platform_register_drivers(struct platform_driver * const *drivers,
727 unsigned int count, struct module *owner)
728{
729 unsigned int i;
730 int err;
731
732 for (i = 0; i < count; i++) {
733 pr_debug("registering platform driver %ps\n", drivers[i]);
734
735 err = __platform_driver_register(drivers[i], owner);
736 if (err < 0) {
737 pr_err("failed to register platform driver %ps: %d\n",
738 drivers[i], err);
739 goto error;
740 }
741 }
742
743 return 0;
744
745error:
746 while (i--) {
747 pr_debug("unregistering platform driver %ps\n", drivers[i]);
748 platform_driver_unregister(drivers[i]);
749 }
750
751 return err;
752}
753EXPORT_SYMBOL_GPL(__platform_register_drivers);
754
755/**
756 * platform_unregister_drivers - unregister an array of platform drivers
757 * @drivers: an array of drivers to unregister
758 * @count: the number of drivers to unregister
759 *
760 * Unegisters platform drivers specified by an array. This is typically used
761 * to complement an earlier call to platform_register_drivers(). Drivers are
762 * unregistered in the reverse order in which they were registered.
763 */
764void platform_unregister_drivers(struct platform_driver * const *drivers,
765 unsigned int count)
766{
767 while (count--) {
768 pr_debug("unregistering platform driver %ps\n", drivers[count]);
769 platform_driver_unregister(drivers[count]);
770 }
771}
772EXPORT_SYMBOL_GPL(platform_unregister_drivers);
773
714/* modalias support enables more hands-off userspace setup: 774/* modalias support enables more hands-off userspace setup:
715 * (a) environment variable lets new-style hotplug events work once system is 775 * (a) environment variable lets new-style hotplug events work once system is
716 * fully running: "modprobe $MODALIAS" 776 * fully running: "modprobe $MODALIAS"
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h
index 3250e53473a3..3df977054781 100644
--- a/drivers/base/regmap/internal.h
+++ b/drivers/base/regmap/internal.h
@@ -125,9 +125,9 @@ struct regmap {
125 unsigned int num_reg_defaults_raw; 125 unsigned int num_reg_defaults_raw;
126 126
127 /* if set, only the cache is modified not the HW */ 127 /* if set, only the cache is modified not the HW */
128 u32 cache_only; 128 bool cache_only;
129 /* if set, only the HW is modified not the cache */ 129 /* if set, only the HW is modified not the cache */
130 u32 cache_bypass; 130 bool cache_bypass;
131 /* if set, remember to free reg_defaults_raw */ 131 /* if set, remember to free reg_defaults_raw */
132 bool cache_free; 132 bool cache_free;
133 133
@@ -135,7 +135,7 @@ struct regmap {
135 const void *reg_defaults_raw; 135 const void *reg_defaults_raw;
136 void *cache; 136 void *cache;
137 /* if set, the cache contains newer data than the HW */ 137 /* if set, the cache contains newer data than the HW */
138 u32 cache_dirty; 138 bool cache_dirty;
139 /* if set, the HW registers are known to match map->reg_defaults */ 139 /* if set, the HW registers are known to match map->reg_defaults */
140 bool no_sync_defaults; 140 bool no_sync_defaults;
141 141
diff --git a/drivers/base/regmap/regcache-lzo.c b/drivers/base/regmap/regcache-lzo.c
index 2d53f6f138e1..736e0d378567 100644
--- a/drivers/base/regmap/regcache-lzo.c
+++ b/drivers/base/regmap/regcache-lzo.c
@@ -355,9 +355,9 @@ static int regcache_lzo_sync(struct regmap *map, unsigned int min,
355 if (ret > 0 && val == map->reg_defaults[ret].def) 355 if (ret > 0 && val == map->reg_defaults[ret].def)
356 continue; 356 continue;
357 357
358 map->cache_bypass = 1; 358 map->cache_bypass = true;
359 ret = _regmap_write(map, i, val); 359 ret = _regmap_write(map, i, val);
360 map->cache_bypass = 0; 360 map->cache_bypass = false;
361 if (ret) 361 if (ret)
362 return ret; 362 return ret;
363 dev_dbg(map->dev, "Synced register %#x, value %#x\n", 363 dev_dbg(map->dev, "Synced register %#x, value %#x\n",
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 6f8a13ec32a4..4c07802986b2 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -54,11 +54,11 @@ static int regcache_hw_init(struct regmap *map)
54 return -ENOMEM; 54 return -ENOMEM;
55 55
56 if (!map->reg_defaults_raw) { 56 if (!map->reg_defaults_raw) {
57 u32 cache_bypass = map->cache_bypass; 57 bool cache_bypass = map->cache_bypass;
58 dev_warn(map->dev, "No cache defaults, reading back from HW\n"); 58 dev_warn(map->dev, "No cache defaults, reading back from HW\n");
59 59
60 /* Bypass the cache access till data read from HW*/ 60 /* Bypass the cache access till data read from HW*/
61 map->cache_bypass = 1; 61 map->cache_bypass = true;
62 tmp_buf = kmalloc(map->cache_size_raw, GFP_KERNEL); 62 tmp_buf = kmalloc(map->cache_size_raw, GFP_KERNEL);
63 if (!tmp_buf) { 63 if (!tmp_buf) {
64 ret = -ENOMEM; 64 ret = -ENOMEM;
@@ -285,9 +285,9 @@ static int regcache_default_sync(struct regmap *map, unsigned int min,
285 if (!regcache_reg_needs_sync(map, reg, val)) 285 if (!regcache_reg_needs_sync(map, reg, val))
286 continue; 286 continue;
287 287
288 map->cache_bypass = 1; 288 map->cache_bypass = true;
289 ret = _regmap_write(map, reg, val); 289 ret = _regmap_write(map, reg, val);
290 map->cache_bypass = 0; 290 map->cache_bypass = false;
291 if (ret) { 291 if (ret) {
292 dev_err(map->dev, "Unable to sync register %#x. %d\n", 292 dev_err(map->dev, "Unable to sync register %#x. %d\n",
293 reg, ret); 293 reg, ret);
@@ -315,7 +315,7 @@ int regcache_sync(struct regmap *map)
315 int ret = 0; 315 int ret = 0;
316 unsigned int i; 316 unsigned int i;
317 const char *name; 317 const char *name;
318 unsigned int bypass; 318 bool bypass;
319 319
320 BUG_ON(!map->cache_ops); 320 BUG_ON(!map->cache_ops);
321 321
@@ -333,7 +333,7 @@ int regcache_sync(struct regmap *map)
333 map->async = true; 333 map->async = true;
334 334
335 /* Apply any patch first */ 335 /* Apply any patch first */
336 map->cache_bypass = 1; 336 map->cache_bypass = true;
337 for (i = 0; i < map->patch_regs; i++) { 337 for (i = 0; i < map->patch_regs; i++) {
338 ret = _regmap_write(map, map->patch[i].reg, map->patch[i].def); 338 ret = _regmap_write(map, map->patch[i].reg, map->patch[i].def);
339 if (ret != 0) { 339 if (ret != 0) {
@@ -342,7 +342,7 @@ int regcache_sync(struct regmap *map)
342 goto out; 342 goto out;
343 } 343 }
344 } 344 }
345 map->cache_bypass = 0; 345 map->cache_bypass = false;
346 346
347 if (map->cache_ops->sync) 347 if (map->cache_ops->sync)
348 ret = map->cache_ops->sync(map, 0, map->max_register); 348 ret = map->cache_ops->sync(map, 0, map->max_register);
@@ -384,7 +384,7 @@ int regcache_sync_region(struct regmap *map, unsigned int min,
384{ 384{
385 int ret = 0; 385 int ret = 0;
386 const char *name; 386 const char *name;
387 unsigned int bypass; 387 bool bypass;
388 388
389 BUG_ON(!map->cache_ops); 389 BUG_ON(!map->cache_ops);
390 390
@@ -637,11 +637,11 @@ static int regcache_sync_block_single(struct regmap *map, void *block,
637 if (!regcache_reg_needs_sync(map, regtmp, val)) 637 if (!regcache_reg_needs_sync(map, regtmp, val))
638 continue; 638 continue;
639 639
640 map->cache_bypass = 1; 640 map->cache_bypass = true;
641 641
642 ret = _regmap_write(map, regtmp, val); 642 ret = _regmap_write(map, regtmp, val);
643 643
644 map->cache_bypass = 0; 644 map->cache_bypass = false;
645 if (ret != 0) { 645 if (ret != 0) {
646 dev_err(map->dev, "Unable to sync register %#x. %d\n", 646 dev_err(map->dev, "Unable to sync register %#x. %d\n",
647 regtmp, ret); 647 regtmp, ret);
@@ -668,14 +668,14 @@ static int regcache_sync_block_raw_flush(struct regmap *map, const void **data,
668 dev_dbg(map->dev, "Writing %zu bytes for %d registers from 0x%x-0x%x\n", 668 dev_dbg(map->dev, "Writing %zu bytes for %d registers from 0x%x-0x%x\n",
669 count * val_bytes, count, base, cur - map->reg_stride); 669 count * val_bytes, count, base, cur - map->reg_stride);
670 670
671 map->cache_bypass = 1; 671 map->cache_bypass = true;
672 672
673 ret = _regmap_raw_write(map, base, *data, count * val_bytes); 673 ret = _regmap_raw_write(map, base, *data, count * val_bytes);
674 if (ret) 674 if (ret)
675 dev_err(map->dev, "Unable to sync registers %#x-%#x. %d\n", 675 dev_err(map->dev, "Unable to sync registers %#x-%#x. %d\n",
676 base, cur - map->reg_stride, ret); 676 base, cur - map->reg_stride, ret);
677 677
678 map->cache_bypass = 0; 678 map->cache_bypass = false;
679 679
680 *data = NULL; 680 *data = NULL;
681 681
diff --git a/drivers/base/soc.c b/drivers/base/soc.c
index 39fca01c8fa1..75b98aad6faf 100644
--- a/drivers/base/soc.c
+++ b/drivers/base/soc.c
@@ -16,7 +16,6 @@
16#include <linux/err.h> 16#include <linux/err.h>
17 17
18static DEFINE_IDA(soc_ida); 18static DEFINE_IDA(soc_ida);
19static DEFINE_SPINLOCK(soc_lock);
20 19
21static ssize_t soc_info_get(struct device *dev, 20static ssize_t soc_info_get(struct device *dev,
22 struct device_attribute *attr, 21 struct device_attribute *attr,
@@ -122,20 +121,10 @@ struct soc_device *soc_device_register(struct soc_device_attribute *soc_dev_attr
122 } 121 }
123 122
124 /* Fetch a unique (reclaimable) SOC ID. */ 123 /* Fetch a unique (reclaimable) SOC ID. */
125 do { 124 ret = ida_simple_get(&soc_ida, 0, 0, GFP_KERNEL);
126 if (!ida_pre_get(&soc_ida, GFP_KERNEL)) { 125 if (ret < 0)
127 ret = -ENOMEM;
128 goto out2;
129 }
130
131 spin_lock(&soc_lock);
132 ret = ida_get_new(&soc_ida, &soc_dev->soc_dev_num);
133 spin_unlock(&soc_lock);
134
135 } while (ret == -EAGAIN);
136
137 if (ret)
138 goto out2; 126 goto out2;
127 soc_dev->soc_dev_num = ret;
139 128
140 soc_dev->attr = soc_dev_attr; 129 soc_dev->attr = soc_dev_attr;
141 soc_dev->dev.bus = &soc_bus_type; 130 soc_dev->dev.bus = &soc_bus_type;
@@ -151,7 +140,7 @@ struct soc_device *soc_device_register(struct soc_device_attribute *soc_dev_attr
151 return soc_dev; 140 return soc_dev;
152 141
153out3: 142out3:
154 ida_remove(&soc_ida, soc_dev->soc_dev_num); 143 ida_simple_remove(&soc_ida, soc_dev->soc_dev_num);
155out2: 144out2:
156 kfree(soc_dev); 145 kfree(soc_dev);
157out1: 146out1:
@@ -161,7 +150,7 @@ out1:
161/* Ensure soc_dev->attr is freed prior to calling soc_device_unregister. */ 150/* Ensure soc_dev->attr is freed prior to calling soc_device_unregister. */
162void soc_device_unregister(struct soc_device *soc_dev) 151void soc_device_unregister(struct soc_device *soc_dev)
163{ 152{
164 ida_remove(&soc_ida, soc_dev->soc_dev_num); 153 ida_simple_remove(&soc_ida, soc_dev->soc_dev_num);
165 154
166 device_unregister(&soc_dev->dev); 155 device_unregister(&soc_dev->dev);
167} 156}
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 77eae64000b3..71325e443e46 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -80,8 +80,8 @@ struct qca_data {
80 spinlock_t hci_ibs_lock; /* HCI_IBS state lock */ 80 spinlock_t hci_ibs_lock; /* HCI_IBS state lock */
81 u8 tx_ibs_state; /* HCI_IBS transmit side power state*/ 81 u8 tx_ibs_state; /* HCI_IBS transmit side power state*/
82 u8 rx_ibs_state; /* HCI_IBS receive side power state */ 82 u8 rx_ibs_state; /* HCI_IBS receive side power state */
83 u32 tx_vote; /* Clock must be on for TX */ 83 bool tx_vote; /* Clock must be on for TX */
84 u32 rx_vote; /* Clock must be on for RX */ 84 bool rx_vote; /* Clock must be on for RX */
85 struct timer_list tx_idle_timer; 85 struct timer_list tx_idle_timer;
86 u32 tx_idle_delay; 86 u32 tx_idle_delay;
87 struct timer_list wake_retrans_timer; 87 struct timer_list wake_retrans_timer;
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
index 1b066e7d144d..9f86ecff38aa 100644
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -138,7 +138,7 @@ u16 amd_iommu_last_bdf; /* largest PCI device id we have
138 to handle */ 138 to handle */
139LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings 139LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings
140 we find in ACPI */ 140 we find in ACPI */
141u32 amd_iommu_unmap_flush; /* if true, flush on every unmap */ 141bool amd_iommu_unmap_flush; /* if true, flush on every unmap */
142 142
143LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the 143LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the
144 system */ 144 system */
diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h
index c9b64722f623..6a0bf1ad5235 100644
--- a/drivers/iommu/amd_iommu_types.h
+++ b/drivers/iommu/amd_iommu_types.h
@@ -675,7 +675,7 @@ extern unsigned long *amd_iommu_pd_alloc_bitmap;
675 * If true, the addresses will be flushed on unmap time, not when 675 * If true, the addresses will be flushed on unmap time, not when
676 * they are reused 676 * they are reused
677 */ 677 */
678extern u32 amd_iommu_unmap_flush; 678extern bool amd_iommu_unmap_flush;
679 679
680/* Smallest max PASID supported by any IOMMU in the system */ 680/* Smallest max PASID supported by any IOMMU in the system */
681extern u32 amd_iommu_max_pasid; 681extern u32 amd_iommu_max_pasid;
diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h
index e25ee16c658e..d74b6aa8ae27 100644
--- a/drivers/misc/mei/mei_dev.h
+++ b/drivers/misc/mei/mei_dev.h
@@ -528,7 +528,7 @@ struct mei_device {
528 DECLARE_BITMAP(host_clients_map, MEI_CLIENTS_MAX); 528 DECLARE_BITMAP(host_clients_map, MEI_CLIENTS_MAX);
529 unsigned long me_client_index; 529 unsigned long me_client_index;
530 530
531 u32 allow_fixed_address; 531 bool allow_fixed_address;
532 532
533 struct mei_cl wd_cl; 533 struct mei_cl wd_cl;
534 enum mei_wd_states wd_state; 534 enum mei_wd_states wd_state;
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
index 634e50c8c5ef..414fe7c487d5 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
@@ -771,8 +771,8 @@ struct adapter {
771 bool tid_release_task_busy; 771 bool tid_release_task_busy;
772 772
773 struct dentry *debugfs_root; 773 struct dentry *debugfs_root;
774 u32 use_bd; /* Use SGE Back Door intfc for reading SGE Contexts */ 774 bool use_bd; /* Use SGE Back Door intfc for reading SGE Contexts */
775 u32 trace_rss; /* 1 implies that different RSS flit per filter is 775 bool trace_rss; /* 1 implies that different RSS flit per filter is
776 * used per filter else if 0 default RSS flit is 776 * used per filter else if 0 default RSS flit is
777 * used for all 4 filters. 777 * used for all 4 filters.
778 */ 778 */
diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
index 4a2301589902..018c64f4fd25 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -738,7 +738,7 @@ struct ath10k {
738 bool monitor_started; 738 bool monitor_started;
739 unsigned int filter_flags; 739 unsigned int filter_flags;
740 unsigned long dev_flags; 740 unsigned long dev_flags;
741 u32 dfs_block_radar_events; 741 bool dfs_block_radar_events;
742 742
743 /* protected by conf_mutex */ 743 /* protected by conf_mutex */
744 bool radar_enabled; 744 bool radar_enabled;
diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index fa6e89e5c421..ba12f7f4061d 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -1367,7 +1367,7 @@ struct ath5k_hw {
1367 u8 ah_retry_long; 1367 u8 ah_retry_long;
1368 u8 ah_retry_short; 1368 u8 ah_retry_short;
1369 1369
1370 u32 ah_use_32khz_clock; 1370 bool ah_use_32khz_clock;
1371 1371
1372 u8 ah_coverage_class; 1372 u8 ah_coverage_class;
1373 bool ah_ack_bitrate_high; 1373 bool ah_ack_bitrate_high;
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index bdfff4641931..41382f89abe1 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -385,7 +385,7 @@ static void ath9k_hw_init_config(struct ath_hw *ah)
385 385
386 ah->config.dma_beacon_response_time = 1; 386 ah->config.dma_beacon_response_time = 1;
387 ah->config.sw_beacon_response_time = 6; 387 ah->config.sw_beacon_response_time = 6;
388 ah->config.cwm_ignore_extcca = 0; 388 ah->config.cwm_ignore_extcca = false;
389 ah->config.analog_shiftreg = 1; 389 ah->config.analog_shiftreg = 1;
390 390
391 ah->config.rx_intr_mitigation = true; 391 ah->config.rx_intr_mitigation = true;
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 4f0a3f6b0c52..831a54415a25 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -332,14 +332,14 @@ enum ath9k_hw_hang_checks {
332struct ath9k_ops_config { 332struct ath9k_ops_config {
333 int dma_beacon_response_time; 333 int dma_beacon_response_time;
334 int sw_beacon_response_time; 334 int sw_beacon_response_time;
335 u32 cwm_ignore_extcca; 335 bool cwm_ignore_extcca;
336 u32 pcie_waen; 336 u32 pcie_waen;
337 u8 analog_shiftreg; 337 u8 analog_shiftreg;
338 u32 ofdm_trig_low; 338 u32 ofdm_trig_low;
339 u32 ofdm_trig_high; 339 u32 ofdm_trig_high;
340 u32 cck_trig_high; 340 u32 cck_trig_high;
341 u32 cck_trig_low; 341 u32 cck_trig_low;
342 u32 enable_paprd; 342 bool enable_paprd;
343 int serialize_regmode; 343 int serialize_regmode;
344 bool rx_intr_mitigation; 344 bool rx_intr_mitigation;
345 bool tx_intr_mitigation; 345 bool tx_intr_mitigation;
diff --git a/drivers/net/wireless/b43/debugfs.c b/drivers/net/wireless/b43/debugfs.c
index e807bd930647..b4bcd94aff6c 100644
--- a/drivers/net/wireless/b43/debugfs.c
+++ b/drivers/net/wireless/b43/debugfs.c
@@ -676,15 +676,15 @@ static void b43_add_dynamic_debug(struct b43_wldev *dev)
676 e->dyn_debug_dentries[id] = d; \ 676 e->dyn_debug_dentries[id] = d; \
677 } while (0) 677 } while (0)
678 678
679 add_dyn_dbg("debug_xmitpower", B43_DBG_XMITPOWER, 0); 679 add_dyn_dbg("debug_xmitpower", B43_DBG_XMITPOWER, false);
680 add_dyn_dbg("debug_dmaoverflow", B43_DBG_DMAOVERFLOW, 0); 680 add_dyn_dbg("debug_dmaoverflow", B43_DBG_DMAOVERFLOW, false);
681 add_dyn_dbg("debug_dmaverbose", B43_DBG_DMAVERBOSE, 0); 681 add_dyn_dbg("debug_dmaverbose", B43_DBG_DMAVERBOSE, false);
682 add_dyn_dbg("debug_pwork_fast", B43_DBG_PWORK_FAST, 0); 682 add_dyn_dbg("debug_pwork_fast", B43_DBG_PWORK_FAST, false);
683 add_dyn_dbg("debug_pwork_stop", B43_DBG_PWORK_STOP, 0); 683 add_dyn_dbg("debug_pwork_stop", B43_DBG_PWORK_STOP, false);
684 add_dyn_dbg("debug_lo", B43_DBG_LO, 0); 684 add_dyn_dbg("debug_lo", B43_DBG_LO, false);
685 add_dyn_dbg("debug_firmware", B43_DBG_FIRMWARE, 0); 685 add_dyn_dbg("debug_firmware", B43_DBG_FIRMWARE, false);
686 add_dyn_dbg("debug_keys", B43_DBG_KEYS, 0); 686 add_dyn_dbg("debug_keys", B43_DBG_KEYS, false);
687 add_dyn_dbg("debug_verbose_stats", B43_DBG_VERBOSESTATS, 0); 687 add_dyn_dbg("debug_verbose_stats", B43_DBG_VERBOSESTATS, false);
688 688
689#undef add_dyn_dbg 689#undef add_dyn_dbg
690} 690}
diff --git a/drivers/net/wireless/b43/debugfs.h b/drivers/net/wireless/b43/debugfs.h
index 50517b801cb4..d05377745011 100644
--- a/drivers/net/wireless/b43/debugfs.h
+++ b/drivers/net/wireless/b43/debugfs.h
@@ -68,7 +68,7 @@ struct b43_dfsentry {
68 u32 shm32read_addr_next; 68 u32 shm32read_addr_next;
69 69
70 /* Enabled/Disabled list for the dynamic debugging features. */ 70 /* Enabled/Disabled list for the dynamic debugging features. */
71 u32 dyn_debug[__B43_NR_DYNDBG]; 71 bool dyn_debug[__B43_NR_DYNDBG];
72 /* Dentries for the dynamic debugging entries. */ 72 /* Dentries for the dynamic debugging entries. */
73 struct dentry *dyn_debug_dentries[__B43_NR_DYNDBG]; 73 struct dentry *dyn_debug_dentries[__B43_NR_DYNDBG];
74}; 74};
diff --git a/drivers/net/wireless/b43legacy/debugfs.c b/drivers/net/wireless/b43legacy/debugfs.c
index 1965edb765a2..090910ea259e 100644
--- a/drivers/net/wireless/b43legacy/debugfs.c
+++ b/drivers/net/wireless/b43legacy/debugfs.c
@@ -369,11 +369,11 @@ static void b43legacy_add_dynamic_debug(struct b43legacy_wldev *dev)
369 e->dyn_debug_dentries[id] = d; \ 369 e->dyn_debug_dentries[id] = d; \
370 } while (0) 370 } while (0)
371 371
372 add_dyn_dbg("debug_xmitpower", B43legacy_DBG_XMITPOWER, 0); 372 add_dyn_dbg("debug_xmitpower", B43legacy_DBG_XMITPOWER, false);
373 add_dyn_dbg("debug_dmaoverflow", B43legacy_DBG_DMAOVERFLOW, 0); 373 add_dyn_dbg("debug_dmaoverflow", B43legacy_DBG_DMAOVERFLOW, false);
374 add_dyn_dbg("debug_dmaverbose", B43legacy_DBG_DMAVERBOSE, 0); 374 add_dyn_dbg("debug_dmaverbose", B43legacy_DBG_DMAVERBOSE, false);
375 add_dyn_dbg("debug_pwork_fast", B43legacy_DBG_PWORK_FAST, 0); 375 add_dyn_dbg("debug_pwork_fast", B43legacy_DBG_PWORK_FAST, false);
376 add_dyn_dbg("debug_pwork_stop", B43legacy_DBG_PWORK_STOP, 0); 376 add_dyn_dbg("debug_pwork_stop", B43legacy_DBG_PWORK_STOP, false);
377 377
378#undef add_dyn_dbg 378#undef add_dyn_dbg
379} 379}
diff --git a/drivers/net/wireless/b43legacy/debugfs.h b/drivers/net/wireless/b43legacy/debugfs.h
index ae3b0d0fa849..9ee32158b947 100644
--- a/drivers/net/wireless/b43legacy/debugfs.h
+++ b/drivers/net/wireless/b43legacy/debugfs.h
@@ -47,7 +47,7 @@ struct b43legacy_dfsentry {
47 struct b43legacy_txstatus_log txstatlog; 47 struct b43legacy_txstatus_log txstatlog;
48 48
49 /* Enabled/Disabled list for the dynamic debugging features. */ 49 /* Enabled/Disabled list for the dynamic debugging features. */
50 u32 dyn_debug[__B43legacy_NR_DYNDBG]; 50 bool dyn_debug[__B43legacy_NR_DYNDBG];
51 /* Dentries for the dynamic debugging entries. */ 51 /* Dentries for the dynamic debugging entries. */
52 struct dentry *dyn_debug_dentries[__B43legacy_NR_DYNDBG]; 52 struct dentry *dyn_debug_dentries[__B43legacy_NR_DYNDBG];
53}; 53};
diff --git a/drivers/net/wireless/iwlegacy/common.h b/drivers/net/wireless/iwlegacy/common.h
index 5b972798bdff..ce52cf114fde 100644
--- a/drivers/net/wireless/iwlegacy/common.h
+++ b/drivers/net/wireless/iwlegacy/common.h
@@ -1425,9 +1425,9 @@ struct il_priv {
1425#endif /* CONFIG_IWLEGACY_DEBUGFS */ 1425#endif /* CONFIG_IWLEGACY_DEBUGFS */
1426 1426
1427 struct work_struct txpower_work; 1427 struct work_struct txpower_work;
1428 u32 disable_sens_cal; 1428 bool disable_sens_cal;
1429 u32 disable_chain_noise_cal; 1429 bool disable_chain_noise_cal;
1430 u32 disable_tx_power_cal; 1430 bool disable_tx_power_cal;
1431 struct work_struct run_time_calib_work; 1431 struct work_struct run_time_calib_work;
1432 struct timer_list stats_periodic; 1432 struct timer_list stats_periodic;
1433 struct timer_list watchdog; 1433 struct timer_list watchdog;
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index c6327cd1d071..4bde2d027dcd 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -658,7 +658,7 @@ struct iwl_mvm {
658 const struct iwl_fw_bcast_filter *bcast_filters; 658 const struct iwl_fw_bcast_filter *bcast_filters;
659#ifdef CONFIG_IWLWIFI_DEBUGFS 659#ifdef CONFIG_IWLWIFI_DEBUGFS
660 struct { 660 struct {
661 u32 override; /* u32 for debugfs_create_bool */ 661 bool override;
662 struct iwl_bcast_filter_cmd cmd; 662 struct iwl_bcast_filter_cmd cmd;
663 } dbgfs_bcast_filtering; 663 } dbgfs_bcast_filtering;
664#endif 664#endif
@@ -682,7 +682,7 @@ struct iwl_mvm {
682 bool disable_power_off; 682 bool disable_power_off;
683 bool disable_power_off_d3; 683 bool disable_power_off_d3;
684 684
685 u32 scan_iter_notif_enabled; /* must be u32 for debugfs_create_bool */ 685 bool scan_iter_notif_enabled;
686 686
687 struct debugfs_blob_wrapper nvm_hw_blob; 687 struct debugfs_blob_wrapper nvm_hw_blob;
688 struct debugfs_blob_wrapper nvm_sw_blob; 688 struct debugfs_blob_wrapper nvm_sw_blob;
@@ -739,7 +739,7 @@ struct iwl_mvm {
739 int n_nd_channels; 739 int n_nd_channels;
740 bool net_detect; 740 bool net_detect;
741#ifdef CONFIG_IWLWIFI_DEBUGFS 741#ifdef CONFIG_IWLWIFI_DEBUGFS
742 u32 d3_wake_sysassert; /* must be u32 for debugfs_create_bool */ 742 bool d3_wake_sysassert;
743 bool d3_test_active; 743 bool d3_test_active;
744 bool store_d3_resume_sram; 744 bool store_d3_resume_sram;
745 void *d3_resume_sram; 745 void *d3_resume_sram;
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 8b91ea241b10..e5f47cec75f3 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -60,11 +60,12 @@ int of_device_add(struct platform_device *ofdev)
60 ofdev->name = dev_name(&ofdev->dev); 60 ofdev->name = dev_name(&ofdev->dev);
61 ofdev->id = -1; 61 ofdev->id = -1;
62 62
63 /* device_add will assume that this device is on the same node as 63 /*
64 * the parent. If there is no parent defined, set the node 64 * If this device has not binding numa node in devicetree, that is
65 * explicitly */ 65 * of_node_to_nid returns NUMA_NO_NODE. device_add will assume that this
66 if (!ofdev->dev.parent) 66 * device is on the same node as the parent.
67 set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->dev.of_node)); 67 */
68 set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->dev.of_node));
68 69
69 return device_add(&ofdev->dev); 70 return device_add(&ofdev->dev);
70} 71}
diff --git a/drivers/scsi/snic/snic_trc.c b/drivers/scsi/snic/snic_trc.c
index 28a40a7ade38..f00ebf4717e0 100644
--- a/drivers/scsi/snic/snic_trc.c
+++ b/drivers/scsi/snic/snic_trc.c
@@ -148,7 +148,7 @@ snic_trc_init(void)
148 148
149 trc->max_idx = (tbuf_sz / SNIC_TRC_ENTRY_SZ); 149 trc->max_idx = (tbuf_sz / SNIC_TRC_ENTRY_SZ);
150 trc->rd_idx = trc->wr_idx = 0; 150 trc->rd_idx = trc->wr_idx = 0;
151 trc->enable = 1; 151 trc->enable = true;
152 SNIC_INFO("Trace Facility Enabled.\n Trace Buffer SZ %lu Pages.\n", 152 SNIC_INFO("Trace Facility Enabled.\n Trace Buffer SZ %lu Pages.\n",
153 tbuf_sz / PAGE_SIZE); 153 tbuf_sz / PAGE_SIZE);
154 ret = 0; 154 ret = 0;
@@ -169,7 +169,7 @@ snic_trc_free(void)
169{ 169{
170 struct snic_trc *trc = &snic_glob->trc; 170 struct snic_trc *trc = &snic_glob->trc;
171 171
172 trc->enable = 0; 172 trc->enable = false;
173 snic_trc_debugfs_term(); 173 snic_trc_debugfs_term();
174 174
175 if (trc->buf) { 175 if (trc->buf) {
diff --git a/drivers/scsi/snic/snic_trc.h b/drivers/scsi/snic/snic_trc.h
index 427faee5f97e..b37f8867bfde 100644
--- a/drivers/scsi/snic/snic_trc.h
+++ b/drivers/scsi/snic/snic_trc.h
@@ -45,7 +45,7 @@ struct snic_trc {
45 u32 max_idx; /* Max Index into trace buffer */ 45 u32 max_idx; /* Max Index into trace buffer */
46 u32 rd_idx; 46 u32 rd_idx;
47 u32 wr_idx; 47 u32 wr_idx;
48 u32 enable; /* Control Variable for Tracing */ 48 bool enable; /* Control Variable for Tracing */
49 49
50 struct dentry *trc_enable; /* debugfs file object */ 50 struct dentry *trc_enable; /* debugfs file object */
51 struct dentry *trc_file; 51 struct dentry *trc_file;
diff --git a/drivers/uwb/uwb-debug.c b/drivers/uwb/uwb-debug.c
index 0b1e5a9449b5..991374b13571 100644
--- a/drivers/uwb/uwb-debug.c
+++ b/drivers/uwb/uwb-debug.c
@@ -55,7 +55,7 @@
55struct uwb_dbg { 55struct uwb_dbg {
56 struct uwb_pal pal; 56 struct uwb_pal pal;
57 57
58 u32 accept; 58 bool accept;
59 struct list_head rsvs; 59 struct list_head rsvs;
60 60
61 struct dentry *root_d; 61 struct dentry *root_d;