mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
devlink: add devl_warn() helper and use it in port warnings
Introduce devl_warn() macro that uses dev_warn() when a backing device is available and falls back to pr_warn() otherwise. Convert all dev_warn() calls in port.c to use it, preparing for devlink instances without a backing device. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://patch.msgid.link/20260312100407.551173-10-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
20b0f383aa
commit
104733e130
@@ -71,6 +71,15 @@ struct devlink *__devlink_alloc(const struct devlink_ops *ops, size_t priv_size,
|
||||
struct net *net, struct device *dev,
|
||||
const struct device_driver *dev_driver);
|
||||
|
||||
#define devl_warn(devlink, format, args...) \
|
||||
do { \
|
||||
if ((devlink)->dev) \
|
||||
dev_warn((devlink)->dev, format, ##args); \
|
||||
else \
|
||||
pr_warn("devlink (%s): " format, \
|
||||
devlink_dev_name(devlink), ##args); \
|
||||
} while (0)
|
||||
|
||||
/* devlink instances are open to the access from the user space after
|
||||
* devlink_register() call. Such logical barrier allows us to have certain
|
||||
* expectations related to locking.
|
||||
|
||||
+7
-7
@@ -976,7 +976,7 @@ static void devlink_port_type_warn(struct work_struct *work)
|
||||
struct devlink_port *port = container_of(to_delayed_work(work),
|
||||
struct devlink_port,
|
||||
type_warn_dw);
|
||||
dev_warn(port->devlink->dev, "Type was not set for devlink port.");
|
||||
devl_warn(port->devlink, "Type was not set for devlink port.");
|
||||
}
|
||||
|
||||
static bool devlink_port_type_should_warn(struct devlink_port *devlink_port)
|
||||
@@ -1242,9 +1242,9 @@ static void __devlink_port_type_set(struct devlink_port *devlink_port,
|
||||
*/
|
||||
void devlink_port_type_eth_set(struct devlink_port *devlink_port)
|
||||
{
|
||||
dev_warn(devlink_port->devlink->dev,
|
||||
"devlink port type for port %d set to Ethernet without a software interface reference, device type not supported by the kernel?\n",
|
||||
devlink_port->index);
|
||||
devl_warn(devlink_port->devlink,
|
||||
"devlink port type for port %d set to Ethernet without a software interface reference, device type not supported by the kernel?\n",
|
||||
devlink_port->index);
|
||||
__devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_ETH, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(devlink_port_type_eth_set);
|
||||
@@ -1273,9 +1273,9 @@ EXPORT_SYMBOL_GPL(devlink_port_type_ib_set);
|
||||
void devlink_port_type_clear(struct devlink_port *devlink_port)
|
||||
{
|
||||
if (devlink_port->type == DEVLINK_PORT_TYPE_ETH)
|
||||
dev_warn(devlink_port->devlink->dev,
|
||||
"devlink port type for port %d cleared without a software interface reference, device type not supported by the kernel?\n",
|
||||
devlink_port->index);
|
||||
devl_warn(devlink_port->devlink,
|
||||
"devlink port type for port %d cleared without a software interface reference, device type not supported by the kernel?\n",
|
||||
devlink_port->index);
|
||||
__devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_NOTSET, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(devlink_port_type_clear);
|
||||
|
||||
Reference in New Issue
Block a user