]> err.no Git - linux-2.6/blobdiff - Documentation/DocBook/kernel-api.tmpl
Merge branch 'audit.b50' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
[linux-2.6] / Documentation / DocBook / kernel-api.tmpl
index 6c0e5f018615c52c81d61a4cc4b67bf0b5ee752e..b7b1482f6e04ebda24e665d0734fb4786bfc197a 100644 (file)
@@ -119,7 +119,7 @@ X!Ilib/string.c
 !Elib/string.c
      </sect1>
      <sect1><title>Bit Operations</title>
-!Iinclude/asm-x86/bitops_32.h
+!Iinclude/asm-x86/bitops.h
      </sect1>
   </chapter>
 
@@ -204,71 +204,6 @@ X!Ilib/string.c
      </sect1>
   </chapter>
 
-  <chapter id="netcore">
-     <title>Linux Networking</title>
-     <sect1><title>Networking Base Types</title>
-!Iinclude/linux/net.h
-     </sect1>
-     <sect1><title>Socket Buffer Functions</title>
-!Iinclude/linux/skbuff.h
-!Iinclude/net/sock.h
-!Enet/socket.c
-!Enet/core/skbuff.c
-!Enet/core/sock.c
-!Enet/core/datagram.c
-!Enet/core/stream.c
-     </sect1>
-     <sect1><title>Socket Filter</title>
-!Enet/core/filter.c
-     </sect1>
-     <sect1><title>Generic Network Statistics</title>
-!Iinclude/linux/gen_stats.h
-!Enet/core/gen_stats.c
-!Enet/core/gen_estimator.c
-     </sect1>
-     <sect1><title>SUN RPC subsystem</title>
-<!-- The !D functionality is not perfect, garbage has to be protected by comments
-!Dnet/sunrpc/sunrpc_syms.c
--->
-!Enet/sunrpc/xdr.c
-!Enet/sunrpc/svc_xprt.c
-!Enet/sunrpc/xprt.c
-!Enet/sunrpc/sched.c
-!Enet/sunrpc/socklib.c
-!Enet/sunrpc/stats.c
-!Enet/sunrpc/rpc_pipe.c
-!Enet/sunrpc/rpcb_clnt.c
-!Enet/sunrpc/clnt.c
-     </sect1>
-  </chapter>
-
-  <chapter id="netdev">
-     <title>Network device support</title>
-     <sect1><title>Driver Support</title>
-!Enet/core/dev.c
-!Enet/ethernet/eth.c
-!Enet/sched/sch_generic.c
-!Iinclude/linux/etherdevice.h
-!Iinclude/linux/netdevice.h
-     </sect1>
-     <sect1><title>PHY Support</title>
-!Edrivers/net/phy/phy.c
-!Idrivers/net/phy/phy.c
-!Edrivers/net/phy/phy_device.c
-!Idrivers/net/phy/phy_device.c
-!Edrivers/net/phy/mdio_bus.c
-!Idrivers/net/phy/mdio_bus.c
-     </sect1>
-<!-- FIXME: Removed for now since no structured comments in source
-     <sect1><title>Wireless</title>
-X!Enet/core/wireless.c
-     </sect1>
--->
-     <sect1><title>Synchronous PPP</title>
-!Edrivers/net/wan/syncppp.c
-     </sect1>
-  </chapter>
-
   <chapter id="modload">
      <title>Module Support</title>
      <sect1><title>Module Loading</title>
@@ -362,11 +297,6 @@ X!Earch/x86/kernel/mca_32.c
 !Ikernel/acct.c
   </chapter>
 
-  <chapter id="pmfuncs">
-     <title>Power Management</title>
-!Ekernel/power/pm.c
-  </chapter>
-
   <chapter id="devdrivers">
      <title>Device drivers infrastructure</title>
      <sect1><title>Device Drivers Base</title>
@@ -426,12 +356,14 @@ X!Edrivers/pnp/system.c
   <chapter id="blkdev">
      <title>Block Devices</title>
 !Eblock/blk-core.c
+!Iblock/blk-core.c
 !Eblock/blk-map.c
 !Iblock/blk-sysfs.c
 !Eblock/blk-settings.c
 !Eblock/blk-exec.c
 !Eblock/blk-barrier.c
 !Eblock/blk-tag.c
+!Iblock/blk-tag.c
   </chapter>
 
   <chapter id="chrdev">
@@ -514,11 +446,6 @@ X!Isound/sound_firmware.c
 !Edrivers/serial/8250.c
   </chapter>
 
-  <chapter id="z85230">
-     <title>Z85230 Support Library</title>
-!Edrivers/net/wan/z85230.c
-  </chapter>
-
   <chapter id="fbdev">
      <title>Frame Buffer Library</title>
 
@@ -718,4 +645,58 @@ X!Idrivers/video/console/fonts.c
 !Edrivers/i2c/i2c-core.c
   </chapter>
 
+  <chapter id="clk">
+     <title>Clock Framework</title>
+
+     <para>
+       The clock framework defines programming interfaces to support
+       software management of the system clock tree.
+       This framework is widely used with System-On-Chip (SOC) platforms
+       to support power management and various devices which may need
+       custom clock rates.
+       Note that these "clocks" don't relate to timekeeping or real
+       time clocks (RTCs), each of which have separate frameworks.
+       These <structname>struct clk</structname> instances may be used
+       to manage for example a 96 MHz signal that is used to shift bits
+       into and out of peripherals or busses, or otherwise trigger
+       synchronous state machine transitions in system hardware.
+     </para>
+
+     <para>
+       Power management is supported by explicit software clock gating:
+       unused clocks are disabled, so the system doesn't waste power
+       changing the state of transistors that aren't in active use.
+       On some systems this may be backed by hardware clock gating,
+       where clocks are gated without being disabled in software.
+       Sections of chips that are powered but not clocked may be able
+       to retain their last state.
+       This low power state is often called a <emphasis>retention
+       mode</emphasis>.
+       This mode still incurs leakage currents, especially with finer
+       circuit geometries, but for CMOS circuits power is mostly used
+       by clocked state changes.
+     </para>
+
+     <para>
+       Power-aware drivers only enable their clocks when the device
+       they manage is in active use.  Also, system sleep states often
+       differ according to which clock domains are active:  while a
+       "standby" state may allow wakeup from several active domains, a
+       "mem" (suspend-to-RAM) state may require a more wholesale shutdown
+       of clocks derived from higher speed PLLs and oscillators, limiting
+       the number of possible wakeup event sources.  A driver's suspend
+       method may need to be aware of system-specific clock constraints
+       on the target sleep state.
+     </para>
+
+     <para>
+        Some platforms support programmable clock generators.  These
+       can be used by external chips of various kinds, such as other
+       CPUs, multimedia codecs, and devices with strict requirements
+       for interface clocking.
+     </para>
+
+!Iinclude/linux/clk.h
+  </chapter>
+
 </book>