Skip to content

Commit 728fc9f

Browse files
can: rx-offload: can_rx_offload_add_manual(): add new initialization function
This patch adds a new initialization function: can_rx_offload_add_manual() It should be used to add support rx-offload to a driver, if the callback mechanism should not be used. Use e.g. can_rx_offload_queue_sorted() to queue skbs into rx-offload. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Kleine-Budde <[email protected]>
1 parent b2527eb commit 728fc9f

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

drivers/net/can/rx-offload.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,17 @@ int can_rx_offload_add_fifo(struct net_device *dev,
351351
}
352352
EXPORT_SYMBOL_GPL(can_rx_offload_add_fifo);
353353

354+
int can_rx_offload_add_manual(struct net_device *dev,
355+
struct can_rx_offload *offload,
356+
unsigned int weight)
357+
{
358+
if (offload->mailbox_read)
359+
return -EINVAL;
360+
361+
return can_rx_offload_init_queue(dev, offload, weight);
362+
}
363+
EXPORT_SYMBOL_GPL(can_rx_offload_add_manual);
364+
354365
void can_rx_offload_enable(struct can_rx_offload *offload)
355366
{
356367
napi_enable(&offload->napi);

include/linux/can/rx-offload.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ int can_rx_offload_add_timestamp(struct net_device *dev,
3535
int can_rx_offload_add_fifo(struct net_device *dev,
3636
struct can_rx_offload *offload,
3737
unsigned int weight);
38+
int can_rx_offload_add_manual(struct net_device *dev,
39+
struct can_rx_offload *offload,
40+
unsigned int weight);
3841
int can_rx_offload_irq_offload_timestamp(struct can_rx_offload *offload,
3942
u64 reg);
4043
int can_rx_offload_irq_offload_fifo(struct can_rx_offload *offload);

0 commit comments

Comments
 (0)