From: Danilo Krummrich <dakr@kernel.org>
To: krzk@kernel.org
Cc: driver-core@lists.linux.dev, linux-kernel@vger.kernel.org,
Danilo Krummrich <dakr@kernel.org>
Subject: [PATCH 3/3] w1: stop using struct device template for master devices
Date: Fri, 21 Aug 2026 00:54:11 +0200 [thread overview]
Message-ID: <20260820225430.1847356-3-dakr@kernel.org> (raw)
In-Reply-To: <20260820225430.1847356-1-dakr@kernel.org>
w1_alloc_dev() uses memcpy() with a static struct device template
(w1_master_device) to initialize new master devices.
Replace the memcpy() with a w1_master_dev_init() helper that sets only
bus, type, and release.
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
---
Compile-tested only, no hardware available.
---
drivers/w1/w1.c | 15 +++++++--------
drivers/w1/w1_int.c | 7 +++----
drivers/w1/w1_internal.h | 2 +-
3 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index b40f2d9fd29d..d71e2a1568bd 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -193,19 +193,18 @@ struct device_driver w1_master_driver = {
.bus = &w1_bus_type,
};
-struct device w1_master_device = {
- .parent = NULL,
- .bus = &w1_bus_type,
- .type = &w1_master_device_type,
- .init_name = "w1 bus master",
- .release = &w1_master_release
-};
-
static struct device_driver w1_slave_driver = {
.name = "w1_slave_driver",
.bus = &w1_bus_type,
};
+void w1_master_dev_init(struct device *dev)
+{
+ dev->bus = &w1_bus_type;
+ dev->type = &w1_master_device_type;
+ dev->release = &w1_master_release;
+}
+
#if 0
struct device w1_slave_device = {
.parent = NULL,
diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c
index 19a0ea28e9f3..a59ca19471e0 100644
--- a/drivers/w1/w1_int.c
+++ b/drivers/w1/w1_int.c
@@ -22,8 +22,7 @@ static int w1_enable_pullup = 1;
module_param_named(enable_pullup, w1_enable_pullup, int, 0);
static struct w1_master *w1_alloc_dev(u32 id, int slave_count, int slave_ttl,
- struct device_driver *driver,
- struct device *device)
+ struct device_driver *driver)
{
struct w1_master *dev;
int err;
@@ -57,7 +56,7 @@ static struct w1_master *w1_alloc_dev(u32 id, int slave_count, int slave_ttl,
mutex_init(&dev->bus_mutex);
mutex_init(&dev->list_mutex);
- memcpy(&dev->dev, device, sizeof(struct device));
+ w1_master_dev_init(&dev->dev);
dev_set_name(&dev->dev, "w1_bus_master%u", dev->id);
snprintf(dev->name, sizeof(dev->name), "w1_bus_master%u", dev->id);
dev->dev.init_name = dev->name;
@@ -116,7 +115,7 @@ int w1_add_master_device(struct w1_bus_master *master)
} while (found);
dev = w1_alloc_dev(id, w1_max_slave_count, w1_max_slave_ttl,
- &w1_master_driver, &w1_master_device);
+ &w1_master_driver);
if (!dev) {
mutex_unlock(&w1_mlock);
return -ENOMEM;
diff --git a/drivers/w1/w1_internal.h b/drivers/w1/w1_internal.h
index cb5a74e9939a..ffe7c7e8c4ca 100644
--- a/drivers/w1/w1_internal.h
+++ b/drivers/w1/w1_internal.h
@@ -65,7 +65,7 @@ void __w1_family_get(struct w1_family *f);
struct w1_family *w1_family_registered(u8 fid);
extern struct device_driver w1_master_driver;
-extern struct device w1_master_device;
+void w1_master_dev_init(struct device *dev);
extern int w1_max_slave_count;
extern int w1_max_slave_ttl;
extern struct list_head w1_masters;
--
2.55.0
prev parent reply other threads:[~2026-08-20 22:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-20 22:54 [PATCH 1/3] w1: use match() callback instead of hardwiring dev->driver Danilo Krummrich
2026-08-20 22:54 ` [PATCH 2/3] w1: move slave uevent into w1_slave_device_type Danilo Krummrich
2026-08-20 22:54 ` Danilo Krummrich [this message]
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=20260820225430.1847356-3-dakr@kernel.org \
--to=dakr@kernel.org \
--cc=driver-core@lists.linux.dev \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®