All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: "Uwe Kleine-König" <u.kleine-koenig@baylibre.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	sboyd@kernel.org, jic23@kernel.org, dlechner@baylibre.com,
	nuno.sa@analog.com, andy@kernel.org, arnd@arndb.de,
	gregkh@linuxfoundation.org, srini@kernel.org, vkoul@kernel.org,
	kishon@kernel.org, sre@kernel.org,
	krzysztof.kozlowski@linaro.org, linux-arm-msm@vger.kernel.org,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-phy@lists.infradead.org, linux-pm@vger.kernel.org,
	kernel@collabora.com, wenst@chromium.org,
	casey.connolly@linaro.org,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Neil Armstrong <neil.armstrong@linaro.org>
Subject: Re: [PATCH v4 2/7] nvmem: qcom-spmi-sdam: Migrate to devm_spmi_subdevice_alloc_and_add()
Date: Thu, 18 Sep 2025 22:00:29 +0300	[thread overview]
Message-ID: <aMxWzTxvMLsVWbDB@smile.fi.intel.com> (raw)
In-Reply-To: <er7dkmzutsu3ooegeihjzngi6l3hol5iaohecr3n5bolfse3tj@xeedlx2utwym>

On Wed, Sep 17, 2025 at 02:47:22PM +0200, Uwe Kleine-König wrote:
> On Tue, Sep 16, 2025 at 07:20:20PM +0300, Andy Shevchenko wrote:
> > On Tue, Sep 16, 2025 at 6:11 PM Uwe Kleine-König
> > <u.kleine-koenig@baylibre.com> wrote:
> > > On Tue, Sep 16, 2025 at 04:35:35PM +0300, Andy Shevchenko wrote:
> > > > On Tue, Sep 16, 2025 at 03:24:56PM +0200, Uwe Kleine-König wrote:
> > > > > On Tue, Sep 16, 2025 at 10:44:40AM +0200, AngeloGioacchino Del Regno wrote:

...

> > > > > > +MODULE_IMPORT_NS("SPMI");
> > > > >
> > > > > If it's exactly the files that #include <linux/spmi.h> should have that
> > > > > namespace import, you can put the MODULE_IMPORT_NS into that header.
> > > >
> > > > Which makes anyone to import namespace even if they just want to use some types
> > > > out of the header.
> > >
> > > Notice that I carefully formulated my suggestion to cope for this case.
> > 
> > And I carefully answered.
> 
> I tend to disagree. If that anyone only wants some type from the header
> but not the namespace, the if part of my statement isn't given any more.
> Still your reply felt like objection while logically it's not.

You assumed that in case that the header that is *currently* included in the
users, may be the one that used by the same users that needs an imported
namespace. Okay, *now* (or today) it's not a problem, but *in the future* it
might be *when* one wants to use *just* types from it.
I don't think this is likely to happen, but in general including something
"by default" is not a good idea. That's what I'm objecting to.

> > Your proposal won't prevent _other_ files to
> > use the same header in the future without needing a namespace to be
> > imported.
> 
> Oh yes. But that's true for every change: If you change it further you
> have to cope for what is already there.
> 
> > > > This is not good solution generally speaking. Also this will
> > > > diminish one of the purposes of _NS variants of MODULE*/EXPORT*, i.e. make it
> > > > invisible that some of the code may become an abuser of the API just by someone
> > > > include the header (for a reason or by a mistake).
> > >
> > > Yeah, opinions differ. In my eyes it's quite elegant.
> > 
> > It's not a pure opinion,
> 
> That's your opinion :-)

All we said is just set of opinions. Facts are provided by scientific
experiments.

> > it has a technical background that I
> > explained. The explicit usage of MODULE_IMPORT_NS() is better than
> > some header somewhere that might even be included by another and be
> > proxied to the code that doesn't need / want to have this namespace to
> > be present. Puting MODULE_IMPORT_NS() into a _header_ is a minefield
> > for the future.
> 
> Well, for a deliberate abuser the hurdle to have to add the explicit
> MODULE_IMPORT_NS() isn't that big. And a mistaken abuser won't explode,
> just generate a few bytes overhead that can be fixed when noticed.
> 
> In my opinion that is an ok cost for the added elegance.

I tend to disagree. The practice to include (be lazy) something just in case is
a bad practice. Developer has to know what they are doing. We have already too
much bad code in the kernel and opening new ways for more "vibe:ish" coding is
a road to accumulated issues in the future.

I,o.w. I principally disagree on putting MODULE_IMPORT_NS() into the header
file.

-- 
With Best Regards,
Andy Shevchenko



WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: "Uwe Kleine-König" <u.kleine-koenig@baylibre.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	sboyd@kernel.org, jic23@kernel.org, dlechner@baylibre.com,
	nuno.sa@analog.com, andy@kernel.org, arnd@arndb.de,
	gregkh@linuxfoundation.org, srini@kernel.org, vkoul@kernel.org,
	kishon@kernel.org, sre@kernel.org,
	krzysztof.kozlowski@linaro.org, linux-arm-msm@vger.kernel.org,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-phy@lists.infradead.org, linux-pm@vger.kernel.org,
	kernel@collabora.com, wenst@chromium.org,
	casey.connolly@linaro.org,
	Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Neil Armstrong <neil.armstrong@linaro.org>
Subject: Re: [PATCH v4 2/7] nvmem: qcom-spmi-sdam: Migrate to devm_spmi_subdevice_alloc_and_add()
Date: Thu, 18 Sep 2025 22:00:29 +0300	[thread overview]
Message-ID: <aMxWzTxvMLsVWbDB@smile.fi.intel.com> (raw)
In-Reply-To: <er7dkmzutsu3ooegeihjzngi6l3hol5iaohecr3n5bolfse3tj@xeedlx2utwym>

On Wed, Sep 17, 2025 at 02:47:22PM +0200, Uwe Kleine-König wrote:
> On Tue, Sep 16, 2025 at 07:20:20PM +0300, Andy Shevchenko wrote:
> > On Tue, Sep 16, 2025 at 6:11 PM Uwe Kleine-König
> > <u.kleine-koenig@baylibre.com> wrote:
> > > On Tue, Sep 16, 2025 at 04:35:35PM +0300, Andy Shevchenko wrote:
> > > > On Tue, Sep 16, 2025 at 03:24:56PM +0200, Uwe Kleine-König wrote:
> > > > > On Tue, Sep 16, 2025 at 10:44:40AM +0200, AngeloGioacchino Del Regno wrote:

...

> > > > > > +MODULE_IMPORT_NS("SPMI");
> > > > >
> > > > > If it's exactly the files that #include <linux/spmi.h> should have that
> > > > > namespace import, you can put the MODULE_IMPORT_NS into that header.
> > > >
> > > > Which makes anyone to import namespace even if they just want to use some types
> > > > out of the header.
> > >
> > > Notice that I carefully formulated my suggestion to cope for this case.
> > 
> > And I carefully answered.
> 
> I tend to disagree. If that anyone only wants some type from the header
> but not the namespace, the if part of my statement isn't given any more.
> Still your reply felt like objection while logically it's not.

You assumed that in case that the header that is *currently* included in the
users, may be the one that used by the same users that needs an imported
namespace. Okay, *now* (or today) it's not a problem, but *in the future* it
might be *when* one wants to use *just* types from it.
I don't think this is likely to happen, but in general including something
"by default" is not a good idea. That's what I'm objecting to.

> > Your proposal won't prevent _other_ files to
> > use the same header in the future without needing a namespace to be
> > imported.
> 
> Oh yes. But that's true for every change: If you change it further you
> have to cope for what is already there.
> 
> > > > This is not good solution generally speaking. Also this will
> > > > diminish one of the purposes of _NS variants of MODULE*/EXPORT*, i.e. make it
> > > > invisible that some of the code may become an abuser of the API just by someone
> > > > include the header (for a reason or by a mistake).
> > >
> > > Yeah, opinions differ. In my eyes it's quite elegant.
> > 
> > It's not a pure opinion,
> 
> That's your opinion :-)

All we said is just set of opinions. Facts are provided by scientific
experiments.

> > it has a technical background that I
> > explained. The explicit usage of MODULE_IMPORT_NS() is better than
> > some header somewhere that might even be included by another and be
> > proxied to the code that doesn't need / want to have this namespace to
> > be present. Puting MODULE_IMPORT_NS() into a _header_ is a minefield
> > for the future.
> 
> Well, for a deliberate abuser the hurdle to have to add the explicit
> MODULE_IMPORT_NS() isn't that big. And a mistaken abuser won't explode,
> just generate a few bytes overhead that can be fixed when noticed.
> 
> In my opinion that is an ok cost for the added elegance.

I tend to disagree. The practice to include (be lazy) something just in case is
a bad practice. Developer has to know what they are doing. We have already too
much bad code in the kernel and opening new ways for more "vibe:ish" coding is
a road to accumulated issues in the future.

I,o.w. I principally disagree on putting MODULE_IMPORT_NS() into the header
file.

-- 
With Best Regards,
Andy Shevchenko



-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2025-09-18 19:00 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-16  8:44 [PATCH v4 0/7] SPMI: Implement sub-devices and migrate drivers AngeloGioacchino Del Regno
2025-09-16  8:44 ` AngeloGioacchino Del Regno
2025-09-16  8:44 ` [PATCH v4 1/7] spmi: Implement spmi_subdevice_alloc_and_add() and devm variant AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno
2025-09-16 13:25   ` Uwe Kleine-König
2025-09-16 13:25     ` Uwe Kleine-König
2025-09-17 11:41     ` AngeloGioacchino Del Regno
2025-09-17 11:41       ` AngeloGioacchino Del Regno
2025-09-17 14:57       ` Uwe Kleine-König
2025-09-17 14:57         ` Uwe Kleine-König
2025-09-18 10:34         ` AngeloGioacchino Del Regno
2025-09-18 10:34           ` AngeloGioacchino Del Regno
2025-09-17 16:24   ` Sebastian Reichel
2025-09-17 16:24     ` Sebastian Reichel
2025-09-16  8:44 ` [PATCH v4 2/7] nvmem: qcom-spmi-sdam: Migrate to devm_spmi_subdevice_alloc_and_add() AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno
2025-09-16 13:24   ` Uwe Kleine-König
2025-09-16 13:24     ` Uwe Kleine-König
2025-09-16 13:35     ` Andy Shevchenko
2025-09-16 13:35       ` Andy Shevchenko
2025-09-16 15:11       ` Uwe Kleine-König
2025-09-16 15:11         ` Uwe Kleine-König
2025-09-16 16:20         ` Andy Shevchenko
2025-09-16 16:20           ` Andy Shevchenko
2025-09-17  9:15           ` AngeloGioacchino Del Regno
2025-09-17  9:15             ` AngeloGioacchino Del Regno
2025-09-17 12:47           ` Uwe Kleine-König
2025-09-17 12:47             ` Uwe Kleine-König
2025-09-18 19:00             ` Andy Shevchenko [this message]
2025-09-18 19:00               ` Andy Shevchenko
2025-09-19 13:59               ` Greg KH
2025-09-19 13:59                 ` Greg KH
2025-09-19 15:05                 ` David Lechner
2025-09-19 15:05                   ` David Lechner
2025-09-19 15:13                   ` Greg KH
2025-09-19 15:13                     ` Greg KH
2025-09-19 15:20                     ` David Lechner
2025-09-19 15:20                       ` David Lechner
2025-09-19 15:37                       ` Greg KH
2025-09-19 15:37                         ` Greg KH
2025-09-20 16:41                         ` Uwe Kleine-König
2025-09-20 16:41                           ` Uwe Kleine-König
2025-09-24 12:32                           ` Greg KH
2025-09-24 12:32                             ` Greg KH
2025-09-19 16:18                     ` Uwe Kleine-König
2025-09-19 16:18                       ` Uwe Kleine-König
2025-09-16  8:44 ` [PATCH v4 3/7] power: reset: qcom-pon: " AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno
2025-09-16  8:44 ` [PATCH v4 4/7] phy: qualcomm: eusb2-repeater: " AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno
2025-09-17  9:30   ` kernel test robot
2025-09-17  9:30     ` kernel test robot
2025-09-16  8:44 ` [PATCH v4 5/7] misc: qcom-coincell: " AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno
2025-09-16  8:44 ` [PATCH v4 6/7] iio: adc: qcom-spmi-iadc: " AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno
2025-09-16  8:44 ` [PATCH v4 7/7] iio: adc: qcom-spmi-iadc: Remove regmap R/W wrapper functions AngeloGioacchino Del Regno
2025-09-16  8:44   ` AngeloGioacchino Del Regno

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=aMxWzTxvMLsVWbDB@smile.fi.intel.com \
    --to=andriy.shevchenko@intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=andy@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=arnd@arndb.de \
    --cc=casey.connolly@linaro.org \
    --cc=dlechner@baylibre.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=kernel@collabora.com \
    --cc=kishon@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=nuno.sa@analog.com \
    --cc=sboyd@kernel.org \
    --cc=sre@kernel.org \
    --cc=srini@kernel.org \
    --cc=u.kleine-koenig@baylibre.com \
    --cc=vkoul@kernel.org \
    --cc=wenst@chromium.org \
    /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.