[Intel-gfx] [RFC 1/7] treewide: device: add condition support to dev_WARN
Pankaj Bharadiya
pankaj.laxminarayan.bharadiya at intel.com
Mon Jan 6 17:23:20 UTC 2020
dev_WARN does not support conditional warning unlike WARN.
Add condition support to dev_WARN (file: include/linux/device.h)
to make it work like WARN and modify all existing callers to use it.
This is quite useful where we want to replace existing WARN with
dev_WARN.
Following cocci script is used to replace all the caller
@@
expression T;
@@
-dev_WARN(T,
+dev_WARN(T, 1,
...)
command: spatch --sp-file <.cocci> --dir ./ --in-place --include-headers
Fix "drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h" manually as
coccinelle is unable to parse this file.
Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya at intel.com>
---
arch/x86/platform/intel-mid/pwr.c | 3 ++-
drivers/base/core.c | 2 +-
drivers/base/dd.c | 3 ++-
drivers/dax/bus.c | 2 +-
drivers/dma/dw/core.c | 3 ++-
drivers/dma/ioat/init.c | 2 +-
drivers/dma/tegra210-adma.c | 6 ++++--
drivers/gnss/core.c | 2 +-
drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h | 2 +-
drivers/gpu/drm/panfrost/panfrost_mmu.c | 3 ++-
drivers/gpu/drm/tegra/dc.c | 2 +-
drivers/gpu/drm/tegra/hub.c | 7 ++++---
drivers/greybus/core.c | 3 ++-
drivers/i2c/i2c-core.h | 2 +-
drivers/media/platform/exynos4-is/fimc-is.c | 2 +-
drivers/media/platform/exynos4-is/mipi-csis.c | 2 +-
drivers/nvdimm/label.c | 2 +-
drivers/nvdimm/namespace_devs.c | 3 ++-
drivers/nvdimm/nd-core.h | 2 +-
drivers/pci/controller/pci-mvebu.c | 2 +-
drivers/pci/endpoint/pci-epf-core.c | 6 +++---
drivers/pci/iov.c | 2 +-
drivers/phy/phy-core.c | 2 +-
drivers/regulator/pbias-regulator.c | 2 +-
drivers/scsi/ufs/ufshcd.c | 3 ++-
drivers/thunderbolt/ctl.c | 2 +-
drivers/thunderbolt/nhi.c | 12 ++++++------
drivers/thunderbolt/tb.h | 2 +-
drivers/usb/core/urb.c | 8 ++++----
drivers/usb/dwc3/dwc3-omap.c | 4 ++--
drivers/usb/dwc3/ep0.c | 2 +-
drivers/usb/dwc3/gadget.c | 6 +++---
drivers/usb/host/uhci-q.c | 8 ++++----
drivers/usb/typec/tcpm/wcove.c | 4 ++--
drivers/vfio/vfio.c | 4 ++--
include/linux/device.h | 6 ++++--
36 files changed, 70 insertions(+), 58 deletions(-)
diff --git a/arch/x86/platform/intel-mid/pwr.c b/arch/x86/platform/intel-mid/pwr.c
index 27288d8d3f71..bceb7c41a95e 100644
--- a/arch/x86/platform/intel-mid/pwr.c
+++ b/arch/x86/platform/intel-mid/pwr.c
@@ -197,7 +197,8 @@ static pci_power_t __find_weakest_power_state(struct mid_pwr_dev *lss,
lss[j].pdev = pdev;
lss[j].state = state;
} else {
- dev_WARN(&pdev->dev, "No room for device in PWRMU LSS cache\n");
+ dev_WARN(&pdev->dev, 1,
+ "No room for device in PWRMU LSS cache\n");
weakest = state;
}
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 42a672456432..ab7800d14668 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -3588,7 +3588,7 @@ create_syslog_header(const struct device *dev, char *hdr, size_t hdrlen)
return pos;
overflow:
- dev_WARN(dev, "device/subsystem name too long");
+ dev_WARN(dev, 1, "device/subsystem name too long");
return 0;
}
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index d811e60610d3..4935aedf2956 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -241,7 +241,8 @@ static int __driver_deferred_probe_check_state(struct device *dev)
return -EPROBE_DEFER;
if (!deferred_probe_timeout) {
- dev_WARN(dev, "deferred probe timeout, ignoring dependency");
+ dev_WARN(dev, 1,
+ "deferred probe timeout, ignoring dependency");
return -ETIMEDOUT;
}
diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c
index 46e46047a1f7..24da1c97b850 100644
--- a/drivers/dax/bus.c
+++ b/drivers/dax/bus.c
@@ -237,7 +237,7 @@ struct dax_region *alloc_dax_region(struct device *parent, int region_id,
* developers of device-dax drivers.
*/
if (dev_get_drvdata(parent)) {
- dev_WARN(parent, "dax core failed to setup private data\n");
+ dev_WARN(parent, 1, "dax core failed to setup private data\n");
return NULL;
}
diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index 21cb2a58dbd2..455dafce7525 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -456,7 +456,8 @@ static void dwc_handle_error(struct dw_dma *dw, struct dw_dma_chan *dwc)
* controller flagged an error instead of scribbling over
* random memory locations.
*/
- dev_WARN(chan2dev(&dwc->chan), "Bad descriptor submitted for DMA!\n"
+ dev_WARN(chan2dev(&dwc->chan), 1,
+ "Bad descriptor submitted for DMA!\n"
" cookie: %d\n", bad_desc->txd.cookie);
dwc_dump_lli(dwc, bad_desc);
list_for_each_entry(child, &bad_desc->tx_list, desc_node)
diff --git a/drivers/dma/ioat/init.c b/drivers/dma/ioat/init.c
index a6a6dc432db8..e403b5fa635f 100644
--- a/drivers/dma/ioat/init.c
+++ b/drivers/dma/ioat/init.c
@@ -755,7 +755,7 @@ static int ioat_alloc_chan_resources(struct dma_chan *c)
chanerr = readl(ioat_chan->reg_base + IOAT_CHANERR_OFFSET);
- dev_WARN(to_dev(ioat_chan),
+ dev_WARN(to_dev(ioat_chan), 1,
"failed to start channel chanerr: %#x\n", chanerr);
ioat_free_chan_resources(c);
return -EFAULT;
diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c
index 6e1268552f74..c5867241f707 100644
--- a/drivers/dma/tegra210-adma.c
+++ b/drivers/dma/tegra210-adma.c
@@ -274,7 +274,8 @@ static int tegra_adma_request_alloc(struct tegra_adma_chan *tdc,
break;
default:
- dev_WARN(tdma->dev, "channel %s has invalid transfer type\n",
+ dev_WARN(tdma->dev, 1,
+ "channel %s has invalid transfer type\n",
dma_chan_name(&tdc->vc.chan));
return -EINVAL;
}
@@ -302,7 +303,8 @@ static void tegra_adma_request_free(struct tegra_adma_chan *tdc)
break;
default:
- dev_WARN(tdma->dev, "channel %s has invalid transfer type\n",
+ dev_WARN(tdma->dev, 1,
+ "channel %s has invalid transfer type\n",
dma_chan_name(&tdc->vc.chan));
return;
}
diff --git a/drivers/gnss/core.c b/drivers/gnss/core.c
index e6f94501cb28..83df95f0da12 100644
--- a/drivers/gnss/core.c
+++ b/drivers/gnss/core.c
@@ -345,7 +345,7 @@ static const char *gnss_type_name(struct gnss_device *gdev)
name = gnss_type_names[gdev->type];
if (!name)
- dev_WARN(&gdev->dev, "type name not defined\n");
+ dev_WARN(&gdev->dev, 1, "type name not defined\n");
return name;
}
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h
index a8c21c6c800b..a8379791d99c 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h
@@ -60,7 +60,7 @@ s64 nvkm_timer_wait_test(struct nvkm_timer_wait *);
} while ((_taken = nvkm_timer_wait_test(&_wait)) >= 0); \
\
if (_warn && _taken < 0) \
- dev_WARN(_wait.tmr->subdev.device->dev, "timeout\n"); \
+ dev_WARN(_wait.tmr->subdev.device->dev, 1, "timeout\n"); \
_taken; \
})
#define nvkm_usec(d,u,cond...) nvkm_nsec((d), (u) * 1000, ##cond)
diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
index a3ed64a1f15e..38f8ea2dc89f 100644
--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
@@ -447,7 +447,8 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
return -ENOENT;
if (!bo->is_heap) {
- dev_WARN(pfdev->dev, "matching BO is not heap type (GPU VA = %llx)",
+ dev_WARN(pfdev->dev, 1,
+ "matching BO is not heap type (GPU VA = %llx)",
bo->node.start << PAGE_SHIFT);
ret = -EINVAL;
goto err_bo;
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 714af052fbef..07baf633a4f0 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -69,7 +69,7 @@ static inline unsigned int tegra_plane_offset(struct tegra_plane *plane,
return plane->offset + offset;
}
- dev_WARN(plane->dc->dev, "invalid offset: %x\n", offset);
+ dev_WARN(plane->dc->dev, 1, "invalid offset: %x\n", offset);
return plane->offset + offset;
}
diff --git a/drivers/gpu/drm/tegra/hub.c b/drivers/gpu/drm/tegra/hub.c
index 47d985ac7cd7..8d3df12f4d34 100644
--- a/drivers/gpu/drm/tegra/hub.c
+++ b/drivers/gpu/drm/tegra/hub.c
@@ -76,7 +76,7 @@ static inline unsigned int tegra_plane_offset(struct tegra_plane *plane,
return plane->offset + offset;
}
- dev_WARN(plane->dc->dev, "invalid offset: %x\n", offset);
+ dev_WARN(plane->dc->dev, 1, "invalid offset: %x\n", offset);
return plane->offset + offset;
}
@@ -220,7 +220,8 @@ static bool tegra_dc_owns_shared_plane(struct tegra_dc *dc,
if (plane->dc == dc)
return true;
- dev_WARN(dev, "head %u owns window %u but is not attached\n",
+ dev_WARN(dev, 1,
+ "head %u owns window %u but is not attached\n",
dc->pipe, plane->index);
}
@@ -241,7 +242,7 @@ static int tegra_shared_plane_set_owner(struct tegra_plane *plane,
owner = value & OWNER_MASK;
if (new && (owner != OWNER_MASK && owner != new->pipe)) {
- dev_WARN(dev, "window %u owned by head %u\n", index, owner);
+ dev_WARN(dev, 1, "window %u owned by head %u\n", index, owner);
return -EBUSY;
}
diff --git a/drivers/greybus/core.c b/drivers/greybus/core.c
index e546c6431877..0f501db74f89 100644
--- a/drivers/greybus/core.c
+++ b/drivers/greybus/core.c
@@ -110,7 +110,8 @@ static int greybus_uevent(struct device *dev, struct kobj_uevent_env *env)
svc = to_gb_svc(dev);
hd = svc->hd;
} else {
- dev_WARN(dev, "uevent for unknown greybus device \"type\"!\n");
+ dev_WARN(dev, 1,
+ "uevent for unknown greybus device \"type\"!\n");
return -EINVAL;
}
diff --git a/drivers/i2c/i2c-core.h b/drivers/i2c/i2c-core.h
index 517d98be68d2..46fded32bb00 100644
--- a/drivers/i2c/i2c-core.h
+++ b/drivers/i2c/i2c-core.h
@@ -51,7 +51,7 @@ static inline int __i2c_check_suspended(struct i2c_adapter *adap)
{
if (test_bit(I2C_ALF_IS_SUSPENDED, &adap->locked_flags)) {
if (!test_and_set_bit(I2C_ALF_SUSPEND_REPORTED, &adap->locked_flags))
- dev_WARN(&adap->dev, "Transfer while suspended\n");
+ dev_WARN(&adap->dev, 1, "Transfer while suspended\n");
return -ESHUTDOWN;
}
diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
index 64148b7e0d98..0998eb3723a9 100644
--- a/drivers/media/platform/exynos4-is/fimc-is.c
+++ b/drivers/media/platform/exynos4-is/fimc-is.c
@@ -299,7 +299,7 @@ int fimc_is_wait_event(struct fimc_is *is, unsigned long bit,
!state ^ test_bit(bit, &is->state),
timeout);
if (ret == 0) {
- dev_WARN(&is->pdev->dev, "%s() timed out\n", __func__);
+ dev_WARN(&is->pdev->dev, 1, "%s() timed out\n", __func__);
return -ETIME;
}
return 0;
diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c b/drivers/media/platform/exynos4-is/mipi-csis.c
index 540151bbf58f..b38420bf2e56 100644
--- a/drivers/media/platform/exynos4-is/mipi-csis.c
+++ b/drivers/media/platform/exynos4-is/mipi-csis.c
@@ -822,7 +822,7 @@ static int s5pcsis_probe(struct platform_device *pdev)
ret = clk_set_rate(state->clock[CSIS_CLK_MUX],
state->clk_frequency);
else
- dev_WARN(dev, "No clock frequency specified!\n");
+ dev_WARN(dev, 1, "No clock frequency specified!\n");
if (ret < 0)
goto e_clkput;
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index 47a4828b8b31..dd86bc64ecb1 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -1127,7 +1127,7 @@ static int __blk_label_update(struct nd_region *nd_region,
break;
}
if (nd_label)
- dev_WARN(&nsblk->common.dev,
+ dev_WARN(&nsblk->common.dev, 1,
"failed to track label slot%d\n", slot);
}
mutex_unlock(&nd_mapping->lock);
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index 032dc61725ff..7e007225a6c7 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -140,7 +140,8 @@ unsigned int pmem_sector_size(struct nd_namespace_common *ndns)
else if (nspm->lbasize == 4096)
return 4096;
else
- dev_WARN(&ndns->dev, "unsupported sector size: %ld\n",
+ dev_WARN(&ndns->dev, 1,
+ "unsupported sector size: %ld\n",
nspm->lbasize);
}
diff --git a/drivers/nvdimm/nd-core.h b/drivers/nvdimm/nd-core.h
index ddb9d97d9129..f94cc18098e8 100644
--- a/drivers/nvdimm/nd-core.h
+++ b/drivers/nvdimm/nd-core.h
@@ -210,7 +210,7 @@ static inline void debug_nvdimm_lock(struct device *dev)
else if (dev->class && dev->class == nd_class)
mutex_lock_nested(&dev->lockdep_mutex, LOCK_NDCTL);
else
- dev_WARN(dev, "unknown lock level\n");
+ dev_WARN(dev, 1, "unknown lock level\n");
}
static inline void debug_nvdimm_unlock(struct device *dev)
diff --git a/drivers/pci/controller/pci-mvebu.c b/drivers/pci/controller/pci-mvebu.c
index 153a64676bc9..44c7696f8f13 100644
--- a/drivers/pci/controller/pci-mvebu.c
+++ b/drivers/pci/controller/pci-mvebu.c
@@ -373,7 +373,7 @@ static void mvebu_pcie_handle_iobase_change(struct mvebu_pcie_port *port)
}
if (!mvebu_has_ioport(port)) {
- dev_WARN(&port->pcie->pdev->dev,
+ dev_WARN(&port->pcie->pdev->dev, 1,
"Attempt to set IO when IO is disabled\n");
return;
}
diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
index fb1306de8f40..3e0a12ac4943 100644
--- a/drivers/pci/endpoint/pci-epf-core.c
+++ b/drivers/pci/endpoint/pci-epf-core.c
@@ -32,7 +32,7 @@ static const struct device_type pci_epf_type;
void pci_epf_linkup(struct pci_epf *epf)
{
if (!epf->driver) {
- dev_WARN(&epf->dev, "epf device not bound to driver\n");
+ dev_WARN(&epf->dev, 1, "epf device not bound to driver\n");
return;
}
@@ -51,7 +51,7 @@ EXPORT_SYMBOL_GPL(pci_epf_linkup);
void pci_epf_unbind(struct pci_epf *epf)
{
if (!epf->driver) {
- dev_WARN(&epf->dev, "epf device not bound to driver\n");
+ dev_WARN(&epf->dev, 1, "epf device not bound to driver\n");
return;
}
@@ -70,7 +70,7 @@ EXPORT_SYMBOL_GPL(pci_epf_unbind);
int pci_epf_bind(struct pci_epf *epf)
{
if (!epf->driver) {
- dev_WARN(&epf->dev, "epf device not bound to driver\n");
+ dev_WARN(&epf->dev, 1, "epf device not bound to driver\n");
return -EINVAL;
}
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 1e88fd427757..8e4bf40d02a7 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -812,7 +812,7 @@ void pci_iov_update_resource(struct pci_dev *dev, int resno)
pci_read_config_word(dev, iov->pos + PCI_SRIOV_CTRL, &cmd);
if ((cmd & PCI_SRIOV_CTRL_VFE) && (cmd & PCI_SRIOV_CTRL_MSE)) {
- dev_WARN(&dev->dev, "can't update enabled VF BAR%d %pR\n",
+ dev_WARN(&dev->dev, 1, "can't update enabled VF BAR%d %pR\n",
vf_bar, res);
return;
}
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index b04f4fe85ac2..38835a260170 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -653,7 +653,7 @@ struct phy *phy_get(struct device *dev, const char *string)
struct phy *phy;
if (string == NULL) {
- dev_WARN(dev, "missing string\n");
+ dev_WARN(dev, 1, "missing string\n");
return ERR_PTR(-EINVAL);
}
diff --git a/drivers/regulator/pbias-regulator.c b/drivers/regulator/pbias-regulator.c
index bfc15dd3f730..a19684b5536d 100644
--- a/drivers/regulator/pbias-regulator.c
+++ b/drivers/regulator/pbias-regulator.c
@@ -180,7 +180,7 @@ static int pbias_regulator_probe(struct platform_device *pdev)
return -EINVAL;
offset = res->start;
- dev_WARN(&pdev->dev,
+ dev_WARN(&pdev->dev, 1,
"using legacy dt data for pbias offset\n");
}
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index b5966faf3e98..ad71ce2035c5 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -5771,7 +5771,8 @@ static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba,
dev_err(hba->dev, "%s: task management cmd 0x%.2x timed-out\n",
__func__, tm_function);
if (ufshcd_clear_tm_cmd(hba, free_slot))
- dev_WARN(hba->dev, "%s: unable clear tm cmd (slot %d) after timeout\n",
+ dev_WARN(hba->dev, 1,
+ "%s: unable clear tm cmd (slot %d) after timeout\n",
__func__, free_slot);
err = -ETIMEDOUT;
} else {
diff --git a/drivers/thunderbolt/ctl.c b/drivers/thunderbolt/ctl.c
index d97813e80e5f..68dbc63ca838 100644
--- a/drivers/thunderbolt/ctl.c
+++ b/drivers/thunderbolt/ctl.c
@@ -39,7 +39,7 @@ struct tb_ctl {
#define tb_ctl_WARN(ctl, format, arg...) \
- dev_WARN(&(ctl)->nhi->pdev->dev, format, ## arg)
+ dev_WARN(&(ctl)->nhi->pdev->dev, 1, format, ## arg)
#define tb_ctl_err(ctl, format, arg...) \
dev_err(&(ctl)->nhi->pdev->dev, format, ## arg)
diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c
index 641b21b54460..70848984d950 100644
--- a/drivers/thunderbolt/nhi.c
+++ b/drivers/thunderbolt/nhi.c
@@ -102,7 +102,7 @@ static void ring_interrupt_active(struct tb_ring *ring, bool active)
active ? "enabling" : "disabling", reg, bit, old, new);
if (new == old)
- dev_WARN(&ring->nhi->pdev->dev,
+ dev_WARN(&ring->nhi->pdev->dev, 1,
"interrupt for %s %d is already %s\n",
RING_TYPE(ring), ring->hop,
active ? "enabled" : "disabled");
@@ -599,7 +599,7 @@ void tb_ring_start(struct tb_ring *ring)
if (ring->nhi->going_away)
goto err;
if (ring->running) {
- dev_WARN(&ring->nhi->pdev->dev, "ring already started\n");
+ dev_WARN(&ring->nhi->pdev->dev, 1, "ring already started\n");
goto err;
}
dev_dbg(&ring->nhi->pdev->dev, "starting %s %d\n",
@@ -669,7 +669,7 @@ void tb_ring_stop(struct tb_ring *ring)
if (ring->nhi->going_away)
goto err;
if (!ring->running) {
- dev_WARN(&ring->nhi->pdev->dev, "%s %d already stopped\n",
+ dev_WARN(&ring->nhi->pdev->dev, 1, "%s %d already stopped\n",
RING_TYPE(ring), ring->hop);
goto err;
}
@@ -718,7 +718,7 @@ void tb_ring_free(struct tb_ring *ring)
ring->nhi->rx_rings[ring->hop] = NULL;
if (ring->running) {
- dev_WARN(&ring->nhi->pdev->dev, "%s %d still running\n",
+ dev_WARN(&ring->nhi->pdev->dev, 1, "%s %d still running\n",
RING_TYPE(ring), ring->hop);
}
spin_unlock_irq(&ring->nhi->lock);
@@ -1018,10 +1018,10 @@ static void nhi_shutdown(struct tb_nhi *nhi)
for (i = 0; i < nhi->hop_count; i++) {
if (nhi->tx_rings[i])
- dev_WARN(&nhi->pdev->dev,
+ dev_WARN(&nhi->pdev->dev, 1,
"TX ring %d is still active\n", i);
if (nhi->rx_rings[i])
- dev_WARN(&nhi->pdev->dev,
+ dev_WARN(&nhi->pdev->dev, 1,
"RX ring %d is still active\n", i);
}
nhi_disable_interrupts(nhi);
diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
index ec851f20c571..9b0fb4ee5e66 100644
--- a/drivers/thunderbolt/tb.h
+++ b/drivers/thunderbolt/tb.h
@@ -450,7 +450,7 @@ static inline int tb_port_write(struct tb_port *port, const void *buffer,
}
#define tb_err(tb, fmt, arg...) dev_err(&(tb)->nhi->pdev->dev, fmt, ## arg)
-#define tb_WARN(tb, fmt, arg...) dev_WARN(&(tb)->nhi->pdev->dev, fmt, ## arg)
+#define tb_WARN(tb, fmt, arg...) dev_WARN(&(tb)->nhi->pdev->dev, 1, fmt, ## arg)
#define tb_warn(tb, fmt, arg...) dev_warn(&(tb)->nhi->pdev->dev, fmt, ## arg)
#define tb_info(tb, fmt, arg...) dev_info(&(tb)->nhi->pdev->dev, fmt, ## arg)
#define tb_dbg(tb, fmt, arg...) dev_dbg(&(tb)->nhi->pdev->dev, fmt, ## arg)
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
index da923ec17612..3b7a4151ba79 100644
--- a/drivers/usb/core/urb.c
+++ b/drivers/usb/core/urb.c
@@ -475,8 +475,8 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
/* Check that the pipe's type matches the endpoint's type */
if (usb_urb_ep_type_check(urb))
- dev_WARN(&dev->dev, "BOGUS urb xfer, pipe %x != type %x\n",
- usb_pipetype(urb->pipe), pipetypes[xfertype]);
+ dev_WARN(&dev->dev, 1, "BOGUS urb xfer, pipe %x != type %x\n",
+ usb_pipetype(urb->pipe), pipetypes[xfertype]);
/* Check against a simple/standard policy */
allowed = (URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT | URB_DIR_MASK |
@@ -499,8 +499,8 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
/* warn if submitter gave bogus flags */
if (allowed != urb->transfer_flags)
- dev_WARN(&dev->dev, "BOGUS urb flags, %x --> %x\n",
- urb->transfer_flags, allowed);
+ dev_WARN(&dev->dev, 1, "BOGUS urb flags, %x --> %x\n",
+ urb->transfer_flags, allowed);
/*
* Force periodic transfer intervals to be legal values that are
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
index 8c3de2d258bf..f6ef00e2b463 100644
--- a/drivers/usb/dwc3/dwc3-omap.c
+++ b/drivers/usb/dwc3/dwc3-omap.c
@@ -258,7 +258,7 @@ static void dwc3_omap_set_mailbox(struct dwc3_omap *omap,
break;
default:
- dev_WARN(omap->dev, "invalid state\n");
+ dev_WARN(omap->dev, 1, "invalid state\n");
}
}
@@ -404,7 +404,7 @@ static void dwc3_omap_set_utmi_mode(struct dwc3_omap *omap)
reg &= ~USBOTGSS_UTMI_OTG_CTRL_SW_MODE;
break;
default:
- dev_WARN(omap->dev, "UNKNOWN utmi mode %d\n", utmi_mode);
+ dev_WARN(omap->dev, 1, "UNKNOWN utmi mode %d\n", utmi_mode);
}
dwc3_omap_write_utmi_ctrl(omap, reg);
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index fd1b100d2927..8eea1c5cc751 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -110,7 +110,7 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep,
direction = !!(dep->flags & DWC3_EP0_DIR_IN);
if (dwc->ep0state != EP0_DATA_PHASE) {
- dev_WARN(dwc->dev, "Unexpected pending request\n");
+ dev_WARN(dwc->dev, 1, "Unexpected pending request\n");
return 0;
}
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 0c960a97ea02..81dfb89d3dd4 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -370,7 +370,7 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned cmd,
ret = -EAGAIN;
break;
default:
- dev_WARN(dwc->dev, "UNKNOWN cmd status\n");
+ dev_WARN(dwc->dev, 1, "UNKNOWN cmd status\n");
}
break;
@@ -980,7 +980,7 @@ static void __dwc3_prepare_one_trb(struct dwc3_ep *dep, struct dwc3_trb *trb,
* This is only possible with faulty memory because we
* checked it already :)
*/
- dev_WARN(dwc->dev, "Unknown endpoint type %d\n",
+ dev_WARN(dwc->dev, 1, "Unknown endpoint type %d\n",
usb_endpoint_type(dep->endpoint.desc));
}
@@ -3134,7 +3134,7 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc,
case DWC3_DEVICE_EVENT_OVERFLOW:
break;
default:
- dev_WARN(dwc->dev, "UNKNOWN IRQ %d\n", event->type);
+ dev_WARN(dwc->dev, 1, "UNKNOWN IRQ %d\n", event->type);
}
}
diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c
index 35fcb826152c..319e997210fc 100644
--- a/drivers/usb/host/uhci-q.c
+++ b/drivers/usb/host/uhci-q.c
@@ -124,9 +124,9 @@ static struct uhci_td *uhci_alloc_td(struct uhci_hcd *uhci)
static void uhci_free_td(struct uhci_hcd *uhci, struct uhci_td *td)
{
if (!list_empty(&td->list))
- dev_WARN(uhci_dev(uhci), "td %p still in list!\n", td);
+ dev_WARN(uhci_dev(uhci), 1, "td %p still in list!\n", td);
if (!list_empty(&td->fl_list))
- dev_WARN(uhci_dev(uhci), "td %p still in fl_list!\n", td);
+ dev_WARN(uhci_dev(uhci), 1, "td %p still in fl_list!\n", td);
dma_pool_free(uhci->td_pool, td, td->dma_handle);
}
@@ -293,7 +293,7 @@ static void uhci_free_qh(struct uhci_hcd *uhci, struct uhci_qh *qh)
{
WARN_ON(qh->state != QH_STATE_IDLE && qh->udev);
if (!list_empty(&qh->queue))
- dev_WARN(uhci_dev(uhci), "qh %p list not empty!\n", qh);
+ dev_WARN(uhci_dev(uhci), 1, "qh %p list not empty!\n", qh);
list_del(&qh->node);
if (qh->udev) {
@@ -743,7 +743,7 @@ static void uhci_free_urb_priv(struct uhci_hcd *uhci,
struct uhci_td *td, *tmp;
if (!list_empty(&urbp->node))
- dev_WARN(uhci_dev(uhci), "urb %p still on QH's list!\n",
+ dev_WARN(uhci_dev(uhci), 1, "urb %p still on QH's list!\n",
urbp->urb);
list_for_each_entry_safe(td, tmp, &urbp->td_list, list) {
diff --git a/drivers/usb/typec/tcpm/wcove.c b/drivers/usb/typec/tcpm/wcove.c
index edc271da14f4..6591c28dda5c 100644
--- a/drivers/usb/typec/tcpm/wcove.c
+++ b/drivers/usb/typec/tcpm/wcove.c
@@ -559,14 +559,14 @@ static irqreturn_t wcove_typec_irq(int irq, void *data)
if (usbc_irq1) {
ret = regmap_write(wcove->regmap, USBC_IRQ1, usbc_irq1);
if (ret)
- dev_WARN(wcove->dev, "%s failed to clear IRQ1\n",
+ dev_WARN(wcove->dev, 1, "%s failed to clear IRQ1\n",
__func__);
}
if (usbc_irq2) {
ret = regmap_write(wcove->regmap, USBC_IRQ2, usbc_irq2);
if (ret)
- dev_WARN(wcove->dev, "%s failed to clear IRQ2\n",
+ dev_WARN(wcove->dev, 1, "%s failed to clear IRQ2\n",
__func__);
}
diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index c8482624ca34..78770a0f8de8 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -702,7 +702,7 @@ static int vfio_group_nb_add_dev(struct vfio_group *group, struct device *dev)
return 0;
/* TODO Prevent device auto probing */
- dev_WARN(dev, "Device added to live group %d!\n",
+ dev_WARN(dev, 1, "Device added to live group %d!\n",
iommu_group_id(group->iommu_group));
return 0;
@@ -825,7 +825,7 @@ int vfio_add_group_dev(struct device *dev,
device = vfio_group_get_device(group, dev);
if (device) {
- dev_WARN(dev, "Device already exists on group %d\n",
+ dev_WARN(dev, 1, "Device already exists on group %d\n",
iommu_group_id(iommu_group));
vfio_device_put(device);
vfio_group_put(group);
diff --git a/include/linux/device.h b/include/linux/device.h
index 96ff76731e93..829ffc02cb74 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -1895,8 +1895,10 @@ do { \
* dev_WARN*() acts like dev_printk(), but with the key difference of
* using WARN/WARN_ONCE to include file/line information and a backtrace.
*/
-#define dev_WARN(dev, format, arg...) \
- WARN(1, "%s %s: " format, dev_driver_string(dev), dev_name(dev), ## arg);
+
+#define dev_WARN(dev, condition, format, arg...) \
+ WARN(condition, "%s %s: " format, \
+ dev_driver_string(dev), dev_name(dev), ## arg)
#define dev_WARN_ONCE(dev, condition, format, arg...) \
WARN_ONCE(condition, "%s %s: " format, \
--
2.23.0
More information about the dri-devel
mailing list