aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [ARM] 5382/1: unwind: Reorganise the stacktrace supportCatalin Marinas2009-02-12
| | | | | | | | | This patch changes the walk_stacktrace and its callers for easier integration of stack unwinding. The arch/arm/kernel/stacktrace.h file is also moved to arch/arm/include/asm/stacktrace.h. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5381/1: unwind: Reorganise the traps.c codeCatalin Marinas2009-02-12
| | | | | | | | This patch moves code around in the arch/arm/kernel/traps.c file for easier integration of the stack unwinding support. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5393/1: Add W90P910 EVB NOR flash driverwanzongshun2009-02-12
| | | | | | | | Add W90P910 Evaluate Board NOR flash driver support, The EV Board default support W19B320ABT7H of Winbond inc. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5392/1: Delete redundant macros for w90p910wanzongshun2009-02-12
| | | | | | | | | Delete the macros W90X900_RES and W90X900_DEVICE I thought it will be better to define the structures for each device directly. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5389/1: Make sure the pmd entries are visible by the secondary CPUCatalin Marinas2009-02-12
| | | | | | | | The __cpu_up() function in arch/arm/kernel/smp.c sets the pmd entries without flushing or cleaning them. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5388/1: Add hwcap bits for VFPv3 and VFPv3D16Catalin Marinas2009-02-12
| | | | | | | | | | The VFPv3D16 is a VFPv3 CPU configuration where only 16 double registers are present, as the VFPv2 configuration. This patch adds the corresponding hwcap bits so that applications or debuggers have more information about the supported features. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5387/1: Add ptrace VFP support on ARMCatalin Marinas2009-02-12
| | | | | | | | | | | | This patch adds ptrace support for setting and getting the VFP registers using PTRACE_SETVFPREGS and PTRACE_GETVFPREGS. The user_vfp structure defined in asm/user.h contains 32 double registers (to cover VFPv3 and Neon hardware) and the FPSCR register. Cc: Paul Brook <paul@codesourcery.com> Cc: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5373/2: Add gpiolib support to AT91Ryan Mallon2009-02-12
| | | | | | | | | Add support for gpiolib, including debugfs output, to the AT91 family. The at91_get/set_gpio_value calls still exist since they are used by the atmel serial driver. Signed-off-by: Ryan Mallon <ryan@bluewatersys.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5355/1: Adding support for the HTC Himalaya and its framebufferZbynek Michl2009-02-10
| | | | | | | Patch adds support for the HTC Himalaya device. It includes hardware definitions and w100fb support. Signed-off-by: Zbynek Michl <Zbynek.Michl@seznam.cz> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5354/1: mach-pxa: add AM300 platform driver v3Jaya Kumar2009-02-10
| | | | | | | | | This patch adds support for the AM300 platform driver which uses the E-Ink broadsheetfb display driver. Cc: Eric Miao <eric.miao@marvell.com> Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5353/1: fbdev: add E-Ink Broadsheet controller support v3Jaya Kumar2009-02-10
| | | | | | | | This patch adds support for the E-Ink Broadsheet display controller. Cc: Eric Miao <eric.miao@marvell.com> Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5375/1: PATCH - update jornada720.c to reflect driver additionsKristoffer Ericson2009-02-10
| | | | | | | | | This patch updates the list of devices activated at init to also include the keyboard and touchscreen structs. We also remove a non-needed #ifdef. Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5374/1: The w90p910 uart0 driver patchwanzongshun2009-02-10
| | | | | | | Add W90P910 UART0 support,the W90P910 UART0 is 8250 series. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5372/1: ACS5K: Core board support for the ACS-5000Daniel Silverstone2009-02-10
| | | | | | | | | | This patch provides the core board support for the Brivo Systems LLC ACS-5000 master board for automated door/card-reader etc management. Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk> Signed-off-by: Vincent Sanders <vince@simtec.co.uk> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 5371/1: ep93xx: add i2c device to edb9307aHartley Sweeten2009-02-10
| | | | | | | | | | | Add the on-board rtc i2c device to the edb9307a platform init. The EP93xx based EDB9307A dev board has an on-board ISL1208 RTC connected to the I2C bus. Now that the core code supports the I2C bus, this patch will add support for the device. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'devel' of ↵Russell King2009-02-07
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/configs/magician_defconfig
| * [ARM] pxa: add em_x270_defconfig for EM-X270 and eXedaMike Rapoport2009-02-02
| | | | | | | | | | | | | | machines Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: prepare xm_x2xx_defconfig for splitMike Rapoport2009-02-02
| | | | | | | | | | | | | | | | | | | | | | | | xm_x2xx_defconfig currently supports 3 platforms: CM-X255, CM-X270 and EM-X270. Although EM-X270 is similar to CM-X2XX, it has a lot of unique features. Keeping these features in the same _defconfig increases the kernel size in the way it does not fit into CM-X2XX NOR flash. Rename xm_x2xx_defconfig to cm_x2xx_defconfig and remove EM-X270 specifc parts from it. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: add eXeda platform supportMike Rapoport2009-02-02
| | | | | | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/em-x270: prepare addition of eXeda machine to em-x270.cMike Rapoport2009-02-02
| | | | | | | | | | | | | | | | | | Change several GPIO assignment from static to run-time Split MFP table to common and EM-X270 specific parts Introduce em_x270_module_init Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/em-x270: add battery chargerMike Rapoport2009-02-02
| | | | | | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/em-x270: introduce macors to to simplify da9030 subdev initializationMike Rapoport2009-02-02
| | | | | | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/em-x270: update MMC/SDIO implementationMike Rapoport2009-02-02
| | | | | | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: Enable pxa27x_udc and gpio_vbusPhilipp Zabel2009-02-02
| | | | | | | | | | | | | | | | | | This patch depends on otg_transceiver support in pxa27x_udc (which is queued via linux-usb) to work. It compiles also without it. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: use named initializers for gpio_keys setupPhilipp Zabel2009-01-21
| | | | | | | | | | Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: Use SZ_64M for physmap resourcePhilipp Zabel2009-01-21
| | | | | | | | | | | | | | Improves readability over the custom #define. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: enable power I2C for max158xxPhilipp Zabel2009-01-21
| | | | | | | | | | Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: setup SSP1 pins for audioPhilipp Zabel2009-01-21
| | | | | | | | | | Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: Enable backlightPhilipp Zabel2009-01-21
| | | | | | | | | | | | | | | | Magician uses the generic PWM backlight driver, so select HAVE_PWM. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/magician: Update defconfigPhilipp Zabel2009-01-21
| | | | | | | | | | | | | | | | | | | | This is the touched up result of make magician_defconfig in 2.6.29-rc2. - Enabled USB host and bluetooth: magician has a CSR BlueCore3 connected to the PXA27x OHCI internally. - Made I2C built-in. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: update xm_x2xx_defconfigMike Rapoport2009-01-21
| | | | | | | | | | | | | | Update xm_x2xx_defconfig to allow use of EM-X270 updated features Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa/em-x270: updates for 2.6.29Mike Rapoport2009-01-21
| | | | | | | | | | | | | | | | | | | | | | The patch includes the following updates to EM-X270: - Added DA9030 support - Added NOR flash support - Added QCI with mt9m112 sensor support - Updated LCD support Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: PalmLD initial supportMarek Vasut2009-01-21
| | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] pxa: PalmT5 initial supportMarek Vasut2009-01-21
| | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstableLinus Torvalds2009-02-06
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (37 commits) Btrfs: Make sure dir is non-null before doing S_ISGID checks Btrfs: Fix memory leak in cache_drop_leaf_ref Btrfs: don't return congestion in write_cache_pages as often Btrfs: Only prep for btree deletion balances when nodes are mostly empty Btrfs: fix btrfs_unlock_up_safe to walk the entire path Btrfs: change btrfs_del_leaf to drop locks earlier Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inode Btrfs: Don't try to compress pages past i_size Btrfs: join the transaction in __btrfs_setxattr Btrfs: Handle SGID bit when creating inodes Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks Btrfs: Change btree locking to use explicit blocking points Btrfs: hash_lock is no longer needed Btrfs: disable leak debugging checks in extent_io.c Btrfs: sort references by byte number during btrfs_inc_ref Btrfs: async threads should try harder to find work Btrfs: selinux support Btrfs: make btrfs acls selectable Btrfs: Catch missed bios in the async bio submission thread Btrfs: fix readdir on 32 bit machines ...
| * | Btrfs: Make sure dir is non-null before doing S_ISGID checksChris Mason2009-02-06
| | | | | | | | | | | | | | | | | | | | | The S_ISGID check in btrfs_new_inode caused an oops during subvol creation because sometimes the dir is null. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: Fix memory leak in cache_drop_leaf_refChris Mason2009-02-05
| | | | | | | | | | | | | | | | | | The code wasn't doing a kfree on the sorted array Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: don't return congestion in write_cache_pages as oftenChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On fast devices that go from congested to uncongested very quickly, pdflush is waiting too often in congestion_wait, and the FS is backing off to easily in write_cache_pages. For now, fix this on the btrfs side by only checking congestion after some bios have already gone down. Longer term a real fix is needed for pdflush, but that is a larger project. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: Only prep for btree deletion balances when nodes are mostly emptyChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whenever an item deletion is done, we need to balance all the nodes in the tree to make sure we don't end up with an empty node if a pointer is deleted. This balance prep happens from the root of the tree down so we can drop our locks as we go. reada_for_balance was triggering read-ahead on neighboring nodes even when no balancing was required. This adds an extra check to avoid calling balance_level() and avoid reada_for_balance() when a balance won't be required. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: fix btrfs_unlock_up_safe to walk the entire pathChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btrfs_unlock_up_safe would break out at the first NULL node entry or unlocked node it found in the path. Some of the callers have missing nodes at the lower levels of the path, so this commit fixes things to check all the nodes in the path before returning. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: change btrfs_del_leaf to drop locks earlierChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btrfs_del_leaf does two things. First it removes the pointer in the parent, and then it frees the block that has the leaf. It has the parent node locked for both operations. But, it only needs the parent locked while it is deleting the pointer. After that it can safely free the block without the parent locked. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inodeChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | btrfs_truncate_inode_items is setup to stop doing btree searches when it has finished removing the items for the inode. It used to detect the end of the inode by looking for an objectid that didn't match the one we were searching for. But, this would result in an extra search through the btree, which adds extra balancing and cow costs to the operation. This commit adds a check to see if we found the inode item, which means we can stop searching early. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: Don't try to compress pages past i_sizeChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compression code had some checks to make sure we were only compressing bytes inside of i_size, but it wasn't catching every case. To make things worse, some incorrect math about the number of bytes remaining would make it try to compress more pages than the file really had. The fix used here is to fall back to the non-compression code in this case, which does all the proper cleanup of delalloc and other accounting. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: join the transaction in __btrfs_setxattrJosef Bacik2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With selinux on we end up calling __btrfs_setxattr when we create an inode, which calls btrfs_start_transaction(). The problem is we've already called that in btrfs_new_inode, and in btrfs_start_transaction we end up doing a wait_current_trans(). If btrfs-transaction has started committing it will wait for all handles to finish, while the other process is waiting for the transaction to commit. This is fixed by using btrfs_join_transaction, which won't wait for the transaction to commit. Thanks, Signed-off-by: Josef Bacik <jbacik@redhat.com>
| * | Btrfs: Handle SGID bit when creating inodesChris Ball2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, new files/dirs would ignore the SGID bit on their parent directory and always be owned by the creating user's uid/gid. Signed-off-by: Chris Ball <cjb@laptop.org> Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunksChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every transaction in btrfs creates a new snapshot, and then schedules the snapshot from the last transaction for deletion. Snapshot deletion works by walking down the btree and dropping the reference counts on each btree block during the walk. If if a given leaf or node has a reference count greater than one, the reference count is decremented and the subtree pointed to by that node is ignored. If the reference count is one, walking continues down into that node or leaf, and the references of everything it points to are decremented. The old code would try to work in small pieces, walking down the tree until it found the lowest leaf or node to free and then returning. This was very friendly to the rest of the FS because it didn't have a huge impact on other operations. But it wouldn't always keep up with the rate that new commits added new snapshots for deletion, and it wasn't very optimal for the extent allocation tree because it wasn't finding leaves that were close together on disk and processing them at the same time. This changes things to walk down to a level 1 node and then process it in bulk. All the leaf pointers are sorted and the leaves are dropped in order based on their extent number. The extent allocation tree and commit code are now fast enough for this kind of bulk processing to work without slowing the rest of the FS down. Overall it does less IO and is better able to keep up with snapshot deletions under high load. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: Change btree locking to use explicit blocking pointsChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the btrfs metadata operations can be protected by a spinlock, but some operations still need to schedule. So far, btrfs has been using a mutex along with a trylock loop, most of the time it is able to avoid going for the full mutex, so the trylock loop is a big performance gain. This commit is step one for getting rid of the blocking locks entirely. btrfs_tree_lock takes a spinlock, and the code explicitly switches to a blocking lock when it starts an operation that can schedule. We'll be able get rid of the blocking locks in smaller pieces over time. Tracing allows us to find the most common cause of blocking, so we can start with the hot spots first. The basic idea is: btrfs_tree_lock() returns with the spin lock held btrfs_set_lock_blocking() sets the EXTENT_BUFFER_BLOCKING bit in the extent buffer flags, and then drops the spin lock. The buffer is still considered locked by all of the btrfs code. If btrfs_tree_lock gets the spinlock but finds the blocking bit set, it drops the spin lock and waits on a wait queue for the blocking bit to go away. Much of the code that needs to set the blocking bit finishes without actually blocking a good percentage of the time. So, an adaptive spin is still used against the blocking bit to avoid very high context switch rates. btrfs_clear_lock_blocking() clears the blocking bit and returns with the spinlock held again. btrfs_tree_unlock() can be called on either blocking or spinning locks, it does the right thing based on the blocking bit. ctree.c has a helper function to set/clear all the locked buffers in a path as blocking. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: hash_lock is no longer neededChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before metadata is written to disk, it is updated to reflect that writeout has begun. Once this update is done, the block must be cow'd before it can be modified again. This update was originally synchronized by using a per-fs spinlock. Today the buffers for the metadata blocks are locked before writeout begins, and everyone that tests the flag has the buffer locked as well. So, the per-fs spinlock (called hash_lock for no good reason) is no longer required. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: disable leak debugging checks in extent_io.cChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | extent_io.c has debugging code to report and free leaked extent_state and extent_buffer objects at rmmod time. This helps track down leaks and it saves you from rebooting just to properly remove the kmem_cache object. But, the code runs under a fairly expensive spinlock and the checks to see if it is currently enabled are not entirely consistent. Some use #ifdef and some #if. This changes everything to #if and disables the leak checking. Signed-off-by: Chris Mason <chris.mason@oracle.com>
| * | Btrfs: sort references by byte number during btrfs_inc_refChris Mason2009-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a block goes through cow, we update the reference counts of everything that block points to. The internal pointers of the block can be in just about any order, and it is likely to have clusters of things that are close together and clusters of things that are not. To help reduce the seeks that come with updating all of these reference counts, sort them by byte number before actual updates are done. Signed-off-by: Chris Mason <chris.mason@oracle.com>