<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/sysdev.h, branch stable/2.6.16.y</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=stable%2F2.6.16.y</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=stable%2F2.6.16.y'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2005-04-16T22:25:24Z</updated>
<entry>
<title>[PATCH] pm_message_t: more fixes in common and i386</title>
<updated>2005-04-16T22:25:24Z</updated>
<author>
<name>Pavel Machek</name>
<email>pavel@ucw.cz</email>
</author>
<published>2005-04-16T22:25:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=438510f6f079e94df294936b5bd8a7fd679cd1c9'/>
<id>urn:sha1:438510f6f079e94df294936b5bd8a7fd679cd1c9</id>
<content type='text'>
I thought I'm done with fixing u32 vs.  pm_message_t ...  unfortunately
that turned out not to be the case as Russel King pointed out.  Here are
fixes for Documentation and common code (mainly system devices).

Signed-off-by: Pavel Machek &lt;pavel@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] sys_device_[un]register() are not syscalls</title>
<updated>2004-02-19T05:09:14Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rddunlap@osdl.org</email>
</author>
<published>2004-02-19T05:09:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=117ace2604ec35f03c6a7b356061eab4a4e45623'/>
<id>urn:sha1:117ace2604ec35f03c6a7b356061eab4a4e45623</id>
<content type='text'>
sys_xyz() names in Linux are all syscalls... except for
sys_device_register() and sys_device_unregister().

This patch renames them so that the sys_ namespace is once
again used only by syscalls.
</content>
</entry>
<entry>
<title>[power] Update device handling.</title>
<updated>2003-08-19T16:23:34Z</updated>
<author>
<name>Patrick Mochel</name>
<email>mochel@osdl.org</email>
</author>
<published>2003-08-19T16:23:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=54050a4e1b5d6e97513237052c796ccb97fd90d9'/>
<id>urn:sha1:54050a4e1b5d6e97513237052c796ccb97fd90d9</id>
<content type='text'>
- From conversations with Ben Herrenschmidt. 

Most devices should be able to handle powering down with interrupts enabled,
which I already assume. But since suspending will stop I/O transactions
before the call to power it off (making the device unusable anyway), there
is no need to separate the calls - we may as well make it simpler for 
driver authors and require that driver authors do everything at the same 
time.

There will always be devices that need to either power down or power up the
device with interrupts disabled. They will get called with interrupts 
enabled, but may return -EAGAIN to be called again with interrupts disabled
to do what they need to do.

System devices are now always called only with interrupts disabled. Come 
on - they're system devices. Of course we need interrupts disabled.
</content>
</entry>
<entry>
<title>[driver model] Remove struct sys_device::entry</title>
<updated>2003-06-16T03:07:05Z</updated>
<author>
<name>Patrick Mochel</name>
<email>mochel@osdl.org</email>
</author>
<published>2003-06-16T03:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=082bd7df7a4336d9a5f4f4db9d943aeee3a53226'/>
<id>urn:sha1:082bd7df7a4336d9a5f4f4db9d943aeee3a53226</id>
<content type='text'>
It was added by accident from another patch and is redundant with 
struct sys_device::kobj.entry.
</content>
</entry>
<entry>
<title>[driver model] Make sure system device drivers are added if registered late.</title>
<updated>2003-06-11T08:42:06Z</updated>
<author>
<name>Patrick Mochel</name>
<email>mochel@osdl.org</email>
</author>
<published>2003-06-11T08:42:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=8861b6ce54452a554914445e60f3af8a509124e4'/>
<id>urn:sha1:8861b6ce54452a554914445e60f3af8a509124e4</id>
<content type='text'>
From Jeremy Fitzhardinge:

With the current system device changes (I picked them up in 2.5.70-mm8),
the system device class assumes that all system device drivers are
registered before any system devices are registered.

Unfortunately, this is often not the case.  CPU devices are registered
very early, but cpufreq registers drivers for them; since cpufreq
drivers can be loaded as modules, they clearly can't be registered
before the device is.

This patch keeps a list of all registered devices hanging off the system
device class.  When a new driver is registered, it calls the driver's
add() function with all existing devices.

Conversely, when a driver is unregistered, it calls the driver's
remove() function for all existing devices so the driver can clean up.

Note: the list in the class's embedded kset is used, rather than creating
a new field.
</content>
</entry>
<entry>
<title>[driver model] Add save() and restore() methods for system device drivers. </title>
<updated>2003-06-10T06:58:37Z</updated>
<author>
<name>Patrick Mochel</name>
<email>mochel@osdl.org</email>
</author>
<published>2003-06-10T06:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d507789a02e933ab503a4457abd6f56c579dea05'/>
<id>urn:sha1:d507789a02e933ab503a4457abd6f56c579dea05</id>
<content type='text'>
It turns out that at least some system device drivers need to allocate 
memory and/or sleep for one reason or another when either saving or 
restoring state. 

Instead of adding a 'level' paramter to the suspend() and resume() methods,
which I despise and think is a horrible programming interface, two new 
methods have been added to struct sysdev_driver:

        int     (*save)(struct sys_device *, u32 state);
        int     (*restore)(struct sys_device *);

that are called explicitly before and after suspend() and resume() 
respectively, with interrupts enabled. This gives the drivers the
flexibility to allocate memory and sleep, if necessary. 
</content>
</entry>
<entry>
<title>[driver model] Create include/linux/sysdev.h and define sysdev_attribute.</title>
<updated>2003-06-10T04:58:22Z</updated>
<author>
<name>Patrick Mochel</name>
<email>mochel@osdl.org</email>
</author>
<published>2003-06-10T04:58:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=35e5d23476e00fb2d709b90d8fb4cc4a9caa660c'/>
<id>urn:sha1:35e5d23476e00fb2d709b90d8fb4cc4a9caa660c</id>
<content type='text'>
Split out all system device definitions from device.h into their own header
sysdev.h

Define struct sysdev_attribute and define functions to export attributes 
in sysfs. 
</content>
</entry>
</feed>
