diff options
author | Corey Minyard <minyard@acm.org> | 2006-12-06 23:41:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:47 -0500 |
commit | b361e27bba261ba59c73df464fa640f7c0fe3553 (patch) | |
tree | 4c457c471eb42be1fbcc9e76989e275fa8e023df /Documentation | |
parent | 15c62e10bb49eebf3da2b010a9196f5095947b0b (diff) |
[PATCH] IPMI: system interface hotplug
Add the ability to hot add and remove interfaces in the ipmi_si driver. Any
users who have the device open will get errors if they try to send a message.
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/IPMI.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Documentation/IPMI.txt b/Documentation/IPMI.txt index 9101cbf2d883..24dc3fcf1594 100644 --- a/Documentation/IPMI.txt +++ b/Documentation/IPMI.txt | |||
@@ -365,6 +365,7 @@ You can change this at module load time (for a module) with: | |||
365 | regshifts=<shift1>,<shift2>,... | 365 | regshifts=<shift1>,<shift2>,... |
366 | slave_addrs=<addr1>,<addr2>,... | 366 | slave_addrs=<addr1>,<addr2>,... |
367 | force_kipmid=<enable1>,<enable2>,... | 367 | force_kipmid=<enable1>,<enable2>,... |
368 | unload_when_empty=[0|1] | ||
368 | 369 | ||
369 | Each of these except si_trydefaults is a list, the first item for the | 370 | Each of these except si_trydefaults is a list, the first item for the |
370 | first interface, second item for the second interface, etc. | 371 | first interface, second item for the second interface, etc. |
@@ -416,6 +417,11 @@ by the driver, but systems with broken interrupts might need an enable, | |||
416 | or users that don't want the daemon (don't need the performance, don't | 417 | or users that don't want the daemon (don't need the performance, don't |
417 | want the CPU hit) can disable it. | 418 | want the CPU hit) can disable it. |
418 | 419 | ||
420 | If unload_when_empty is set to 1, the driver will be unloaded if it | ||
421 | doesn't find any interfaces or all the interfaces fail to work. The | ||
422 | default is one. Setting to 0 is useful with the hotmod, but is | ||
423 | obviously only useful for modules. | ||
424 | |||
419 | When compiled into the kernel, the parameters can be specified on the | 425 | When compiled into the kernel, the parameters can be specified on the |
420 | kernel command line as: | 426 | kernel command line as: |
421 | 427 | ||
@@ -441,6 +447,25 @@ have high-res timers enabled in the kernel and you don't have | |||
441 | interrupts enabled, the driver will run VERY slowly. Don't blame me, | 447 | interrupts enabled, the driver will run VERY slowly. Don't blame me, |
442 | these interfaces suck. | 448 | these interfaces suck. |
443 | 449 | ||
450 | The driver supports a hot add and remove of interfaces. This way, | ||
451 | interfaces can be added or removed after the kernel is up and running. | ||
452 | This is done using /sys/modules/ipmi_si/hotmod, which is a write-only | ||
453 | parameter. You write a string to this interface. The string has the | ||
454 | format: | ||
455 | <op1>[:op2[:op3...]] | ||
456 | The "op"s are: | ||
457 | add|remove,kcs|bt|smic,mem|i/o,<address>[,<opt1>[,<opt2>[,...]]] | ||
458 | You can specify more than one interface on the line. The "opt"s are: | ||
459 | rsp=<regspacing> | ||
460 | rsi=<regsize> | ||
461 | rsh=<regshift> | ||
462 | irq=<irq> | ||
463 | ipmb=<ipmb slave addr> | ||
464 | and these have the same meanings as discussed above. Note that you | ||
465 | can also use this on the kernel command line for a more compact format | ||
466 | for specifying an interface. Note that when removing an interface, | ||
467 | only the first three parameters (si type, address type, and address) | ||
468 | are used for the comparison. Any options are ignored for removing. | ||
444 | 469 | ||
445 | The SMBus Driver | 470 | The SMBus Driver |
446 | ---------------- | 471 | ---------------- |