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.bharad...@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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to