rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Kurt Borja" <kuurtb@gmail.com>
To: "Zijun Hu" <zijun_hu@icloud.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	<linux-kernel@vger.kernel.org>, "Lyude Paul" <lyude@redhat.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Danilo Krummrich" <dakr@kernel.org>
Cc: "Alexander Lobakin" <aleksander.lobakin@intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Lukas Wunner" <lukas@wunner.de>,
	"Mark Brown" <broonie@kernel.org>,
	"Maíra Canal" <mairacanal@riseup.net>,
	"Robin Murphy" <robin.murphy@arm.com>,
	"Simona Vetter" <simona.vetter@ffwll.ch>,
	"Zijun Hu" <quic_zijuhu@quicinc.com>,
	linux-usb@vger.kernel.org, rust-for-linux@vger.kernel.org,
	"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>
Subject: Re: [PATCH v4 1/9] driver core: add a faux bus for use when a simple device/bus is needed
Date: Tue, 11 Feb 2025 10:49:34 -0500	[thread overview]
Message-ID: <D7PQHGGX4WPC.26F52356ISZU8@gmail.com> (raw)
In-Reply-To: <116e9983-6c5f-45f3-a933-dcded223f6d7@icloud.com>

On Tue Feb 11, 2025 at 10:29 AM -05, Zijun Hu wrote:
> On 2025/2/10 22:29, Kurt Borja wrote:
>>> +
>>> +	ret = device_add(dev);
>>> +	if (ret) {
>>> +		pr_err("%s: device_add for faux device '%s' failed with %d\n",
>>> +		       __func__, name, ret);
>>> +		put_device(dev);
>>> +		return NULL;
>>> +	}
>> Now that the probe is synchronous, what do you think about returning
>> -ENODEV if the device failed to bind to the driver?
>> 
>
> Result of device registering @ret is not, should not be, effected by
> "device binding driver (probe result)"
>
> if device binging driver failed, you may return -ENODEV in
> faux_ops->probe(). not here.

After thinking about this discussion, I understand why this might be the
expected behavior. I'm thinking about very simple modules that would
remain loaded even if the probe fails. But of course this may cause
problems to other modules.

In the end, this is just my opinion so it would be up to Greg to decide.
However, there is still an issue with the groups added to the device,
which a user might expect they are tied to an "attached" device
lifetime and this currently not the case.

>
>> This would be useful for modules that may want to unload if the probe
>> fails.
>
> may need to root cause if probe failure happens.
>
> how to unload module automatically if probe() failure ?

If we check for !dev->driver, a module might propagate an error to the
module_init, thus making it fail to load.

-- 
 ~ Kurt


  reply	other threads:[~2025-02-11 15:49 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-10 12:30 [PATCH v4 0/9] Driver core: Add faux bus devices Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 1/9] driver core: add a faux bus for use when a simple device/bus is needed Greg Kroah-Hartman
2025-02-10 14:29   ` Kurt Borja
2025-02-10 14:45     ` Greg Kroah-Hartman
2025-02-10 14:58       ` Kurt Borja
2025-02-10 15:36         ` Greg Kroah-Hartman
2025-02-10 15:52           ` Kurt Borja
2025-02-11  5:50             ` Greg Kroah-Hartman
2025-02-11 20:06             ` Lyude Paul
2025-02-11 21:57               ` Kurt Borja
2025-02-11 15:29     ` Zijun Hu
2025-02-11 15:49       ` Kurt Borja [this message]
2025-02-12  7:39         ` Greg Kroah-Hartman
2025-02-10 17:56   ` Kurt Borja
2025-02-11  7:27     ` Greg Kroah-Hartman
2025-02-11  7:33       ` Greg Kroah-Hartman
2025-02-11  7:43         ` Kurt Borja
2025-02-11  8:17           ` Greg Kroah-Hartman
2025-02-11  8:36             ` Kurt Borja
2025-02-11  2:49   ` Zijun Hu
2025-02-10 12:30 ` [PATCH v4 2/9] rust/kernel: Add faux device bindings Greg Kroah-Hartman
2025-02-10 16:32   ` Benno Lossin
2025-02-10 18:18     ` Danilo Krummrich
2025-02-11  5:52     ` Greg Kroah-Hartman
2025-02-10 18:41   ` Lyude Paul
2025-02-10 21:31   ` Danilo Krummrich
2025-02-12 14:58   ` Gary Guo
2025-02-10 12:30 ` [PATCH v4 3/9] regulator: dummy: convert to use the faux device interface Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 4/9] x86/microcode: move away from using a fake platform device Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 5/9] wifi: cfg80211: " Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 6/9] tlclk: convert to use faux_device Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 7/9] misc: lis3lv02d: " Greg Kroah-Hartman
2025-02-10 12:30 ` [PATCH v4 8/9] drm/vgem/vgem_drv " Greg Kroah-Hartman
2025-02-25 11:38   ` Thomas Zimmermann
2025-02-26  8:18     ` Thomas Zimmermann
2025-02-10 12:30 ` [PATCH v4 9/9] drm/vkms: " Greg Kroah-Hartman
2025-02-10 14:37   ` Louis Chauvet
2025-02-10 14:49     ` Greg Kroah-Hartman
2025-02-25 11:41     ` Thomas Zimmermann
2025-02-25 13:51       ` Louis Chauvet
2025-02-26 10:07         ` Greg Kroah-Hartman
2025-03-11 17:20           ` José Expósito
2025-03-11 17:24             ` José Expósito
2025-03-12  6:22             ` Greg KH
2025-03-13 14:22               ` Simona Vetter
2025-03-13 17:20                 ` José Expósito
2025-06-13  8:15                   ` Thomas Zimmermann
2025-06-13 11:55                     ` José Expósito
2025-06-13 12:33                       ` Thomas Zimmermann
2025-06-13 15:28                         ` José Expósito
2025-06-13 15:39                           ` Thomas Zimmermann
2025-02-27 13:06 ` [PATCH v4 0/9] Driver core: Add faux bus devices Louis Chauvet
2025-02-27 15:18   ` Andy Shevchenko
2025-02-27 15:30   ` Greg Kroah-Hartman
2025-02-28 10:38     ` Simona Vetter
2025-02-28 11:27   ` José Expósito

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=D7PQHGGX4WPC.26F52356ISZU8@gmail.com \
    --to=kuurtb@gmail.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=dakr@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=lyude@redhat.com \
    --cc=mairacanal@riseup.net \
    --cc=quic_zijuhu@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=simona.vetter@ffwll.ch \
    --cc=thomas.weissschuh@linutronix.de \
    --cc=zijun_hu@icloud.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).