All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Staudt <max@enpas.org>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Vincent MAILHOL <mailhol.vincent@wanadoo.fr>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Marc Kleine-Budde <mkl@pengutronix.de>,
	linux-can@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Oliver Hartkopp <socketcan@hartkopp.net>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH v5 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD
Date: Wed, 8 Jun 2022 01:43:54 +0200	[thread overview]
Message-ID: <20220608014248.6e0045ae.max@enpas.org> (raw)
In-Reply-To: <20220607150614.6248c504@kernel.org>

On Tue, 7 Jun 2022 15:06:14 -0700
Jakub Kicinski <kuba@kernel.org> wrote:

> On Tue, 7 Jun 2022 18:22:16 +0200 Max Staudt wrote:
> > > Honestly, I am totally happy to have the "default y" tag, the "if
> > > unsure, say Y" comment and the "select CAN_RX_OFFLOAD" all
> > > together.
> > > 
> > > Unless I am violating some kind of best practices, I prefer to
> > > keep it as-is. Hope this makes sense.    
> 
> AFAIU Linus likes for everything that results in code being added to
> the kernel to default to n. If the drivers hard-select that Kconfig
> why bother user with the question at all? My understanding is that
> Linus also likes to keep Kconfig as simple as possible.
> 
> > I wholeheartedly agree with Vincent's decision.
> > 
> > One example case would be users of my can327 driver, as long as it
> > is not upstream yet. They need to have RX_OFFLOAD built into their
> > distribution's can_dev.ko, otherwise they will have no choice but to
> > build their own kernel.  
> 
> Upstream mentioning out-of-tree modules may have the opposite effect 
> to what you intend :( Forgive my ignorance, what's the reason to keep
> the driver out of tree?

None, it's being upstreamed. But even with the best of intentions, it
has been in this process for a long time, and it's still going on!

For some reason, upstream tends to forget about everything that is not
upstream *yet*. I've also convinced Greg K-H to include the
N_DEVELOPMENT ldisc number for this very reason: To allow new drivers
(ldiscs in this case) to be developed comfortably out-of-tree before
they are upstreamed (and then assigned their own ldisc number).

It seems strange to me to magically build some extra features into
can_dev.ko, depending on whether some other .ko files are built in that
very same moment, or not. By "magically", I mean an invisible Kconfig
option. This is why I think Vincent's approach is best here, by making
the drivers a clearly visible subset of the RX_OFFLOAD option in
Kconfig, and RX_OFFLOAD user-selectable.


How about making RX_OFFLOAD a separate .ko file, so we don't have
various possible versions of can_dev.ko?

@Vincent, I think you suggested that some time ago, IIRC?

(I know, I was against a ton of little modules, but I'm changing my
ways here now since it seems to help...)



Max

  parent reply	other threads:[~2022-06-08  0:48 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 14:23 [PATCH 0/2] can: drop tx skb if the device is in listen only mode Vincent Mailhol
2022-05-13 14:23 ` [PATCH 1/2] can: move can_dropped_invalid_skb from skb.h to dev.h Vincent Mailhol
2022-05-13 14:23 ` [PATCH 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 14:42 ` [PATCH 0/2] can: drop tx skb if the device is " Marc Kleine-Budde
2022-05-13 15:20   ` Vincent MAILHOL
2022-05-13 15:36 ` [PATCH v2 " Vincent Mailhol
2022-05-13 15:36   ` [PATCH v2 1/2] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-14  4:20     ` kernel test robot
2022-05-14  5:16       ` Vincent MAILHOL
2022-05-14  5:16         ` Vincent MAILHOL
2022-05-14 11:17         ` Max Staudt
2022-05-14 11:17           ` Max Staudt
2022-05-13 15:36   ` [PATCH v2 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 17:40   ` [PATCH v2 0/2] can: drop tx skb if the device is " Max Staudt
2022-05-14  3:00     ` Vincent MAILHOL
2022-05-14 14:16 ` [PATCH v3 0/4] can: can_dropped_invalid_skb() and Kbuild changes Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 1/4] can: slcan: use can_dropped_invalid_skb() instead of manual check Vincent Mailhol
2022-05-16 20:40     ` Marc Kleine-Budde
2022-05-14 14:16   ` [PATCH v3 2/4] can: Kconfig: change CAN_DEV into a menuconfig Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-15 19:17     ` Oliver Hartkopp
2022-05-17  1:50       ` Vincent MAILHOL
2022-05-17  4:12         ` Max Staudt
2022-05-17  6:08         ` Marc Kleine-Budde
2022-05-17  7:04           ` Vincent MAILHOL
2022-05-17 10:45             ` Marc Kleine-Budde
2022-05-17 11:51               ` Oliver Hartkopp
2022-05-17 12:14                 ` Max Staudt
2022-05-17 12:21                   ` Marc Kleine-Budde
2022-05-17 12:39                     ` Max Staudt
2022-05-17 13:35                       ` Oliver Hartkopp
2022-05-17 13:43                         ` Max Staudt
2022-05-17 14:23                           ` Marc Kleine-Budde
2022-05-17 14:35                           ` Oliver Hartkopp
2022-05-17 15:38                             ` Max Staudt
2022-05-17 15:50                               ` Oliver Hartkopp
2022-05-17 17:52                                 ` Max Staudt
2022-05-18 12:03                         ` Vincent MAILHOL
2022-05-18 12:12                           ` Device Drivers: (was: Re: [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c) Marc Kleine-Budde
2022-05-18 12:45                             ` Oliver Hartkopp
2022-05-18 13:10                           ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Oliver Hartkopp
2022-05-18 13:28                             ` Marc Kleine-Budde
2022-05-18 14:07                               ` Vincent MAILHOL
2022-05-18 14:33                                 ` Oliver Hartkopp
2022-05-18 14:36                                   ` Marc Kleine-Budde
2022-05-18 14:38                                     ` Oliver Hartkopp
2022-05-18 14:55                                       ` Oliver Hartkopp
2022-05-18 15:38                                         ` Vincent MAILHOL
2022-05-18 15:48                                           ` Max Staudt
2022-05-18 16:01                                             ` Vincent MAILHOL
2022-05-14 14:16   ` [PATCH v3 4/4] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-06-03 10:28 ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 11:27     ` Marc Kleine-Budde
2022-06-04 12:30       ` Vincent MAILHOL
2022-06-04 12:43         ` Marc Kleine-Budde
2022-06-04 13:46     ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 11:25     ` Marc Kleine-Budde
2022-06-04 12:21       ` Vincent MAILHOL
2022-06-04 12:41         ` Marc Kleine-Budde
2022-06-04 12:56           ` Vincent MAILHOL
2022-06-04 13:51             ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-04 11:22     ` Marc Kleine-Budde
2022-06-04 12:14       ` Vincent MAILHOL
2022-06-03 10:28   ` [PATCH v4 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-04 11:46   ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Marc Kleine-Budde
2022-06-04 13:05     ` Vincent MAILHOL
2022-06-04 13:55       ` Marc Kleine-Budde
2022-06-04 14:59         ` Vincent MAILHOL
2022-06-04 15:18           ` Marc Kleine-Budde
2022-06-04 16:32             ` Vincent MAILHOL
2022-06-05 10:39               ` Marc Kleine-Budde
2022-06-05 13:57                 ` Vincent MAILHOL
2022-06-05 18:08                   ` Marc Kleine-Budde
2022-06-04 16:29 ` [PATCH v5 " Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-07  8:43     ` Geert Uytterhoeven
2022-06-07  9:27       ` Vincent MAILHOL
2022-06-07 16:22         ` Max Staudt
2022-06-07 22:06           ` Jakub Kicinski
2022-06-07 23:40             ` Vincent MAILHOL
2022-06-08  0:07               ` Jakub Kicinski
2022-06-07 23:43             ` Max Staudt [this message]
2022-06-08  0:14               ` Jakub Kicinski
2022-06-08  0:22                 ` Max Staudt
2022-06-08  1:38                 ` Vincent MAILHOL
2022-06-04 16:29   ` [PATCH v5 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-04 16:30   ` [PATCH v5 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-05 17:23   ` [PATCH v5 0/7] can: refactoring of can-dev module and of Kbuild Max Staudt
2022-06-05 18:06     ` Marc Kleine-Budde
2022-06-05 20:46       ` Max Staudt
2022-06-06  0:24         ` Vincent MAILHOL
2022-06-06 19:24   ` Oliver Hartkopp
2022-06-07  2:49     ` Vincent MAILHOL
2022-06-07  7:13       ` Marc Kleine-Budde
2022-06-07  8:49         ` Vincent MAILHOL
2022-06-07 20:12       ` Oliver Hartkopp
2022-06-07 20:27         ` Marc Kleine-Budde
2022-06-07 20:51           ` Oliver Hartkopp
2022-06-07 23:59             ` Vincent MAILHOL
2022-06-08 20:10               ` Oliver Hartkopp
2022-06-10 14:30 ` [PATCH v6 " Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 1/7] can: Kconfig: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-10 21:38   ` [PATCH v6 0/7] can: refactoring of can-dev module and of Kbuild Oliver Hartkopp
2022-06-10 22:43   ` Max Staudt
2022-06-11 15:17   ` Marc Kleine-Budde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220608014248.6e0045ae.max@enpas.org \
    --to=max@enpas.org \
    --cc=geert@linux-m68k.org \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol.vincent@wanadoo.fr \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=socketcan@hartkopp.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.