mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
can: dev: turn can_set_static_ctrlmode() into a non-inline function
can_set_static_ctrlmode() is declared as a static inline. But it is only called in the probe function of the devices and so does not really benefit from any kind of optimization. Transform it into a "normal" function by moving it to drivers/net/can/dev/dev.c Signed-off-by: Vincent Mailhol <mailhol@kernel.org> Link: https://patch.msgid.link/20250923-can-fix-mtu-v3-2-581bde113f52@kernel.org Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
c67732d067
commit
7c7da8aa3f
|
|
@ -347,6 +347,27 @@ int can_change_mtu(struct net_device *dev, int new_mtu)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(can_change_mtu);
|
||||
|
||||
/* helper to define static CAN controller features at device creation time */
|
||||
int can_set_static_ctrlmode(struct net_device *dev, u32 static_mode)
|
||||
{
|
||||
struct can_priv *priv = netdev_priv(dev);
|
||||
|
||||
/* alloc_candev() succeeded => netdev_priv() is valid at this point */
|
||||
if (priv->ctrlmode_supported & static_mode) {
|
||||
netdev_warn(dev,
|
||||
"Controller features can not be supported and static at the same time\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
priv->ctrlmode = static_mode;
|
||||
|
||||
/* override MTU which was set by default in can_setup()? */
|
||||
if (static_mode & CAN_CTRLMODE_FD)
|
||||
dev->mtu = CANFD_MTU;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(can_set_static_ctrlmode);
|
||||
|
||||
/* generic implementation of netdev_ops::ndo_eth_ioctl for CAN devices
|
||||
* supporting hardware timestamps
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -125,27 +125,6 @@ static inline s32 can_get_relative_tdco(const struct can_priv *priv)
|
|||
return (s32)priv->fd.tdc.tdco - sample_point_in_tc;
|
||||
}
|
||||
|
||||
/* helper to define static CAN controller features at device creation time */
|
||||
static inline int __must_check can_set_static_ctrlmode(struct net_device *dev,
|
||||
u32 static_mode)
|
||||
{
|
||||
struct can_priv *priv = netdev_priv(dev);
|
||||
|
||||
/* alloc_candev() succeeded => netdev_priv() is valid at this point */
|
||||
if (priv->ctrlmode_supported & static_mode) {
|
||||
netdev_warn(dev,
|
||||
"Controller features can not be supported and static at the same time\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
priv->ctrlmode = static_mode;
|
||||
|
||||
/* override MTU which was set by default in can_setup()? */
|
||||
if (static_mode & CAN_CTRLMODE_FD)
|
||||
dev->mtu = CANFD_MTU;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline u32 can_get_static_ctrlmode(struct can_priv *priv)
|
||||
{
|
||||
return priv->ctrlmode & ~priv->ctrlmode_supported;
|
||||
|
|
@ -188,6 +167,8 @@ struct can_priv *safe_candev_priv(struct net_device *dev);
|
|||
int open_candev(struct net_device *dev);
|
||||
void close_candev(struct net_device *dev);
|
||||
int can_change_mtu(struct net_device *dev, int new_mtu);
|
||||
int __must_check can_set_static_ctrlmode(struct net_device *dev,
|
||||
u32 static_mode);
|
||||
int can_eth_ioctl_hwts(struct net_device *netdev, struct ifreq *ifr, int cmd);
|
||||
int can_ethtool_op_get_ts_info_hwts(struct net_device *dev,
|
||||
struct kernel_ethtool_ts_info *info);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user