mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
can: peak_usb: convert to use ndo_hwtstamp callbacks
Convert driver to use ndo_hwtstamp_set()/ndo_hwtstamp_get() callbacks. ndo_eth_ioctl handler does nothing after conversion - remove it. Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Vincent Mailhol <mailhol@kernel.org> Link: https://patch.msgid.link/20251029231620.1135640-4-vadim.fedorenko@linux.dev Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
336e223258
commit
243449f992
|
|
@ -784,36 +784,33 @@ static int peak_usb_set_data_bittiming(struct net_device *netdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int peak_eth_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
|
||||
static int peak_hwtstamp_get(struct net_device *netdev,
|
||||
struct kernel_hwtstamp_config *config)
|
||||
{
|
||||
struct hwtstamp_config hwts_cfg = { 0 };
|
||||
config->tx_type = HWTSTAMP_TX_OFF;
|
||||
config->rx_filter = HWTSTAMP_FILTER_ALL;
|
||||
|
||||
switch (cmd) {
|
||||
case SIOCSHWTSTAMP: /* set */
|
||||
if (copy_from_user(&hwts_cfg, ifr->ifr_data, sizeof(hwts_cfg)))
|
||||
return -EFAULT;
|
||||
if (hwts_cfg.tx_type == HWTSTAMP_TX_OFF &&
|
||||
hwts_cfg.rx_filter == HWTSTAMP_FILTER_ALL)
|
||||
return 0;
|
||||
return -ERANGE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
case SIOCGHWTSTAMP: /* get */
|
||||
hwts_cfg.tx_type = HWTSTAMP_TX_OFF;
|
||||
hwts_cfg.rx_filter = HWTSTAMP_FILTER_ALL;
|
||||
if (copy_to_user(ifr->ifr_data, &hwts_cfg, sizeof(hwts_cfg)))
|
||||
return -EFAULT;
|
||||
static int peak_hwtstamp_set(struct net_device *netdev,
|
||||
struct kernel_hwtstamp_config *config,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
if (config->tx_type == HWTSTAMP_TX_OFF &&
|
||||
config->rx_filter == HWTSTAMP_FILTER_ALL)
|
||||
return 0;
|
||||
|
||||
default:
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
NL_SET_ERR_MSG_MOD(extack, "Only RX HWTSTAMP_FILTER_ALL is supported");
|
||||
return -ERANGE;
|
||||
}
|
||||
|
||||
static const struct net_device_ops peak_usb_netdev_ops = {
|
||||
.ndo_open = peak_usb_ndo_open,
|
||||
.ndo_stop = peak_usb_ndo_stop,
|
||||
.ndo_eth_ioctl = peak_eth_ioctl,
|
||||
.ndo_start_xmit = peak_usb_ndo_start_xmit,
|
||||
.ndo_hwtstamp_get = peak_hwtstamp_get,
|
||||
.ndo_hwtstamp_set = peak_hwtstamp_set,
|
||||
};
|
||||
|
||||
/* CAN-USB devices generally handle 32-bit CAN channel IDs.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user