Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 225663
b: refs/heads/master
c: 96f8d86
h: refs/heads/master
i:
  225661: c267cfc
  225659: 96bf6b6
  225655: 5cc02d2
  225647: 20f368d
  225631: dbf0927
  225599: 86bcb53
  225535: 29d568c
v: v3
  • Loading branch information
Paul Mundt committed Nov 16, 2010
1 parent 1d2b930 commit 1bc7c3a
Show file tree
Hide file tree
Showing 1,427 changed files with 12,420 additions and 26,750 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 17ca20cb7d04a259c9194879f77466bde606dda5
refs/heads/master: 96f8d864afd646e4a52ea55462b7d83e3b94fd5c
83 changes: 0 additions & 83 deletions trunk/Documentation/ABI/testing/sysfs-bus-rbd

This file was deleted.

16 changes: 1 addition & 15 deletions trunk/Documentation/ABI/testing/sysfs-platform-asus-laptop
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,6 @@ Date: January 2007
KernelVersion: 2.6.20
Contact: "Corentin Chary" <corentincj@iksaif.net>
Description:
Control the wlan device. 1 means on, 0 means off.
Control the bluetooth device. 1 means on, 0 means off.
This may control the led, the device or both.
Users: Lapsus

What: /sys/devices/platform/asus_laptop/wimax
Date: October 2010
KernelVersion: 2.6.37
Contact: "Corentin Chary" <corentincj@iksaif.net>
Description:
Control the wimax device. 1 means on, 0 means off.

What: /sys/devices/platform/asus_laptop/wwan
Date: October 2010
KernelVersion: 2.6.37
Contact: "Corentin Chary" <corentincj@iksaif.net>
Description:
Control the wwan (3G) device. 1 means on, 0 means off.
10 changes: 0 additions & 10 deletions trunk/Documentation/ABI/testing/sysfs-platform-eeepc-wmi

This file was deleted.

4 changes: 4 additions & 0 deletions trunk/Documentation/DocBook/sh.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@
</sect2>
</sect1>
</chapter>
<chapter id="clk">
<title>Clock Framework Extensions</title>
!Iinclude/linux/sh_clk.h
</chapter>
<chapter id="mach">
<title>Machine Specific Interfaces</title>
<sect1 id="dreamcast">
Expand Down
6 changes: 3 additions & 3 deletions trunk/Documentation/DocBook/uio-howto.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
</orgname>

<address>
<email>hjk@hansjkoch.de</email>
<email>hjk@linutronix.de</email>
</address>
</affiliation>
</author>
Expand Down Expand Up @@ -114,7 +114,7 @@ GPL version 2.

<para>If you know of any translations for this document, or you are
interested in translating it, please email me
<email>hjk@hansjkoch.de</email>.
<email>hjk@linutronix.de</email>.
</para>
</sect1>

Expand Down Expand Up @@ -171,7 +171,7 @@ interested in translating it, please email me
<title>Feedback</title>
<para>Find something wrong with this document? (Or perhaps something
right?) I would love to hear from you. Please email me at
<email>hjk@hansjkoch.de</email>.</para>
<email>hjk@linutronix.de</email>.</para>
</sect1>
</chapter>

Expand Down
33 changes: 10 additions & 23 deletions trunk/Documentation/development-process/2.Process
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ The stages that a patch goes through are, generally:
inclusion, it should be accepted by a relevant subsystem maintainer -
though this acceptance is not a guarantee that the patch will make it
all the way to the mainline. The patch will show up in the maintainer's
subsystem tree and into the -next trees (described below). When the
subsystem tree and into the staging trees (described below). When the
process works, this step leads to more extensive review of the patch and
the discovery of any problems resulting from the integration of this
patch with work being done by others.
Expand Down Expand Up @@ -236,7 +236,7 @@ finding the right maintainer. Sending patches directly to Linus is not
normally the right way to go.


2.4: NEXT TREES
2.4: STAGING TREES

The chain of subsystem trees guides the flow of patches into the kernel,
but it also raises an interesting question: what if somebody wants to look
Expand All @@ -250,7 +250,7 @@ changes land in the mainline kernel. One could pull changes from all of
the interesting subsystem trees, but that would be a big and error-prone
job.

The answer comes in the form of -next trees, where subsystem trees are
The answer comes in the form of staging trees, where subsystem trees are
collected for testing and review. The older of these trees, maintained by
Andrew Morton, is called "-mm" (for memory management, which is how it got
started). The -mm tree integrates patches from a long list of subsystem
Expand All @@ -275,7 +275,7 @@ directory at:
Use of the MMOTM tree is likely to be a frustrating experience, though;
there is a definite chance that it will not even compile.

The other -next tree, started more recently, is linux-next, maintained by
The other staging tree, started more recently, is linux-next, maintained by
Stephen Rothwell. The linux-next tree is, by design, a snapshot of what
the mainline is expected to look like after the next merge window closes.
Linux-next trees are announced on the linux-kernel and linux-next mailing
Expand Down Expand Up @@ -303,25 +303,12 @@ volatility of linux-next tends to make it a difficult development target.
See http://lwn.net/Articles/289013/ for more information on this topic, and
stay tuned; much is still in flux where linux-next is involved.

2.4.1: STAGING TREES

The kernel source tree now contains the drivers/staging/ directory, where
many sub-directories for drivers or filesystems that are on their way to
being added to the kernel tree live. They remain in drivers/staging while
they still need more work; once complete, they can be moved into the
kernel proper. This is a way to keep track of drivers that aren't
up to Linux kernel coding or quality standards, but people may want to use
them and track development.

Greg Kroah-Hartman currently (as of 2.6.36) maintains the staging tree.
Drivers that still need work are sent to him, with each driver having
its own subdirectory in drivers/staging/. Along with the driver source
files, a TODO file should be present in the directory as well. The TODO
file lists the pending work that the driver needs for acceptance into
the kernel proper, as well as a list of people that should be Cc'd for any
patches to the driver. Staging drivers that don't currently build should
have their config entries depend upon CONFIG_BROKEN. Once they can
be successfully built without outside patches, CONFIG_BROKEN can be removed.
Besides the mmotm and linux-next trees, the kernel source tree now contains
the drivers/staging/ directory and many sub-directories for drivers or
filesystems that are on their way to being added to the kernel tree
proper, but they remain in drivers/staging/ while they still need more
work.


2.5: TOOLS

Expand Down
129 changes: 129 additions & 0 deletions trunk/Documentation/driver-model/interface.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@

Device Interfaces

Introduction
~~~~~~~~~~~~

Device interfaces are the logical interfaces of device classes that correlate
directly to userspace interfaces, like device nodes.

Each device class may have multiple interfaces through which you can
access the same device. An input device may support the mouse interface,
the 'evdev' interface, and the touchscreen interface. A SCSI disk would
support the disk interface, the SCSI generic interface, and possibly a raw
device interface.

Device interfaces are registered with the class they belong to. As devices
are added to the class, they are added to each interface registered with
the class. The interface is responsible for determining whether the device
supports the interface or not.


Programming Interface
~~~~~~~~~~~~~~~~~~~~~

struct device_interface {
char * name;
rwlock_t lock;
u32 devnum;
struct device_class * devclass;

struct list_head node;
struct driver_dir_entry dir;

int (*add_device)(struct device *);
int (*add_device)(struct intf_data *);
};

int interface_register(struct device_interface *);
void interface_unregister(struct device_interface *);


An interface must specify the device class it belongs to. It is added
to that class's list of interfaces on registration.


Interfaces can be added to a device class at any time. Whenever it is
added, each device in the class is passed to the interface's
add_device callback. When an interface is removed, each device is
removed from the interface.


Devices
~~~~~~~
Once a device is added to a device class, it is added to each
interface that is registered with the device class. The class
is expected to place a class-specific data structure in
struct device::class_data. The interface can use that (along with
other fields of struct device) to determine whether or not the driver
and/or device support that particular interface.


Data
~~~~

struct intf_data {
struct list_head node;
struct device_interface * intf;
struct device * dev;
u32 intf_num;
};

int interface_add_data(struct interface_data *);

The interface is responsible for allocating and initializing a struct
intf_data and calling interface_add_data() to add it to the device's list
of interfaces it belongs to. This list will be iterated over when the device
is removed from the class (instead of all possible interfaces for a class).
This structure should probably be embedded in whatever per-device data
structure the interface is allocating anyway.

Devices are enumerated within the interface. This happens in interface_add_data()
and the enumerated value is stored in the struct intf_data for that device.

sysfs
~~~~~
Each interface is given a directory in the directory of the device
class it belongs to:

Interfaces get a directory in the class's directory as well:

class/
`-- input
|-- devices
|-- drivers
|-- mouse
`-- evdev

When a device is added to the interface, a symlink is created that points
to the device's directory in the physical hierarchy:

class/
`-- input
|-- devices
| `-- 1 -> ../../../root/pci0/00:1f.0/usb_bus/00:1f.2-1:0/
|-- drivers
| `-- usb:usb_mouse -> ../../../bus/drivers/usb_mouse/
|-- mouse
| `-- 1 -> ../../../root/pci0/00:1f.0/usb_bus/00:1f.2-1:0/
`-- evdev
`-- 1 -> ../../../root/pci0/00:1f.0/usb_bus/00:1f.2-1:0/


Future Plans
~~~~~~~~~~~~
A device interface is correlated directly with a userspace interface
for a device, specifically a device node. For instance, a SCSI disk
exposes at least two interfaces to userspace: the standard SCSI disk
interface and the SCSI generic interface. It might also export a raw
device interface.

Many interfaces have a major number associated with them and each
device gets a minor number. Or, multiple interfaces might share one
major number, and each will receive a range of minor numbers (like in
the case of input devices).

These major and minor numbers could be stored in the interface
structure. Major and minor allocations could happen when the interface
is registered with the class, or via a helper function.

8 changes: 4 additions & 4 deletions trunk/Documentation/edac.txt
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ csrow3.
The representation of the above is reflected in the directory tree
in EDAC's sysfs interface. Starting in directory
/sys/devices/system/edac/mc each memory controller will be represented
by its own 'mcX' directory, where 'X' is the index of the MC.
by its own 'mcX' directory, where 'X" is the index of the MC.


..../edac/mc/
Expand All @@ -207,7 +207,7 @@ by its own 'mcX' directory, where 'X' is the index of the MC.
....

Under each 'mcX' directory each 'csrowX' is again represented by a
'csrowX', where 'X' is the csrow index:
'csrowX', where 'X" is the csrow index:


.../mc/mc0/
Expand All @@ -232,7 +232,7 @@ EDAC control and attribute files.


In 'mcX' directories are EDAC control and attribute files for
this 'X' instance of the memory controllers:
this 'X" instance of the memory controllers:


Counter reset control file:
Expand Down Expand Up @@ -343,7 +343,7 @@ Sdram memory scrubbing rate:
'csrowX' DIRECTORIES

In the 'csrowX' directories are EDAC control and attribute files for
this 'X' instance of csrow:
this 'X" instance of csrow:


Total Uncorrectable Errors count attribute file:
Expand Down
Loading

0 comments on commit 1bc7c3a

Please sign in to comment.