Re: [PATCH 3/3] acpi: thermal/sysfs-api.txt: move to acpi directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2009-08-21 at 17:02 +0800, Frans Pop wrote:
> It is a more logical place to look and reduces the clutter in
> the Documentation directory as the thermal directory is now empty
> and can be removed.
> 
> Signed-off-by: Frans Pop <elendil@xxxxxxxxx>
> Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
> Cc: Sujith Thomas <sujith.thomas@xxxxxxxxx>

NAK.

this document describes the sysfs I/F of the GENERIC thermal driver.
ACPI thermal driver is just the first user of this thermal sysfs driver.
More drivers than ACPI will use this framework in the future.

thanks,
rui

> 
> diff --git a/Documentation/acpi/thermal-sysfs-api.txt b/Documentation/acpi/thermal-sysfs-api.txt
> new file mode 100644
> index 0000000..52b63c4
> --- /dev/null
> +++ b/Documentation/acpi/thermal-sysfs-api.txt
> @@ -0,0 +1,281 @@
> +Generic Thermal Sysfs driver How To
> +===================================
> +
> +Written by Sujith Thomas <sujith.thomas@xxxxxxxxx>, Zhang Rui <rui.zhang@xxxxxxxxx>
> +
> +Updated: 21 August 2009
> +
> +Copyright (c)  2008 Intel Corporation
> +
> +
> +0. Introduction
> +
> +The generic thermal sysfs provides a set of interfaces for thermal zone
> +devices (sensors) and thermal cooling devices (fan, processor...) to register
> +with the thermal management solution and to be a part of it.
> +
> +This how-to focuses on enabling new thermal zone and cooling devices to
> +participate in thermal management.
> +This solution is platform independent and any type of thermal zone devices
> +and cooling devices should be able to make use of the infrastructure.
> +
> +The main task of the thermal sysfs driver is to expose thermal zone attributes
> +as well as cooling device attributes to the user space.
> +An intelligent thermal management application can make decisions based on
> +inputs from thermal zone attributes (the current temperature and trip point
> +temperature) and throttle appropriate devices.
> +
> +[0-*]  denotes any positive number starting from 0
> +[1-*]  denotes any positive number starting from 1
> +
> +1. thermal sysfs driver interface functions
> +
> +1.1 thermal zone device interface
> +1.1.1 struct thermal_zone_device *thermal_zone_device_register(char *name,
> +               int trips, void *devdata, struct thermal_zone_device_ops *ops)
> +
> +    This interface function adds a new thermal zone device (sensor) to
> +    /sys/class/thermal folder as thermal_zone[0-*]. It tries to bind all the
> +    thermal cooling devices registered at the same time.
> +
> +    name: the thermal zone name.
> +    trips: the total number of trip points this thermal zone supports.
> +    devdata: device private data
> +    ops: thermal zone device call-backs.
> +       .bind: bind the thermal zone device with a thermal cooling device.
> +       .unbind: unbind the thermal zone device with a thermal cooling device.
> +       .get_temp: get the current temperature of the thermal zone.
> +       .get_mode: get the current mode (user/kernel) of the thermal zone.
> +           - "kernel" means thermal management is done in kernel.
> +           - "user" will prevent kernel thermal driver actions upon trip points
> +             so that user applications can take charge of thermal management.
> +       .set_mode: set the mode (user/kernel) of the thermal zone.
> +       .get_trip_type: get the type of certain trip point.
> +       .get_trip_temp: get the temperature above which the certain trip point
> +                       will be fired.
> +
> +1.1.2 void thermal_zone_device_unregister(struct thermal_zone_device *tz)
> +
> +    This interface function removes the thermal zone device.
> +    It deletes the corresponding entry form /sys/class/thermal folder and
> +    unbind all the thermal cooling devices it uses.
> +
> +1.2 thermal cooling device interface
> +1.2.1 struct thermal_cooling_device *thermal_cooling_device_register(char *name,
> +               void *devdata, struct thermal_cooling_device_ops *)
> +
> +    This interface function adds a new thermal cooling device (fan/processor/...)
> +    to /sys/class/thermal/ folder as cooling_device[0-*]. It tries to bind itself
> +    to all the thermal zone devices register at the same time.
> +    name: the cooling device name.
> +    devdata: device private data.
> +    ops: thermal cooling devices call-backs.
> +       .get_max_state: get the Maximum throttle state of the cooling device.
> +       .get_cur_state: get the Current throttle state of the cooling device.
> +       .set_cur_state: set the Current throttle state of the cooling device.
> +
> +1.2.2 void thermal_cooling_device_unregister(struct thermal_cooling_device *cdev)
> +
> +    This interface function remove the thermal cooling device.
> +    It deletes the corresponding entry form /sys/class/thermal folder and
> +    unbind itself from all the thermal zone devices using it.
> +
> +1.3 interface for binding a thermal zone device with a thermal cooling device
> +1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
> +               int trip, struct thermal_cooling_device *cdev);
> +
> +    This interface function bind a thermal cooling device to the certain trip
> +    point of a thermal zone device.
> +    This function is usually called in the thermal zone device .bind callback.
> +    tz: the thermal zone device
> +    cdev: thermal cooling device
> +    trip: indicates which trip point the cooling devices is associated with
> +         in this thermal zone.
> +
> +1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
> +               int trip, struct thermal_cooling_device *cdev);
> +
> +    This interface function unbind a thermal cooling device from the certain
> +    trip point of a thermal zone device. This function is usually called in
> +    the thermal zone device .unbind callback.
> +    tz: the thermal zone device
> +    cdev: thermal cooling device
> +    trip: indicates which trip point the cooling devices is associated with
> +         in this thermal zone.
> +
> +2. sysfs attributes structure
> +
> +RO     read only value
> +RW     read/write value
> +
> +Thermal sysfs attributes will be represented under /sys/class/thermal.
> +Hwmon sysfs I/F extension is also available under /sys/class/hwmon
> +if hwmon is compiled in or built as a module.
> +
> +Thermal zone device sys I/F, created once it's registered:
> +/sys/class/thermal/thermal_zone[0-*]:
> +    |---type:                  Type of the thermal zone
> +    |---temp:                  Current temperature
> +    |---mode:                  Working mode of the thermal zone
> +    |---trip_point_[0-*]_temp: Trip point temperature
> +    |---trip_point_[0-*]_type: Trip point type
> +
> +Thermal cooling device sys I/F, created once it's registered:
> +/sys/class/thermal/cooling_device[0-*]:
> +    |---type:                  Type of the cooling device(processor/fan/...)
> +    |---max_state:             Maximum cooling state of the cooling device
> +    |---cur_state:             Current cooling state of the cooling device
> +
> +
> +Then next two dynamic attributes are created/removed in pairs. They represent
> +the relationship between a thermal zone and its associated cooling device.
> +They are created/removed for each successful execution of
> +thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device.
> +
> +/sys/class/thermal/thermal_zone[0-*]:
> +    |---cdev[0-*]:             [0-*]th cooling device in current thermal zone
> +    |---cdev[0-*]_trip_point:  Trip point that cdev[0-*] is associated with
> +
> +Besides the thermal zone device sysfs I/F and cooling device sysfs I/F,
> +the generic thermal driver also creates a hwmon sysfs I/F for each _type_
> +of thermal zone device. E.g. the generic thermal driver registers one hwmon
> +class device and build the associated hwmon sysfs I/F for all the registered
> +ACPI thermal zones.
> +
> +/sys/class/hwmon/hwmon[0-*]:
> +    |---name:                  The type of the thermal zone devices
> +    |---temp[1-*]_input:       The current temperature of thermal zone [1-*]
> +    |---temp[1-*]_critical:    The critical trip point of thermal zone [1-*]
> +
> +Please read Documentation/hwmon/sysfs-interface for additional information.
> +
> +***************************
> +* Thermal zone attributes *
> +***************************
> +
> +type
> +       Strings which represent the thermal zone type.
> +       This is given by thermal zone driver as part of registration.
> +       E.g: "acpitz" indicates it's an ACPI thermal device.
> +       In order to keep it consistent with hwmon sys attribute; this should
> +       be a short, lowercase string, not containing spaces nor dashes.
> +       RO, Required
> +
> +temp
> +       Current temperature as reported by thermal zone (sensor).
> +       Unit: millidegree Celsius
> +       RO, Required
> +
> +mode
> +       One of the predefined values in [kernel, user].
> +       This file gives information about the algorithm that is currently
> +       managing the thermal zone. It can be either default kernel based
> +       algorithm or user space application.
> +       kernel  = Thermal management in kernel thermal zone driver.
> +       user    = Preventing kernel thermal zone driver actions upon
> +                 trip points so that user application can take full
> +                 charge of the thermal management.
> +       RW, Optional
> +
> +trip_point_[0-*]_temp
> +       The temperature above which trip point will be fired.
> +       Unit: millidegree Celsius
> +       RO, Optional
> +
> +trip_point_[0-*]_type
> +       Strings which indicate the type of the trip point.
> +       E.g. it can be one of critical, hot, passive, active[0-*] for ACPI
> +       thermal zone.
> +       RO, Optional
> +
> +cdev[0-*]
> +       Sysfs link to the thermal cooling device node where the sys I/F
> +       for cooling device throttling control represents.
> +       RO, Optional
> +
> +cdev[0-*]_trip_point
> +       The trip point with which cdev[0-*] is associated in this thermal
> +       zone; -1 means the cooling device is not associated with any trip
> +       point.
> +       RO, Optional
> +
> +passive
> +       Attribute is only present for zones which do not have a passive
> +       cooling policy (_PSV) defined in ACPI. Default is zero and can be
> +       set to a temperature (in millidegrees) to enable a passive trip
> +       point for the zone. Activation is done by polling (default interval:
> +       10 seconds); the polling interval can be set in
> +       /proc/acpi/thermal/TZN/polling_frequency.
> +       Unit: millidegree Celsius
> +       RW, Optional
> +
> +*****************************
> +* Cooling device attributes *
> +*****************************
> +
> +type
> +       String which represents the type of device, e.g:
> +       - for generic ACPI: should be "Fan", "Processor" or "LCD"
> +       - for memory controller device on intel_menlow platform:
> +         should be "Memory controller".
> +       RO, Required
> +
> +max_state
> +       The maximum permissible cooling state of this cooling device.
> +       RO, Required
> +
> +cur_state
> +       The current cooling state of this cooling device.
> +       The value can any integer numbers between 0 and max_state:
> +       - cur_state == 0 means no cooling
> +       - cur_state == max_state means the maximum cooling.
> +       RW, Required
> +
> +3. A simple implementation
> +
> +ACPI thermal zone may support multiple trip points like critical, hot,
> +passive, active. If an ACPI thermal zone supports critical, passive,
> +active[0] and active[1] at the same time, it may register itself as a
> +thermal_zone_device (thermal_zone1) with 4 trip points in all.
> +It has one processor and one fan, which are both registered as
> +thermal_cooling_device.
> +
> +If the processor is listed in _PSL method, the fan is listed in _AL0
> +method, and the zone hase a _PSV method, the sys I/F structure will be
> +built like this:
> +
> +/sys/class/thermal:
> +
> +|thermal_zone1:
> +    |---type:                  acpitz
> +    |---temp:                  37000
> +    |---mode:                  kernel
> +    |---trip_point_0_temp:     100000
> +    |---trip_point_0_type:     critical
> +    |---trip_point_1_temp:     80000
> +    |---trip_point_1_type:     passive
> +    |---trip_point_2_temp:     70000
> +    |---trip_point_2_type:     active0
> +    |---trip_point_3_temp:     60000
> +    |---trip_point_3_type:     active1
> +    |---cdev0:                 --->/sys/class/thermal/cooling_device0
> +    |---cdev0_trip_point:      1       /* cdev0 can be used for passive */
> +    |---cdev1:                 --->/sys/class/thermal/cooling_device3
> +    |---cdev1_trip_point:      2       /* cdev1 can be used for active[0]*/
> +
> +|cooling_device0:
> +    |---type:                  Processor
> +    |---max_state:             8
> +    |---cur_state:             0
> +
> +|cooling_device3:
> +    |---type:                  Fan
> +    |---max_state:             2
> +    |---cur_state:             0
> +
> +/sys/class/hwmon:
> +
> +|hwmon0:
> +    |---name:                  acpitz
> +    |---temp1_input:           37000
> +    |---temp1_crit:            100000
> diff --git a/Documentation/thermal/sysfs-api.txt b/Documentation/thermal/sysfs-api.txt
> deleted file mode 100644
> index 52b63c4..0000000
> --- a/Documentation/thermal/sysfs-api.txt
> +++ /dev/null
> @@ -1,281 +0,0 @@
> -Generic Thermal Sysfs driver How To
> -===================================
> -
> -Written by Sujith Thomas <sujith.thomas@xxxxxxxxx>, Zhang Rui <rui.zhang@xxxxxxxxx>
> -
> -Updated: 21 August 2009
> -
> -Copyright (c)  2008 Intel Corporation
> -
> -
> -0. Introduction
> -
> -The generic thermal sysfs provides a set of interfaces for thermal zone
> -devices (sensors) and thermal cooling devices (fan, processor...) to register
> -with the thermal management solution and to be a part of it.
> -
> -This how-to focuses on enabling new thermal zone and cooling devices to
> -participate in thermal management.
> -This solution is platform independent and any type of thermal zone devices
> -and cooling devices should be able to make use of the infrastructure.
> -
> -The main task of the thermal sysfs driver is to expose thermal zone attributes
> -as well as cooling device attributes to the user space.
> -An intelligent thermal management application can make decisions based on
> -inputs from thermal zone attributes (the current temperature and trip point
> -temperature) and throttle appropriate devices.
> -
> -[0-*]  denotes any positive number starting from 0
> -[1-*]  denotes any positive number starting from 1
> -
> -1. thermal sysfs driver interface functions
> -
> -1.1 thermal zone device interface
> -1.1.1 struct thermal_zone_device *thermal_zone_device_register(char *name,
> -               int trips, void *devdata, struct thermal_zone_device_ops *ops)
> -
> -    This interface function adds a new thermal zone device (sensor) to
> -    /sys/class/thermal folder as thermal_zone[0-*]. It tries to bind all the
> -    thermal cooling devices registered at the same time.
> -
> -    name: the thermal zone name.
> -    trips: the total number of trip points this thermal zone supports.
> -    devdata: device private data
> -    ops: thermal zone device call-backs.
> -       .bind: bind the thermal zone device with a thermal cooling device.
> -       .unbind: unbind the thermal zone device with a thermal cooling device.
> -       .get_temp: get the current temperature of the thermal zone.
> -       .get_mode: get the current mode (user/kernel) of the thermal zone.
> -           - "kernel" means thermal management is done in kernel.
> -           - "user" will prevent kernel thermal driver actions upon trip points
> -             so that user applications can take charge of thermal management.
> -       .set_mode: set the mode (user/kernel) of the thermal zone.
> -       .get_trip_type: get the type of certain trip point.
> -       .get_trip_temp: get the temperature above which the certain trip point
> -                       will be fired.
> -
> -1.1.2 void thermal_zone_device_unregister(struct thermal_zone_device *tz)
> -
> -    This interface function removes the thermal zone device.
> -    It deletes the corresponding entry form /sys/class/thermal folder and
> -    unbind all the thermal cooling devices it uses.
> -
> -1.2 thermal cooling device interface
> -1.2.1 struct thermal_cooling_device *thermal_cooling_device_register(char *name,
> -               void *devdata, struct thermal_cooling_device_ops *)
> -
> -    This interface function adds a new thermal cooling device (fan/processor/...)
> -    to /sys/class/thermal/ folder as cooling_device[0-*]. It tries to bind itself
> -    to all the thermal zone devices register at the same time.
> -    name: the cooling device name.
> -    devdata: device private data.
> -    ops: thermal cooling devices call-backs.
> -       .get_max_state: get the Maximum throttle state of the cooling device.
> -       .get_cur_state: get the Current throttle state of the cooling device.
> -       .set_cur_state: set the Current throttle state of the cooling device.
> -
> -1.2.2 void thermal_cooling_device_unregister(struct thermal_cooling_device *cdev)
> -
> -    This interface function remove the thermal cooling device.
> -    It deletes the corresponding entry form /sys/class/thermal folder and
> -    unbind itself from all the thermal zone devices using it.
> -
> -1.3 interface for binding a thermal zone device with a thermal cooling device
> -1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
> -               int trip, struct thermal_cooling_device *cdev);
> -
> -    This interface function bind a thermal cooling device to the certain trip
> -    point of a thermal zone device.
> -    This function is usually called in the thermal zone device .bind callback.
> -    tz: the thermal zone device
> -    cdev: thermal cooling device
> -    trip: indicates which trip point the cooling devices is associated with
> -         in this thermal zone.
> -
> -1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
> -               int trip, struct thermal_cooling_device *cdev);
> -
> -    This interface function unbind a thermal cooling device from the certain
> -    trip point of a thermal zone device. This function is usually called in
> -    the thermal zone device .unbind callback.
> -    tz: the thermal zone device
> -    cdev: thermal cooling device
> -    trip: indicates which trip point the cooling devices is associated with
> -         in this thermal zone.
> -
> -2. sysfs attributes structure
> -
> -RO     read only value
> -RW     read/write value
> -
> -Thermal sysfs attributes will be represented under /sys/class/thermal.
> -Hwmon sysfs I/F extension is also available under /sys/class/hwmon
> -if hwmon is compiled in or built as a module.
> -
> -Thermal zone device sys I/F, created once it's registered:
> -/sys/class/thermal/thermal_zone[0-*]:
> -    |---type:                  Type of the thermal zone
> -    |---temp:                  Current temperature
> -    |---mode:                  Working mode of the thermal zone
> -    |---trip_point_[0-*]_temp: Trip point temperature
> -    |---trip_point_[0-*]_type: Trip point type
> -
> -Thermal cooling device sys I/F, created once it's registered:
> -/sys/class/thermal/cooling_device[0-*]:
> -    |---type:                  Type of the cooling device(processor/fan/...)
> -    |---max_state:             Maximum cooling state of the cooling device
> -    |---cur_state:             Current cooling state of the cooling device
> -
> -
> -Then next two dynamic attributes are created/removed in pairs. They represent
> -the relationship between a thermal zone and its associated cooling device.
> -They are created/removed for each successful execution of
> -thermal_zone_bind_cooling_device/thermal_zone_unbind_cooling_device.
> -
> -/sys/class/thermal/thermal_zone[0-*]:
> -    |---cdev[0-*]:             [0-*]th cooling device in current thermal zone
> -    |---cdev[0-*]_trip_point:  Trip point that cdev[0-*] is associated with
> -
> -Besides the thermal zone device sysfs I/F and cooling device sysfs I/F,
> -the generic thermal driver also creates a hwmon sysfs I/F for each _type_
> -of thermal zone device. E.g. the generic thermal driver registers one hwmon
> -class device and build the associated hwmon sysfs I/F for all the registered
> -ACPI thermal zones.
> -
> -/sys/class/hwmon/hwmon[0-*]:
> -    |---name:                  The type of the thermal zone devices
> -    |---temp[1-*]_input:       The current temperature of thermal zone [1-*]
> -    |---temp[1-*]_critical:    The critical trip point of thermal zone [1-*]
> -
> -Please read Documentation/hwmon/sysfs-interface for additional information.
> -
> -***************************
> -* Thermal zone attributes *
> -***************************
> -
> -type
> -       Strings which represent the thermal zone type.
> -       This is given by thermal zone driver as part of registration.
> -       E.g: "acpitz" indicates it's an ACPI thermal device.
> -       In order to keep it consistent with hwmon sys attribute; this should
> -       be a short, lowercase string, not containing spaces nor dashes.
> -       RO, Required
> -
> -temp
> -       Current temperature as reported by thermal zone (sensor).
> -       Unit: millidegree Celsius
> -       RO, Required
> -
> -mode
> -       One of the predefined values in [kernel, user].
> -       This file gives information about the algorithm that is currently
> -       managing the thermal zone. It can be either default kernel based
> -       algorithm or user space application.
> -       kernel  = Thermal management in kernel thermal zone driver.
> -       user    = Preventing kernel thermal zone driver actions upon
> -                 trip points so that user application can take full
> -                 charge of the thermal management.
> -       RW, Optional
> -
> -trip_point_[0-*]_temp
> -       The temperature above which trip point will be fired.
> -       Unit: millidegree Celsius
> -       RO, Optional
> -
> -trip_point_[0-*]_type
> -       Strings which indicate the type of the trip point.
> -       E.g. it can be one of critical, hot, passive, active[0-*] for ACPI
> -       thermal zone.
> -       RO, Optional
> -
> -cdev[0-*]
> -       Sysfs link to the thermal cooling device node where the sys I/F
> -       for cooling device throttling control represents.
> -       RO, Optional
> -
> -cdev[0-*]_trip_point
> -       The trip point with which cdev[0-*] is associated in this thermal
> -       zone; -1 means the cooling device is not associated with any trip
> -       point.
> -       RO, Optional
> -
> -passive
> -       Attribute is only present for zones which do not have a passive
> -       cooling policy (_PSV) defined in ACPI. Default is zero and can be
> -       set to a temperature (in millidegrees) to enable a passive trip
> -       point for the zone. Activation is done by polling (default interval:
> -       10 seconds); the polling interval can be set in
> -       /proc/acpi/thermal/TZN/polling_frequency.
> -       Unit: millidegree Celsius
> -       RW, Optional
> -
> -*****************************
> -* Cooling device attributes *
> -*****************************
> -
> -type
> -       String which represents the type of device, e.g:
> -       - for generic ACPI: should be "Fan", "Processor" or "LCD"
> -       - for memory controller device on intel_menlow platform:
> -         should be "Memory controller".
> -       RO, Required
> -
> -max_state
> -       The maximum permissible cooling state of this cooling device.
> -       RO, Required
> -
> -cur_state
> -       The current cooling state of this cooling device.
> -       The value can any integer numbers between 0 and max_state:
> -       - cur_state == 0 means no cooling
> -       - cur_state == max_state means the maximum cooling.
> -       RW, Required
> -
> -3. A simple implementation
> -
> -ACPI thermal zone may support multiple trip points like critical, hot,
> -passive, active. If an ACPI thermal zone supports critical, passive,
> -active[0] and active[1] at the same time, it may register itself as a
> -thermal_zone_device (thermal_zone1) with 4 trip points in all.
> -It has one processor and one fan, which are both registered as
> -thermal_cooling_device.
> -
> -If the processor is listed in _PSL method, the fan is listed in _AL0
> -method, and the zone hase a _PSV method, the sys I/F structure will be
> -built like this:
> -
> -/sys/class/thermal:
> -
> -|thermal_zone1:
> -    |---type:                  acpitz
> -    |---temp:                  37000
> -    |---mode:                  kernel
> -    |---trip_point_0_temp:     100000
> -    |---trip_point_0_type:     critical
> -    |---trip_point_1_temp:     80000
> -    |---trip_point_1_type:     passive
> -    |---trip_point_2_temp:     70000
> -    |---trip_point_2_type:     active0
> -    |---trip_point_3_temp:     60000
> -    |---trip_point_3_type:     active1
> -    |---cdev0:                 --->/sys/class/thermal/cooling_device0
> -    |---cdev0_trip_point:      1       /* cdev0 can be used for passive */
> -    |---cdev1:                 --->/sys/class/thermal/cooling_device3
> -    |---cdev1_trip_point:      2       /* cdev1 can be used for active[0]*/
> -
> -|cooling_device0:
> -    |---type:                  Processor
> -    |---max_state:             8
> -    |---cur_state:             0
> -
> -|cooling_device3:
> -    |---type:                  Fan
> -    |---max_state:             2
> -    |---cur_state:             0
> -
> -/sys/class/hwmon:
> -
> -|hwmon0:
> -    |---name:                  acpitz
> -    |---temp1_input:           37000
> -    |---temp1_crit:            100000

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux