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.