lkml.org 
[lkml]   [2022]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD
    Date
    Only a few drivers rely on the CAN rx offload framework (as of the
    writing of this patch, only three: flexcan, ti_hecc and
    mcp251xfd). Give the option to the user to deselect this features
    during compilation.

    The drivers relying on CAN rx offload are in different sub
    folders. All of these drivers get tagged with "select CAN_RX_OFFLOAD"
    so that the option is automatically enabled whenever one of those
    driver is chosen.

    Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
    ---
    drivers/net/can/Kconfig | 16 ++++++++++++++++
    drivers/net/can/dev/Makefile | 2 ++
    drivers/net/can/spi/mcp251xfd/Kconfig | 1 +
    3 files changed, 19 insertions(+)

    diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
    index 8f3b97aea638..1f1d81da1c8c 100644
    --- a/drivers/net/can/Kconfig
    +++ b/drivers/net/can/Kconfig
    @@ -102,6 +102,20 @@ config CAN_CALC_BITTIMING

    If unsure, say Y.

    +config CAN_RX_OFFLOAD
    + bool "CAN RX offload"
    + default y
    + help
    + Framework to offload the controller's RX FIFO during one
    + interrupt. The CAN frames of the FIFO are read and put into a skb
    + queue during that interrupt and transmitted afterwards in a NAPI
    + context.
    +
    + The additional features selected by this option will be added to the
    + can-dev module.
    +
    + If unsure, say Y.
    +
    config CAN_AT91
    tristate "Atmel AT91 onchip CAN controller"
    depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM
    @@ -113,6 +127,7 @@ config CAN_FLEXCAN
    tristate "Support for Freescale FLEXCAN based chips"
    depends on OF || COLDFIRE || COMPILE_TEST
    depends on HAS_IOMEM
    + select CAN_RX_OFFLOAD
    help
    Say Y here if you want to support for Freescale FlexCAN.

    @@ -162,6 +177,7 @@ config CAN_SUN4I
    config CAN_TI_HECC
    depends on ARM
    tristate "TI High End CAN Controller"
    + select CAN_RX_OFFLOAD
    help
    Driver for TI HECC (High End CAN Controller) module found on many
    TI devices. The device specifications are available from www.ti.com
    diff --git a/drivers/net/can/dev/Makefile b/drivers/net/can/dev/Makefile
    index b8a55b1d90cd..5081d8a3be57 100644
    --- a/drivers/net/can/dev/Makefile
    +++ b/drivers/net/can/dev/Makefile
    @@ -11,3 +11,5 @@ can-dev-$(CONFIG_CAN_NETLINK) += netlink.o
    can-dev-$(CONFIG_CAN_NETLINK) += rx-offload.o

    can-dev-$(CONFIG_CAN_CALC_BITTIMING) += calc_bittiming.o
    +
    +can-dev-$(CONFIG_CAN_RX_OFFLOAD) += rx-offload.o
    diff --git a/drivers/net/can/spi/mcp251xfd/Kconfig b/drivers/net/can/spi/mcp251xfd/Kconfig
    index dd0fc0a54be1..877e4356010d 100644
    --- a/drivers/net/can/spi/mcp251xfd/Kconfig
    +++ b/drivers/net/can/spi/mcp251xfd/Kconfig
    @@ -2,6 +2,7 @@

    config CAN_MCP251XFD
    tristate "Microchip MCP251xFD SPI CAN controllers"
    + select CAN_RX_OFFLOAD
    select REGMAP
    select WANT_DEV_COREDUMP
    help
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-06-03 12:31    [W:4.049 / U:0.244 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site