- 28 May, 2004 2 commits
-
-
Todd Poynor authored
Currently all devices are resumed at system resume time, including any that were individually powered off ("at runtime") prior to the system suspend. In certain cases it can be nice to force back on individually suspended devices, such as the display, but hopefully this policy can be left up to userspace power managers; the kernel should probably honor the settings previously made by userspace/drivers. This seems preferable to requiring a power-conscious system to re-suspend devices after a system resume; furthermore, for certain platforms (such as XScale PXA27X) there can be disastrous consequences of powering up devices when the system is in a state incompatible with operation of the device. Suggested patch does this: (1) At system resume, checks power_state to see if the device was suspended prior to system suspend, and skips powering on the device if so. (2) Does not re-suspend an already-suspended device at system suspend (using a different method than is currently employed, which reorders the list, see #3). (3) Preserves the active/off device list order despite the above changes to suspend/resume behavior, to avoid dependency problems that tend to occur when the list is reordered. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Todd Poynor authored
(1) Set device power state at runtime resume (as is done for runtime suspend) so that a later suspend does not think the device is still suspended (refusing to suspend it again). (2) Move devices from the active list to the off list only when suspending all devices as part of a system suspend, not for runtime suspend. This matches the resume code, which only moves devices from off to active during system resume, such that runtime resume currently doesn't move the suspended device back to the active list. (This also avoids reordering the device list for runtime suspends; the list is in order of registration and suspend/resume works best that way -- granted, more sweeping improvements in how device dependencies are accounted for in the suspend/resume order are also needed someday.) Runtime device suspend/resume is in some cases used frequently on battery-powered embedded devices, to save additional power and to handle device power state interactions with overall system power state on certain platforms. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 27 May, 2004 1 commit
-
-
Greg Kroah-Hartman authored
You can do the same from userspace, and the author requests that the driver be deleted from the kernel tree before people start using it.
-
- 17 May, 2004 2 commits
-
-
Rene Herman authored
-
Maneesh Soni authored
- Rediffed the patch for 2.6.6-mm3 to fix rejects in the latest changes in sysfs code. o The symlinks code in sysfs doesnot point to the correct target kobject whenever target kobject is renamed and suffers from dangling symlinks if target kobject is removed. o The following patch implements ->readlink and ->follow_link operations for sysfs instead of using the page_symlink_inode_operations. The pointer to target kobject is saved in the link dentry's d_fsdata field. The target path is generated everytime we do ->readlink and ->follow_link. This results in generating the correct target path during readlink and follow_link operations inspite of renamed target kobject. o This also pins the target kobject during link creation and the ref. is released when the link is removed. o Apart from being correct this patch also saves some memory by not pinning a whole page for saving the target information. o Used a rw_semaphor sysfs_rename_sem to avoid clashing with renaming of ancestors while the target path is generated. o Used dcache_lock in fs/sysfs/sysfs.h:sysfs_get_kobject() because of using d_drop() while removing dentries.
-
- 16 May, 2004 12 commits
-
-
bk://gkernel.bkbits.net/libata-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
ata_scsi_translate() sets this flag for all ATA->SCSI translated commands, so it need not be done in atapi_xlat(). The now-removed use in atapi_xlat() was also inconsistent WRT PIO versus DMA.
-
Jeff Garzik authored
DMADIR bit is necessary for some PATA->SATA bridges. These bridges require the OS driver to specify the data xfer direction, for PACKET (a.k.a. scsi) commands. A reliable DMADIR detection method hasn't yet been developed, and ATAPI is still a WIP, so DMADIR is enabled with an ifdef for now.
-
bk://bk.arm.linux.org.uk/linux-2.6-serialLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Russell King authored
Since all boards specify base_baud, the code to default base_baud to the architecture-defined BASE_BAUD is redundant. Also, defaulting to the architecture-defined BASE_BAUD is wrong since the UARTs on a serial PCI card will be clocked at the same rate no matter what the architecture of the host machine.
-
bk://bk.arm.linux.org.uk/linux-2.6-rmkLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Russell King authored
This eliminates the last SWI user from the kernel - now all SWI calls will only come from userspace. More importantly, this also allows us to empty the kernel stack when starting userspace programs from kernelspace, thereby ensuring that the user registers always appear at the top of the kernel stack.
-
Russell King authored
This moves a bunch of EXPORT_SYMBOL() statements from armksyms.c into the file which defines the function/variable such that the exports are localised. This also means we can get rid of the ugly __xxx_to_xxx__is_a_macro in include/asm-arm/arch-*/memory.h
-
bk://gkernel.bkbits.net/net-drivers-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.6
-
Jonathan Corbet authored
No more users of the autoirq_xxx() API existed, so this file is not only unused, it isn't even listed in any makefiles.
-
Andrew Morton authored
This fixes the gfp_mask setting on the quota inode.
-
- 15 May, 2004 23 commits
-
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.6
-
Pekka Pietikäinen authored
This patch makes the b44-after-bcm4400 scenario work for me. What was happening is that the broadcom driver sets a "power off MAC" bit, and we didn't remove that when initializing the chip. Also added some (a bit ugly, I know ) logic to clear up the address filter stuff, which is what recent broadcom drivers do...
-
Jeff Garzik authored
It's easier to do it this way, than polling, at the moment. Also, fix a test in ata_scsi_translate that was incorrectly erroring-out non-data commands.
-
Jeff Garzik authored
* now that ATAPI is close to working, making ATAPI DMA interrupts in ata_host_intr * remove unnecessary space character in printk() output (oh, the horror)
-
Richard Henderson authored
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> This skips the GP-loading function prologue (two instructions: 8 bytes) on BRSGP linkage correctly, fixing an oops on alpha while loading the aic7xxx driver.
-
Linus Torvalds authored
mapped memory. A regular "memset()" may be using cache control instructions etc, which is not appropriate for memory-mapped IO. This also fixes a warning.
-
bk://bk.arm.linux.org.uk/linux-2.6-rmkLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Robin Farine authored
Patch from Robin Farine Fix the xscale cache handling routines that were invalidating a D cache line instead of draining the write & fill buffer as intended.
-
Catalin Marinas authored
Patch from Catalin Marinas Unlike the v5 architecture, the ARM1136 requires that BIT4 is 0 in the first level page descriptor (ARM1136 TRM, page 6-39). It works at the moment but it might break future v6 cores.
-
Catalin Marinas authored
Patch from Catalin Marinas The v6_dma_invalidate_range - the "mcr" instruction for draining the write buffer requires r0 == 0. A "cmp" instruction for testing the end address is missing in the v6_dma_flush_range function.
-
Catalin Marinas authored
Patch from Catalin Marinas The _raw_write_(try)lock functions in include/asm-arm/spinlock.h should use the early clobber modifier (&) for the "tmp" register. A newer compiler (gcc-3.4.0) generates an "strexeq %0, %1, [%2]" instruction where %0 is the same as %2, which is illegal.
-
Catalin Marinas authored
Patch from Catalin Marinas In the blockops_check() function, cache_type is uninitialised because an "mcr" instruction is used instead of "mrc".
-
bk://bk.arm.linux.org.uk/linux-2.6-pcmciaLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
bk://bk.arm.linux.org.uk/linux-2.6-serialLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jan Kara authored
This fixes the problem with recursion into filesystem when inode of quota file needs a page + some other allocation problems. I hope I got the GFP mask setting right..
-
bk://gkernel.bkbits.net/libata-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
Remove unused 'done_late' arg to ata_qc_complete(), which was never useful in 2.4, and never used at all in 2.6. This allows us to eliminate the same arg from ata_dma_complete(), and also make it more correct by passing the command rather than the ATA port structure as arg0.
-
Jeff Garzik authored
into redhat.com:/spare/repo/libata-2.6
-
Linus Torvalds authored
We need to always allocate at least one indirect block pointer, since we always fill out blocks[0] even if we don't have any groups.
-
Bartlomiej Zolnierkiewicz authored
Trivia. CMD640 driver doesn't use generic IDE PCI code (it doesn't even include this header).
-
Bartlomiej Zolnierkiewicz authored
- many Maxtor disks incorrectly claim CACHE FLUSH EXT command support, fix it by checking both CACHE FLUSH EXT command and LBA48 support (thanks to Eric D. Mudama for help in fixing this) - write_cache() was called with 'drive->id->cfs_enable_2 & 0x3000' as 'int arg' argument which was always truncated to zero due to 'u8 drive->wcache = arg' assignment so write cache was indeed enabled but drive->wcache was zero (thanks to Rene Herman for help in debugging this) - flush cache in idedisk_start_power_step() only if ATA-6 CACHE FLUSH (EXT) bits are present in disk's identify data (prevents sending unknown commands) - set drive->wcache in idedisk_setup() not idedisk_attach() (no need to check id->command_set_2 - we check id->cfs_enable_2 instead in write_cache() call) - use ide_cacheflush_p() in idedisk_setup() - minor cleanups
-
Andi Kleen authored
This code is shared between i386 and x86-64, and x86-64 needs to check for empty nodes here. Otherwise you can get oopses at boot in some circumstances. This handles empty nodes != 0; empty node zero are still broken in other ways.
-
Andi Kleen authored
This changes the /dev/mem caching behaviour on x86-64 to be compatible with i386. By default everything is set cached. This actually makes WC MTRRs on AMD systems work, which would get overriden by the UC PAT bits that were set earlier. This can make DVD decoding with hardware support a lot faster. It also supports O_SYNC now, like i386, although that is not really safe, because it allows the user to create undefined cache attribute conflicts that can corrupt caches in some circumstances. I kept it for now. Better would to disallow it, until Terrence Ripperda's PAT framework is getting merged, that can avoid these problems. Actually it would be probably a good idea to add a printk here to catch broken programs for i386 and x86-64, but that is for another patch.
-