All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Nicolas Pitre <nico@fluxnic.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	"David S. Miller" <davem@davemloft.net>,
	Saeed Mahameed <saeedm@mellanox.com>,
	Leon Romanovsky <leon@kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	Networking <netdev@vger.kernel.org>,
	linux-rdma <linux-rdma@vger.kernel.org>
Subject: Re: [RFC 0/6] Regressions for "imply" behavior change
Date: Wed, 8 Apr 2020 19:42:24 -0300	[thread overview]
Message-ID: <20200408224224.GD11886@ziepe.ca> (raw)
In-Reply-To: <CAK8P3a2frDf4BzEpEF0uwPTV2dv6Jve+6N97z1sSuSBUAPJquA@mail.gmail.com>

On Wed, Apr 08, 2020 at 10:49:48PM +0200, Arnd Bergmann wrote:
> On Wed, Apr 8, 2020 at 10:38 PM Nicolas Pitre <nico@fluxnic.net> wrote:
> > On Wed, 8 Apr 2020, Arnd Bergmann wrote:
> > > I have created workarounds for the Kconfig files, which now stop using
> > > imply and do something else in each case. I don't know whether there was
> > > a bug in the kconfig changes that has led to allowing configurations that
> > > were not meant to be legal even with the new semantics, or if the Kconfig
> > > files have simply become incorrect now and the tool works as expected.
> >
> > In most cases it is the code that has to be fixed. It typically does:
> >
> >         if (IS_ENABLED(CONFIG_FOO))
> >                 foo_init();
> >
> > Where it should rather do:
> >
> >         if (IS_REACHABLE(CONFIG_FOO))
> >                 foo_init();
> >
> > A couple of such patches have been produced and queued in their
> > respective trees already.
> 
> I try to use IS_REACHABLE() only as a last resort, as it tends to
> confuse users when a subsystem is built as a module and already
> loaded but something relying on that subsystem does not use it.
> 
> In the six patches I made, I had to use IS_REACHABLE() once,
> for the others I tended to use a Kconfig dependency like
> 
> 'depends on FOO || FOO=n'

It is unfortunate kconfig doesn't have a language feature for this
idiom, as the above is confounding without a lot of kconfig knowledge

> I did come up with the IS_REACHABLE() macro originally, but that
> doesn't mean I think it's a good idea to use it liberally ;-)

It would be nice to have some uniform policy here

I also don't like the IS_REACHABLE solution, it makes this more
complicated, not less..

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>,
	Leon Romanovsky <leon@kernel.org>,
	Neil Armstrong <narmstrong@baylibre.com>,
	David Airlie <airlied@linux.ie>,
	Networking <netdev@vger.kernel.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Nicolas Pitre <nico@fluxnic.net>,
	Saeed Mahameed <saeedm@mellanox.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	Andrzej Hajda <a.hajda@samsung.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	"David S. Miller" <davem@davemloft.net>,
	linux-rdma <linux-rdma@vger.kernel.org>
Subject: Re: [RFC 0/6] Regressions for "imply" behavior change
Date: Wed, 8 Apr 2020 19:42:24 -0300	[thread overview]
Message-ID: <20200408224224.GD11886@ziepe.ca> (raw)
In-Reply-To: <CAK8P3a2frDf4BzEpEF0uwPTV2dv6Jve+6N97z1sSuSBUAPJquA@mail.gmail.com>

On Wed, Apr 08, 2020 at 10:49:48PM +0200, Arnd Bergmann wrote:
> On Wed, Apr 8, 2020 at 10:38 PM Nicolas Pitre <nico@fluxnic.net> wrote:
> > On Wed, 8 Apr 2020, Arnd Bergmann wrote:
> > > I have created workarounds for the Kconfig files, which now stop using
> > > imply and do something else in each case. I don't know whether there was
> > > a bug in the kconfig changes that has led to allowing configurations that
> > > were not meant to be legal even with the new semantics, or if the Kconfig
> > > files have simply become incorrect now and the tool works as expected.
> >
> > In most cases it is the code that has to be fixed. It typically does:
> >
> >         if (IS_ENABLED(CONFIG_FOO))
> >                 foo_init();
> >
> > Where it should rather do:
> >
> >         if (IS_REACHABLE(CONFIG_FOO))
> >                 foo_init();
> >
> > A couple of such patches have been produced and queued in their
> > respective trees already.
> 
> I try to use IS_REACHABLE() only as a last resort, as it tends to
> confuse users when a subsystem is built as a module and already
> loaded but something relying on that subsystem does not use it.
> 
> In the six patches I made, I had to use IS_REACHABLE() once,
> for the others I tended to use a Kconfig dependency like
> 
> 'depends on FOO || FOO=n'

It is unfortunate kconfig doesn't have a language feature for this
idiom, as the above is confounding without a lot of kconfig knowledge

> I did come up with the IS_REACHABLE() macro originally, but that
> doesn't mean I think it's a good idea to use it liberally ;-)

It would be nice to have some uniform policy here

I also don't like the IS_REACHABLE solution, it makes this more
complicated, not less..

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2020-04-08 22:42 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-08 20:27 [RFC 0/6] Regressions for "imply" behavior change Arnd Bergmann
2020-04-08 20:27 ` Arnd Bergmann
2020-04-08 20:27 ` [RFC 1/6] thunder: select PTP driver if possible Arnd Bergmann
2020-04-08 20:27   ` Arnd Bergmann
2020-04-08 20:27 ` [RFC 2/6] net/mlx5e: fix VXLAN dependency Arnd Bergmann
2020-04-08 20:27   ` Arnd Bergmann
2020-04-08 20:27 ` [RFC 3/6] LiquidIO VF: add dependency for PTP_1588_CLOCK Arnd Bergmann
2020-04-08 20:27   ` Arnd Bergmann
2020-04-08 21:10   ` kbuild test robot
2020-04-08 21:13     ` Arnd Bergmann
2020-04-08 20:27 ` [RFC 4/6] drm/bridge/sii8620: fix extcon dependency Arnd Bergmann
2020-04-08 20:27   ` Arnd Bergmann
2020-04-10  6:56   ` Andrzej Hajda
2020-04-10  6:56     ` Andrzej Hajda
2020-04-14 15:04     ` Arnd Bergmann
2020-04-14 15:04       ` Arnd Bergmann
2020-04-14 15:37       ` Daniel Vetter
2020-04-14 15:37         ` Daniel Vetter
2020-04-15  6:58         ` Jani Nikula
2020-04-15  6:58           ` Jani Nikula
2020-04-08 20:27 ` [RFC 5/6] drm/rcar-du: fix selection of CMM driver Arnd Bergmann
2020-04-08 20:27   ` Arnd Bergmann
2020-04-14 20:17   ` Laurent Pinchart
2020-04-14 20:17     ` Laurent Pinchart
2020-04-14 20:38     ` Arnd Bergmann
2020-04-14 20:38       ` Arnd Bergmann
2020-04-14 20:51       ` Laurent Pinchart
2020-04-14 20:51         ` Laurent Pinchart
2020-04-14 21:10         ` Arnd Bergmann
2020-04-14 21:10           ` Arnd Bergmann
2020-04-15 14:13           ` Geert Uytterhoeven
2020-04-15 14:13             ` Geert Uytterhoeven
2020-04-15 15:18             ` Arnd Bergmann
2020-04-15 15:18               ` Arnd Bergmann
2020-04-15 19:07               ` Arnd Bergmann
2020-04-15 19:07                 ` Arnd Bergmann
2020-04-15 21:12                 ` Laurent Pinchart
2020-04-15 21:12                   ` Laurent Pinchart
2020-04-15 21:22                   ` Arnd Bergmann
2020-04-15 21:22                     ` Arnd Bergmann
2020-04-16  6:51                     ` Daniel Vetter
2020-04-16  6:51                       ` Daniel Vetter
2020-04-16 15:17                       ` Laurent Pinchart
2020-04-16 15:17                         ` Laurent Pinchart
2020-04-08 20:27 ` [RFC 6/6] drm/rcar-du: fix lvds dependency Arnd Bergmann
2020-04-08 20:27   ` Arnd Bergmann
2020-04-08 20:38 ` [RFC 0/6] Regressions for "imply" behavior change Nicolas Pitre
2020-04-08 20:38   ` Nicolas Pitre
2020-04-08 20:46   ` Saeed Mahameed
2020-04-08 20:46     ` Saeed Mahameed
2020-04-08 20:49   ` Arnd Bergmann
2020-04-08 20:49     ` Arnd Bergmann
2020-04-08 21:17     ` Nicolas Pitre
2020-04-08 21:17       ` Nicolas Pitre
2020-04-08 22:42     ` Jason Gunthorpe [this message]
2020-04-08 22:42       ` Jason Gunthorpe
2020-04-09  8:41       ` Jani Nikula
2020-04-09  8:41         ` Jani Nikula
2020-04-10  2:40         ` Saeed Mahameed
2020-04-10  2:40           ` Saeed Mahameed
2020-04-10  7:26           ` Geert Uytterhoeven
2020-04-10  7:26             ` Geert Uytterhoeven
2020-04-10 17:13           ` Jason Gunthorpe
2020-04-10 17:13             ` Jason Gunthorpe
2020-04-10 19:04             ` Saeed Mahameed
2020-04-10 19:04               ` Saeed Mahameed
2020-04-14 13:29               ` Jason Gunthorpe
2020-04-14 13:29                 ` Jason Gunthorpe
2020-04-14 14:27                 ` Arnd Bergmann
2020-04-14 14:27                   ` Arnd Bergmann
2020-04-14 15:23                   ` Jason Gunthorpe
2020-04-14 15:23                     ` Jason Gunthorpe
2020-04-14 15:25                     ` Arnd Bergmann
2020-04-14 15:25                       ` Arnd Bergmann
2020-04-14 17:49                       ` Saeed Mahameed
2020-04-14 17:49                         ` Saeed Mahameed
2020-04-14 18:47                         ` Arnd Bergmann
2020-04-14 18:47                           ` Arnd Bergmann
2020-04-16  3:25                           ` Saeed Mahameed
2020-04-16  3:25                             ` Saeed Mahameed
2020-04-16  7:20                             ` Arnd Bergmann
2020-04-16  7:20                               ` Arnd Bergmann
2020-04-16 10:17                               ` Jani Nikula
2020-04-16 10:17                                 ` Jani Nikula
2020-04-16 12:38                                 ` Arnd Bergmann
2020-04-16 12:38                                   ` Arnd Bergmann
2020-04-16 14:52                                   ` Jason Gunthorpe
2020-04-16 14:52                                     ` Jason Gunthorpe
2020-04-16 15:58                                     ` Arnd Bergmann
2020-04-16 15:58                                       ` Arnd Bergmann
2020-04-16 18:05                                       ` Jason Gunthorpe
2020-04-16 18:05                                         ` Jason Gunthorpe
2020-04-16 18:38                                     ` Saeed Mahameed
2020-04-16 18:38                                       ` Saeed Mahameed
2020-04-16 15:12                                   ` Nicolas Pitre
2020-04-16 15:12                                     ` Nicolas Pitre
2020-04-16 18:21                                     ` Jason Gunthorpe
2020-04-16 18:21                                       ` Jason Gunthorpe
2020-04-16 19:56                                       ` Andrzej Hajda
2020-04-16 19:56                                         ` Andrzej Hajda

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=20200408224224.GD11886@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=arnd@arndb.de \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=narmstrong@baylibre.com \
    --cc=netdev@vger.kernel.org \
    --cc=nico@fluxnic.net \
    --cc=saeedm@mellanox.com \
    /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.