[PATCH] ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts
Until now, ieee1394 put an IP-over-1394 capability entry into each new host's config ROM. As soon as the controller was initialized --- i.e. right after modprobe ohci1394 --- this entry triggered a hotplug event which typically caused auto-loading of eth1394. This irritated or annoyed many users and distributors. Of course they could blacklist eth1394, but then ieee1394 wrongly advertized IP-over- 1394 capability to the FireWire bus. Therefore - remove the offending kernel config option IEEE1394_CONFIG_ROM_IP1394, - let eth193 add the ROM entry by itself, i.e. only after eth1394 was loaded, - add a new kernel config option which brings back the old behavior for those who liked it. We don't re-use the old config option because then nobody would notice that there is a choice now. This new option is scheduled to be removed soon. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7793 . Autoloading of eth1394 when an _external_ IP-over-1394 capable device is discovered is _not_ affected by this patch. Signed-off-by: Stefan Richter <[EMAIL PROTECTED]> --- Instead of keeping this until the proposed date of removal (June 2007), should I kill CONFIG_IEEE1394_AUTOLOAD_ETH1394 right away? Documentation/feature-removal-schedule.txt |9 +++ drivers/ieee1394/Kconfig | 49 - drivers/ieee1394/config_roms.c | 47 +++- drivers/ieee1394/config_roms.h | 10 drivers/ieee1394/eth1394.c |9 +++ 5 files changed, 91 insertions(+), 33 deletions(-) Index: linux/Documentation/feature-removal-schedule.txt === --- linux.orig/Documentation/feature-removal-schedule.txt +++ linux/Documentation/feature-removal-schedule.txt @@ -29,6 +29,15 @@ Who: Adrian Bunk <[EMAIL PROTECTED]> --- +What: eth1394 autoloading (CONFIG_IEEE1394_AUTOLOAD_ETH1394) +When: June 2007 +Why: Can be emulated by adding the following lines to /etc/modprobe.conf: + install ohci1394 /sbin/modprobe eth1394; \ +/sbin/modprobe --ignore-install ohci1394" +Who: Stefan Richter <[EMAIL PROTECTED]> + +--- + What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN When: June 2007 Why: Deprecated in favour of the more efficient and robust rawiso interface. Index: linux/drivers/ieee1394/Kconfig === --- linux.orig/drivers/ieee1394/Kconfig +++ linux/drivers/ieee1394/Kconfig @@ -36,23 +36,6 @@ config IEEE1394_VERBOSEDEBUG Say Y if you really want or need the debugging output, everyone else says N. -config IEEE1394_EXTRA_CONFIG_ROMS - bool "Build in extra config rom entries for certain functionality" - depends on IEEE1394 - help - Some IEEE1394 functionality depends on extra config rom entries - being available in the host adapters CSR. These options will - allow you to choose which ones. - -config IEEE1394_CONFIG_ROM_IP1394 - bool "IP-1394 Entry" - depends on IEEE1394_EXTRA_CONFIG_ROMS && IEEE1394 - help - Adds an entry for using IP-over-1394. If you want to use your - IEEE1394 bus as a network for IP systems (including interacting - with MacOSX and WinXP IP-over-1394), enable this option and the - eth1394 option below. - comment "Device Drivers" depends on IEEE1394 @@ -122,11 +105,15 @@ config IEEE1394_SBP2_PHYS_DMA This option is buggy and currently broken on some architectures. If unsure, say N. +config IEEE1394_ETH1394_ROM_ENTRY + depends on IEEE1394 + bool + default n + config IEEE1394_ETH1394 - tristate "Ethernet over 1394" + tristate "IP over 1394" depends on IEEE1394 && EXPERIMENTAL && INET - select IEEE1394_CONFIG_ROM_IP1394 - select IEEE1394_EXTRA_CONFIG_ROMS + select IEEE1394_ETH1394_ROM_ENTRY help This driver implements a functional majority of RFC 2734: IPv4 over 1394. It will provide IP connectivity with implementations of RFC @@ -135,6 +122,28 @@ config IEEE1394_ETH1394 This driver is still considered experimental. It does not yet support MCAP, therefore multicast support is significantly limited. + The module is called eth1394 although it does not emulate Ethernet. + +config IEEE1394_AUTOLOAD_ETH1394 + bool "Autoload IP over 1394 (deprecated)" + depends on IEEE1394_ETH1394 + help + This lets the ieee1394 base driver include an IP-over-1394 in the + configuration ROM of each FireWire controller even before eth1394 was + loaded. As a result, a hotplug event will follow after initialization + of the controller which will typically cause eth1394 to be
[PATCH] ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts
Until now, ieee1394 put an IP-over-1394 capability entry into each new host's config ROM. As soon as the controller was initialized --- i.e. right after modprobe ohci1394 --- this entry triggered a hotplug event which typically caused auto-loading of eth1394. This irritated or annoyed many users and distributors. Of course they could blacklist eth1394, but then ieee1394 wrongly advertized IP-over- 1394 capability to the FireWire bus. Therefore - remove the offending kernel config option IEEE1394_CONFIG_ROM_IP1394, - let eth193 add the ROM entry by itself, i.e. only after eth1394 was loaded, - add a new kernel config option which brings back the old behavior for those who liked it. We don't re-use the old config option because then nobody would notice that there is a choice now. This new option is scheduled to be removed soon. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7793 . Autoloading of eth1394 when an _external_ IP-over-1394 capable device is discovered is _not_ affected by this patch. Signed-off-by: Stefan Richter [EMAIL PROTECTED] --- Instead of keeping this until the proposed date of removal (June 2007), should I kill CONFIG_IEEE1394_AUTOLOAD_ETH1394 right away? Documentation/feature-removal-schedule.txt |9 +++ drivers/ieee1394/Kconfig | 49 - drivers/ieee1394/config_roms.c | 47 +++- drivers/ieee1394/config_roms.h | 10 drivers/ieee1394/eth1394.c |9 +++ 5 files changed, 91 insertions(+), 33 deletions(-) Index: linux/Documentation/feature-removal-schedule.txt === --- linux.orig/Documentation/feature-removal-schedule.txt +++ linux/Documentation/feature-removal-schedule.txt @@ -29,6 +29,15 @@ Who: Adrian Bunk [EMAIL PROTECTED] --- +What: eth1394 autoloading (CONFIG_IEEE1394_AUTOLOAD_ETH1394) +When: June 2007 +Why: Can be emulated by adding the following lines to /etc/modprobe.conf: + install ohci1394 /sbin/modprobe eth1394; \ +/sbin/modprobe --ignore-install ohci1394 +Who: Stefan Richter [EMAIL PROTECTED] + +--- + What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN When: June 2007 Why: Deprecated in favour of the more efficient and robust rawiso interface. Index: linux/drivers/ieee1394/Kconfig === --- linux.orig/drivers/ieee1394/Kconfig +++ linux/drivers/ieee1394/Kconfig @@ -36,23 +36,6 @@ config IEEE1394_VERBOSEDEBUG Say Y if you really want or need the debugging output, everyone else says N. -config IEEE1394_EXTRA_CONFIG_ROMS - bool Build in extra config rom entries for certain functionality - depends on IEEE1394 - help - Some IEEE1394 functionality depends on extra config rom entries - being available in the host adapters CSR. These options will - allow you to choose which ones. - -config IEEE1394_CONFIG_ROM_IP1394 - bool IP-1394 Entry - depends on IEEE1394_EXTRA_CONFIG_ROMS IEEE1394 - help - Adds an entry for using IP-over-1394. If you want to use your - IEEE1394 bus as a network for IP systems (including interacting - with MacOSX and WinXP IP-over-1394), enable this option and the - eth1394 option below. - comment Device Drivers depends on IEEE1394 @@ -122,11 +105,15 @@ config IEEE1394_SBP2_PHYS_DMA This option is buggy and currently broken on some architectures. If unsure, say N. +config IEEE1394_ETH1394_ROM_ENTRY + depends on IEEE1394 + bool + default n + config IEEE1394_ETH1394 - tristate Ethernet over 1394 + tristate IP over 1394 depends on IEEE1394 EXPERIMENTAL INET - select IEEE1394_CONFIG_ROM_IP1394 - select IEEE1394_EXTRA_CONFIG_ROMS + select IEEE1394_ETH1394_ROM_ENTRY help This driver implements a functional majority of RFC 2734: IPv4 over 1394. It will provide IP connectivity with implementations of RFC @@ -135,6 +122,28 @@ config IEEE1394_ETH1394 This driver is still considered experimental. It does not yet support MCAP, therefore multicast support is significantly limited. + The module is called eth1394 although it does not emulate Ethernet. + +config IEEE1394_AUTOLOAD_ETH1394 + bool Autoload IP over 1394 (deprecated) + depends on IEEE1394_ETH1394 + help + This lets the ieee1394 base driver include an IP-over-1394 in the + configuration ROM of each FireWire controller even before eth1394 was + loaded. As a result, a hotplug event will follow after initialization + of the controller which will typically cause eth1394 to be loaded. + The