All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <200504210236.46689.dtor_core@ameritech.net>

diff --git a/a/1.txt b/N1/1.txt
index 0908879..375e3f4 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -2,10 +2,3 @@ Ahem.. Kmail just refuses send this on inline... Sorry.
 
 --
 Dmitry
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: w1-hotplug.patch
-Type: text/x-diff
-Size: 2198 bytes
-Desc: not available
-Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050421/8f38ea1d/w1-hotplug.bin
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..1477dc7
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,6 @@
+Content-Type: text/x-diff;
+  charset="iso-8859-1";
+  name="w1-hotplug.patch"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+	filename="w1-hotplug.patch"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..4ecfebf
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,86 @@
+W1: implement W1 bus hotplug handler. Slave devices will define
+    FID (family ID) end SN (serial number) environment variables.
+
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+---
+
+ w1.c |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 files changed, 44 insertions(+), 7 deletions(-)
+
+Index: dtor/drivers/w1/w1.c
+===================================================================
+--- dtor.orig/drivers/w1/w1.c
++++ dtor/drivers/w1/w1.c
+@@ -50,6 +50,10 @@ module_param_named(scan_interval, w1_sca
+ module_param_named(max_slave_count, w1_max_slave_count, int, 0);
+ module_param_named(slave_ttl, w1_max_slave_ttl, int, 0);
+ 
++struct device_driver w1_master_driver = {
++	.name = "master",
++};
++
+ static int w1_bus_match(struct device *dev, struct device_driver *drv)
+ {
+ 	/*
+@@ -67,14 +71,46 @@ static int w1_bus_match(struct device *d
+ 	return 0;
+ }
+ 
+-static struct bus_type w1_bus_type = {
+-	.name = "w1",
+-	.match = w1_bus_match,
+-};
++#ifdef CONFIG_HOTPLUG
++static int w1_hotplug(struct device *dev, char **envp, int num_envp,
++		      char *buffer, int buffer_size)
++{
++	struct w1_slave *slave;
++	int i = 0;
++	int len = 0;
+ 
+-struct device_driver w1_master_driver = {
+-	.name = "master",
+-	.bus = &w1_bus_type,
++	if (!dev)
++		return -ENODEV;
++
++	if (dev->driver == &w1_master_driver)
++		return 0;
++
++	slave = to_w1_slave(dev);
++
++	if (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, &len,
++				"FID=%02X", slave->reg_num.family))
++		return -ENOMEM;
++
++	if (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, &len,
++				"SN=%024llX", slave->reg_num.id))
++		return -ENOMEM;
++
++	envp[i] = NULL;
++
++	return 0;
++}
++#else
++static int w1_hotplug(struct device *dev, char **envp, int num_envp,
++		      char *buffer, int buffer_size)
++{
++	return -ENODEV;
++}
++#endif /* CONFIG_HOTPLUG */
++
++static struct bus_type w1_bus_type = {
++	.name		= "w1",
++	.match		= w1_bus_match,
++	.hotplug	= w1_hotplug,
+ };
+ 
+ static ssize_t w1_slave_attribute_show_family(struct device *dev, char *buf)
+@@ -541,6 +577,7 @@ static int w1_init(void)
+ 		return error;
+ 	}
+ 
++	w1_master_driver.bus = &w1_bus_type;
+ 	error = driver_register(&w1_master_driver);
+ 	if (error) {
+ 		printk(KERN_ERR
diff --git a/a/content_digest b/N1/content_digest
index a003d8c..a1d80f4 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,23 +1,105 @@
  "ref\0200504210207.02421.dtor_core@ameritech.net\0"
- "From\0dtor_core@ameritech.net (Dmitry Torokhov)\0"
+ "From\0Dmitry Torokhov <dtor_core@ameritech.net>\0"
  "Subject\0[RFC/PATCH 21/22] W1: implement standard hotplug handler\0"
- "Date\0Thu, 19 May 2005 06:25:53 +0000\0"
+ "Date\0Thu, 21 Apr 2005 02:36:45 -0500\0"
  "To\0sensors@stimpy.netroedge.com\0"
  "Cc\0LKML <linux-kernel@vger.kernel.org>"
   Greg KH <gregkh@suse.de>
  " Evgeniy Polyakov <johnpol@2ka.mipt.ru>\0"
- "\00:1\0"
+ "\01:1\0"
  "b\0"
  "Ahem.. Kmail just refuses send this on inline... Sorry.\n"
  "\n"
  "--\n"
- "Dmitry\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: w1-hotplug.patch\n"
- "Type: text/x-diff\n"
- "Size: 2198 bytes\n"
- "Desc: not available\n"
- Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050421/8f38ea1d/w1-hotplug.bin
+ Dmitry
+ "\01:2\0"
+ "fn\0w1-hotplug.patch\0"
+ "b\0"
+ "W1: implement W1 bus hotplug handler. Slave devices will define\n"
+ "    FID (family ID) end SN (serial number) environment variables.\n"
+ "\n"
+ "Signed-off-by: Dmitry Torokhov <dtor@mail.ru>\n"
+ "---\n"
+ "\n"
+ " w1.c |   51 ++++++++++++++++++++++++++++++++++++++++++++-------\n"
+ " 1 files changed, 44 insertions(+), 7 deletions(-)\n"
+ "\n"
+ "Index: dtor/drivers/w1/w1.c\n"
+ "===================================================================\n"
+ "--- dtor.orig/drivers/w1/w1.c\n"
+ "+++ dtor/drivers/w1/w1.c\n"
+ "@@ -50,6 +50,10 @@ module_param_named(scan_interval, w1_sca\n"
+ " module_param_named(max_slave_count, w1_max_slave_count, int, 0);\n"
+ " module_param_named(slave_ttl, w1_max_slave_ttl, int, 0);\n"
+ " \n"
+ "+struct device_driver w1_master_driver = {\n"
+ "+\t.name = \"master\",\n"
+ "+};\n"
+ "+\n"
+ " static int w1_bus_match(struct device *dev, struct device_driver *drv)\n"
+ " {\n"
+ " \t/*\n"
+ "@@ -67,14 +71,46 @@ static int w1_bus_match(struct device *d\n"
+ " \treturn 0;\n"
+ " }\n"
+ " \n"
+ "-static struct bus_type w1_bus_type = {\n"
+ "-\t.name = \"w1\",\n"
+ "-\t.match = w1_bus_match,\n"
+ "-};\n"
+ "+#ifdef CONFIG_HOTPLUG\n"
+ "+static int w1_hotplug(struct device *dev, char **envp, int num_envp,\n"
+ "+\t\t      char *buffer, int buffer_size)\n"
+ "+{\n"
+ "+\tstruct w1_slave *slave;\n"
+ "+\tint i = 0;\n"
+ "+\tint len = 0;\n"
+ " \n"
+ "-struct device_driver w1_master_driver = {\n"
+ "-\t.name = \"master\",\n"
+ "-\t.bus = &w1_bus_type,\n"
+ "+\tif (!dev)\n"
+ "+\t\treturn -ENODEV;\n"
+ "+\n"
+ "+\tif (dev->driver == &w1_master_driver)\n"
+ "+\t\treturn 0;\n"
+ "+\n"
+ "+\tslave = to_w1_slave(dev);\n"
+ "+\n"
+ "+\tif (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, &len,\n"
+ "+\t\t\t\t\"FID=%02X\", slave->reg_num.family))\n"
+ "+\t\treturn -ENOMEM;\n"
+ "+\n"
+ "+\tif (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, &len,\n"
+ "+\t\t\t\t\"SN=%024llX\", slave->reg_num.id))\n"
+ "+\t\treturn -ENOMEM;\n"
+ "+\n"
+ "+\tenvp[i] = NULL;\n"
+ "+\n"
+ "+\treturn 0;\n"
+ "+}\n"
+ "+#else\n"
+ "+static int w1_hotplug(struct device *dev, char **envp, int num_envp,\n"
+ "+\t\t      char *buffer, int buffer_size)\n"
+ "+{\n"
+ "+\treturn -ENODEV;\n"
+ "+}\n"
+ "+#endif /* CONFIG_HOTPLUG */\n"
+ "+\n"
+ "+static struct bus_type w1_bus_type = {\n"
+ "+\t.name\t\t= \"w1\",\n"
+ "+\t.match\t\t= w1_bus_match,\n"
+ "+\t.hotplug\t= w1_hotplug,\n"
+ " };\n"
+ " \n"
+ " static ssize_t w1_slave_attribute_show_family(struct device *dev, char *buf)\n"
+ "@@ -541,6 +577,7 @@ static int w1_init(void)\n"
+ " \t\treturn error;\n"
+ " \t}\n"
+ " \n"
+ "+\tw1_master_driver.bus = &w1_bus_type;\n"
+ " \terror = driver_register(&w1_master_driver);\n"
+ " \tif (error) {\n"
+ " \t\tprintk(KERN_ERR"
 
-e58bd602a12811e19ac3f92f0d8e7ff7fdaf2ce0d6f8f947d5715ab0d823fd16
+5ac6a5b4b10ed6e079717621f62a5bf6f4d3b11762b68e54c21aaf0976f0bad2

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.