commit 3a09b1be53d23df780a0cd0e4087a05e2ca4a00c Merge: 7046e66 0809f6e Author: Linus Torvalds Date: Tue Aug 3 14:40:10 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Fix recovery stuck bug (try #2) GFS2: Fix typo in stuffed file data copy handling Revert "GFS2: recovery stuck on transaction lock" GFS2: Make "try" lock not try quite so hard GFS2: remove dependency on __GFP_NOFAIL GFS2: Simplify gfs2_write_alloc_required GFS2: Wait for journal id on mount if not specified on mount command line GFS2: Use nobh_writepage commit 7046e668d7973c470146fbe6635967a1b4a31bca Merge: c939f9f 64d4b4c Author: Linus Torvalds Date: Tue Aug 3 14:37:26 2010 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: do not warn unnecessarily UBI: do not print message about corruptes PEBs if we have none of them UBI: improve delete-compatible volumes handling UBI: fix error message and compilation warnings UBI: generate random image_seq when formatting MTD devices UBI: improve ECC error message UBI: improve corrupted flash handling UBI: introduce eraseblock counter variables UBI: introduce a new IO return code UBI: simplify IO error codes commit c939f9f9d225972a60181c95df8a9aa50f8b1701 Merge: b8b3e90 c18de72 Author: Linus Torvalds Date: Tue Aug 3 14:37:02 2010 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: fix a memory leak on error path. UBIFS: fix GC LEB recovery UBIFS: use ERR_CAST UBIFS: check return code commit b8b3e9058f0f1d5c5a81c7d3d46f373d5f59a82c Merge: 51102ee 327aec0 Author: Linus Torvalds Date: Tue Aug 3 14:36:16 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: (22 commits) 9p: fix sparse warnings in new xattr code fs/9p: remove sparse warning in vfs_inode fs/9p: destroy fid on failed remove fs/9p: Prevent parallel rename when doing fid_lookup fs/9p: Add support user. xattr net/9p: Implement TXATTRCREATE 9p call net/9p: Implement attrwalk 9p call 9p: Implement LOPEN fs/9p: This patch implements TLCREATE for 9p2000.L protocol. 9p: Implement TMKDIR 9p: Implement TMKNOD 9p: Define and implement TSYMLINK for 9P2000.L 9p: Define and implement TLINK for 9P2000.L 9p: Define and implement TLINK for 9P2000.L 9p: Implement client side of setattr for 9P2000.L protocol. 9p: getattr client implementation for 9P2000.L protocol. fs/9p: Pass the correct user credentials during attach net/9p: Handle the server returned error properly 9p: readdir implementation for 9p2000.L 9p: Make use of iounit for read/write ... commit 51102ee5b8853d230e534cbcd0d888f0134738a3 Merge: 54161df 6b0a299 Author: Linus Torvalds Date: Tue Aug 3 14:33:38 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (49 commits) xfs simplify and speed up direct I/O completions xfs: move aio completion after unwritten extent conversion direct-io: move aio_complete into ->end_io xfs: fix big endian build xfs: clean up xfs_bmap_get_bp xfs: simplify xfs_truncate_file xfs: kill the b_strat callback in xfs_buf xfs: remove obsolete osyncisosync mount option xfs: clean up filestreams helpers xfs: fix gcc 4.6 set but not read and unused statement warnings xfs: Fix build when CONFIG_XFS_POSIX_ACL=n xfs: fix unsigned underflow in xfs_free_eofblocks xfs: use GFP_NOFS for page cache allocation xfs: fix memory reclaim recursion deadlock on locked inode buffer xfs: fix xfs_trans_add_item() lockdep warnings xfs: simplify and remove xfs_ireclaim xfs: don't block on buffer read errors xfs: move inode shrinker unregister even earlier xfs: remove a dmapi leftover xfs: writepage always has buffers ... commit 54161df1fb1469d66bce3a3b14d8281adbb69263 Merge: be82ae0 cb76d5e Author: Linus Torvalds Date: Tue Aug 3 14:33:09 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (29 commits) cifs: fsc should not default to "on" [CIFS] remove redundant path walking in dfs_do_refmount cifs: ignore the "mand", "nomand" and "_netdev" mount options cifs: map NT_STATUS_ERROR_WRITE_PROTECTED to -EROFS cifs: don't allow cifs_iget to match inodes of the wrong type [CIFS] relinquish fscache cookie before freeing CIFSTconInfo cifs: add separate cred_uid field to sesInfo fs: cifs: check kmalloc() result [CIFS] Missing ifdef [CIFS] Missing line from previous commit [CIFS] Fix build break when CONFIG_CIFS_FSCACHE disabled cifs: add mount option to enable local caching cifs: read pages from FS-Cache cifs: store pages into local cache cifs: FS-Cache page management cifs: define inode-level cache object and register them cifs: define superblock-level cache index objects and register them cifs: remove unused cifsUidInfo struct cifs: clean up cifs_find_smb_ses (try #2) cifs: match secType when searching for existing tcp session ... commit be82ae0238b0453afcf4a76f0512b7dde34ba500 Merge: 4b4fd27 7b70c42 Author: Linus Torvalds Date: Tue Aug 3 14:31:24 2010 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (291 commits) ARM: AMBA: Add pclk support to AMBA bus infrastructure ARM: 6278/2: fix regression in RealView after the introduction of pclk ARM: 6277/1: mach-shmobile: Allow users to select HZ, default to 128 ARM: 6276/1: mach-shmobile: remove duplicate NR_IRQS_LEGACY ARM: 6246/1: mmci: support larger MMCIDATALENGTH register ARM: 6245/1: mmci: enable hardware flow control on Ux500 variants ARM: 6244/1: mmci: add variant data and default MCICLOCK support ARM: 6243/1: mmci: pass power_mode to the translate_vdd callback ARM: 6274/1: add global control registers definition header file for nuc900 mx2_camera: fix type of dma buffer virtual address pointer mx2_camera: Add soc_camera support for i.MX25/i.MX27 arm/imx/gpio: add spinlock protection ARM: Add support for the LPC32XX arch ARM: LPC32XX: Arch config menu supoport and makefiles ARM: LPC32XX: Phytec 3250 platform support ARM: LPC32XX: Misc support functions ARM: LPC32XX: Serial support code ARM: LPC32XX: System suspend support ARM: LPC32XX: GPIO, timer, and IRQ drivers ARM: LPC32XX: Clock driver ... commit 4b4fd27c0b5ec638a1f06ced9226fd95229dbbf0 Author: Helge Deller Date: Mon Aug 2 22:46:41 2010 +0200 PARISC: led.c - fix potential stack overflow in led_proc_write() avoid potential stack overflow by correctly checking count parameter Reported-by: Ilja Signed-off-by: Helge Deller Acked-by: Kyle McMartin Cc: James E.J. Bottomley Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit c18de72fb3c72fdc5ca883910761af3f14d90d76 Author: Matthieu CASTET Date: Mon Aug 2 11:36:06 2010 +0200 UBIFS: fix a memory leak on error path. In 'mount_ubifs()', in case of 'ubifs_leb_unmap()' falure, free allocated resources. Signed-off-by: Matthieu CASTET Signed-off-by: Artem Bityutskiy commit 327aec03ac4c7bbf5e41ff03ac3a84c424589f27 Author: Eric Van Hensbergen Date: Mon Aug 2 11:36:18 2010 -0500 9p: fix sparse warnings in new xattr code fixes: CHECK fs/9p/xattr.c fs/9p/xattr.c:73:6: warning: Using plain integer as NULL pointer fs/9p/xattr.c:135:6: warning: Using plain integer as NULL pointer Signed-off-by: Eric Van Hensbergen commit ea1375333ef58298ba4d3c638f3cba982c76504d Author: Eric Van Hensbergen Date: Tue Jul 27 14:49:43 2010 -0500 fs/9p: remove sparse warning in vfs_inode make v9fs_dentry_from_dir_inode static Signed-off-by: Eric Van Hensbergen commit 0b1208b1aa7a555d5ae4246bab4cd76ba3f32b2d Author: Aneesh Kumar K.V Date: Fri Jul 2 12:21:20 2010 +0530 fs/9p: destroy fid on failed remove 9P spec says: "It is correct to consider remove to be a clunk with the side effect of removing the file if permissions allow. " So even if remove fails we need to destroy the fid. Without this patch an rmdir on a directory with contents leave the new cloned directory fid fid attached to fidlist. On umount we dump the fids on the fidlist ~# rmdir /mnt2/test4/ rmdir: failed to remove `/mnt2/test4/': Directory not empty ~# umount /mnt2/ ~# dmesg [ 228.474323] Found fid 3 not clunked Signed-off-by: Aneesh Kumar K.V Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit a534c8d15b1f1d0f861fc2bb9e0529bd8486ec3f Author: Aneesh Kumar K.V Date: Wed Jun 30 19:18:50 2010 +0530 fs/9p: Prevent parallel rename when doing fid_lookup During fid lookup we need to make sure that the dentry->d_parent doesn't change so that we can safely walk the parent dentries. To ensure that we need to prevent cross directory rename during fid_lookup. Add a per superblock rename_sem rw_semaphore to prevent parallel fid lookup and rename. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit ebf46264a004818fe5b23f0ac18ac7336897d807 Author: Aneesh Kumar K.V Date: Mon May 31 13:22:56 2010 +0530 fs/9p: Add support user. xattr Signed-off-by: Aneesh Kumar K.V Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit eda25e46161527845572131b37706a458d9270ef Author: Aneesh Kumar K.V Date: Mon May 31 13:22:50 2010 +0530 net/9p: Implement TXATTRCREATE 9p call TXATTRCREATE: Prepare a fid for setting xattr value on a file system object. size[4] TXATTRCREATE tag[2] fid[4] name[s] attr_size[8] flags[4] size[4] RXATTRCREATE tag[2] txattrcreate gets a fid pointing to xattr. This fid can later be used to set the xattr value. flag value is derived from set Linux setxattr. The manpage says "The flags parameter can be used to refine the semantics of the operation. XATTR_CREATE specifies a pure create, which fails if the named attribute exists already. XATTR_REPLACE specifies a pure replace operation, which fails if the named attribute does not already exist. By default (no flags), the extended attribute will be created if need be, or will simply replace the value if the attribute exists." The actual setxattr operation happens when the fid is clunked. At that point the written byte count and the attr_size specified in TXATTRCREATE should be same otherwise an error will be returned. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit 0ef63f345c48afe5896c5cffcba57f0457d409b9 Author: Aneesh Kumar K.V Date: Mon May 31 13:22:45 2010 +0530 net/9p: Implement attrwalk 9p call TXATTRWALK: Descend a ATTR namespace size[4] TXATTRWALK tag[2] fid[4] newfid[4] name[s] size[4] RXATTRWALK tag[2] size[8] txattrwalk gets a fid pointing to xattr. This fid can later be used to read the xattr value. If name is NULL the fid returned can be used to get the list of extended attribute associated to the file system object. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit ef56547efa3c88609069e2a91f46e25c31dd536e Author: M. Mohan Kumar Date: Tue Jun 22 19:47:50 2010 +0530 9p: Implement LOPEN Implement 9p2000.L version of open(LOPEN) interface in 9p client. For LOPEN, no need to convert the flags to and from 9p mode to VFS mode. Synopsis: size[4] Tlopen tag[2] fid[4] mode[4] size[4] Rlopen tag[2] qid[13] iounit[4] [Fix mode bit format - jvrao@linux.vnet.ibm.com] Signed-off-by: M. Mohan Kumar Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbegren commit 5643135a28464e7c19d8d23a9e0804697a62c84b Author: Venkateswararao Jujjuri (JV) Date: Thu Jun 17 18:27:46 2010 -0700 fs/9p: This patch implements TLCREATE for 9p2000.L protocol. SYNOPSIS size[4] Tlcreate tag[2] fid[4] name[s] flags[4] mode[4] gid[4] size[4] Rlcreate tag[2] qid[13] iounit[4] DESCRIPTION The Tlreate request asks the file server to create a new regular file with the name supplied, in the directory (dir) represented by fid. The mode argument specifies the permissions to use. New file is created with the uid if the fid and with supplied gid. The flags argument represent Linux access mode flags with which the caller is requesting to open the file with. Protocol allows all the Linux access modes but it is upto the server to allow/disallow any of these acess modes. If the server doesn't support any of the access mode, it is expected to return error. Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit 01a622bd7409bb7af38e784cff814e5e723f7951 Author: M. Mohan Kumar Date: Wed Jun 16 14:27:22 2010 +0530 9p: Implement TMKDIR Implement TMKDIR as part of 2000.L Work Synopsis size[4] Tmkdir tag[2] fid[4] name[s] mode[4] gid[4] size[4] Rmkdir tag[2] qid[13] Description mkdir asks the file server to create a directory with given name, mode and gid. The qid for the new directory is returned with the mkdir reply message. Note: 72 is selected as the opcode for TMKDIR from the reserved list. Signed-off-by: M. Mohan Kumar Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit 4b43516ab19b748b48322937fd9307af17541c4d Author: M. Mohan Kumar Date: Wed Jun 16 14:27:01 2010 +0530 9p: Implement TMKNOD Synopsis size[4] Tmknod tag[2] fid[4] name[s] mode[4] major[4] minor[4] gid[4] size[4] Rmknod tag[2] qid[13] Description mknod asks the file server to create a device node with given major and minor number, mode and gid. The qid for the new device node is returned with the mknod reply message. [sripathik@in.ibm.com: Fix error handling code] Signed-off-by: M. Mohan Kumar Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit 50cc42ff3d7bc48a436c5a0413459ca7841b505f Author: Venkateswararao Jujjuri (JV) Date: Wed Jun 9 15:59:31 2010 -0700 9p: Define and implement TSYMLINK for 9P2000.L Create a symbolic link SYNOPSIS size[4] Tsymlink tag[2] fid[4] name[s] symtgt[s] gid[4] size[4] Rsymlink tag[2] qid[13] DESCRIPTION Create a symbolic link named 'name' pointing to 'symtgt'. gid represents the effective group id of the caller. The permissions of a symbolic link are irrelevant hence it is omitted from the protocol. Signed-off-by: Venkateswararao Jujjuri Reviewed-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen commit 652df9a7fd03cb47a3f663f0c08a2bd086505e9b Author: Venkateswararao Jujjuri (JV) Date: Thu Jun 3 15:16:59 2010 -0700 9p: Define and implement TLINK for 9P2000.L This patch adds a helper function to get the dentry from inode and uses it in creating a Hardlink SYNOPSIS size[4] Tlink tag[2] dfid[4] oldfid[4] newpath[s] size[4] Rlink tag[2] DESCRIPTION Create a link 'newpath' in directory pointed by dfid linking to oldfid path. [sripathik@in.ibm.com : p9_client_link should not free req structure if p9_client_rpc has returned an error.] Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit 09d34ee5f93b2e53b64ffba27bc18731e31154e1 Author: Eric Van Hensbergen Date: Mon Aug 2 14:28:09 2010 -0500 9p: Define and implement TLINK for 9P2000.L This patch adds a helper function to get the dentry from inode and uses it in creating a Hardlink SYNOPSIS size[4] Tlink tag[2] dfid[4] oldfid[4] newpath[s] size[4] Rlink tag[2] DESCRIPTION Create a link 'newpath' in directory pointed by dfid linking to oldfid path. [sripathik@in.ibm.com : p9_client_link should not free req structure if p9_client_rpc has returned an error.] Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit 87d7845aa0b157a62448dd3e339856f28befe1f4 Author: Sripathi Kodi Date: Fri Jun 18 11:50:10 2010 +0530 9p: Implement client side of setattr for 9P2000.L protocol. SYNOPSIS size[4] Tsetattr tag[2] attr[n] size[4] Rsetattr tag[2] DESCRIPTION The setattr command changes some of the file status information. attr resembles the iattr structure used in Linux kernel. It specifies which status parameter is to be changed and to what value. It is laid out as follows: valid[4] specifies which status information is to be changed. Possible values are: ATTR_MODE (1 << 0) ATTR_UID (1 << 1) ATTR_GID (1 << 2) ATTR_SIZE (1 << 3) ATTR_ATIME (1 << 4) ATTR_MTIME (1 << 5) ATTR_ATIME_SET (1 << 7) ATTR_MTIME_SET (1 << 8) The last two bits represent whether the time information is being sent by the client's user space. In the absense of these bits the server always uses server's time. mode[4] File permission bits uid[4] Owner id of file gid[4] Group id of the file size[8] File size atime_sec[8] Time of last file access, seconds atime_nsec[8] Time of last file access, nanoseconds mtime_sec[8] Time of last file modification, seconds mtime_nsec[8] Time of last file modification, nanoseconds Explanation of the patches: -------------------------- *) The kernel just copies relevent contents of iattr structure to p9_iattr_dotl structure and passes it down to the client. The only check it has is calling inode_change_ok() *) The p9_iattr_dotl structure does not have ctime and ia_file parameters because I don't think these are needed in our case. The client user space can request updating just ctime by calling chown(fd, -1, -1). This is handled on server side without a need for putting ctime on the wire. *) The server currently supports changing mode, time, ownership and size of the file. *) 9P RFC says "Either all the changes in wstat request happen, or none of them does: if the request succeeds, all changes were made; if it fails, none were." I have not done anything to implement this specifically because I don't see a reason. Signed-off-by: Sripathi Kodi Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Eric Van Hensbergen commit f085312204f384a0277a66c3c48ba8f9edcd58f2 Author: Sripathi Kodi Date: Mon Jul 12 20:07:23 2010 +0530 9p: getattr client implementation for 9P2000.L protocol. SYNOPSIS size[4] Tgetattr tag[2] fid[4] request_mask[8] size[4] Rgetattr tag[2] lstat[n] DESCRIPTION The getattr transaction inquires about the file identified by fid. request_mask is a bit mask that specifies which fields of the stat structure is the client interested in. The reply will contain a machine-independent directory entry, laid out as follows: st_result_mask[8] Bit mask that indicates which fields in the stat structure have been populated by the server qid.type[1] the type of the file (directory, etc.), represented as a bit vector corresponding to the high 8 bits of the file's mode word. qid.vers[4] version number for given path qid.path[8] the file server's unique identification for the file st_mode[4] Permission and flags st_uid[4] User id of owner st_gid[4] Group ID of owner st_nlink[8] Number of hard links st_rdev[8] Device ID (if special file) st_size[8] Size, in bytes st_blksize[8] Block size for file system IO st_blocks[8] Number of file system blocks allocated st_atime_sec[8] Time of last access, seconds st_atime_nsec[8] Time of last access, nanoseconds st_mtime_sec[8] Time of last modification, seconds st_mtime_nsec[8] Time of last modification, nanoseconds st_ctime_sec[8] Time of last status change, seconds st_ctime_nsec[8] Time of last status change, nanoseconds st_btime_sec[8] Time of creation (birth) of file, seconds st_btime_nsec[8] Time of creation (birth) of file, nanoseconds st_gen[8] Inode generation st_data_version[8] Data version number request_mask and result_mask bit masks contain the following bits #define P9_STATS_MODE 0x00000001ULL #define P9_STATS_NLINK 0x00000002ULL #define P9_STATS_UID 0x00000004ULL #define P9_STATS_GID 0x00000008ULL #define P9_STATS_RDEV 0x00000010ULL #define P9_STATS_ATIME 0x00000020ULL #define P9_STATS_MTIME 0x00000040ULL #define P9_STATS_CTIME 0x00000080ULL #define P9_STATS_INO 0x00000100ULL #define P9_STATS_SIZE 0x00000200ULL #define P9_STATS_BLOCKS 0x00000400ULL #define P9_STATS_BTIME 0x00000800ULL #define P9_STATS_GEN 0x00001000ULL #define P9_STATS_DATA_VERSION 0x00002000ULL #define P9_STATS_BASIC 0x000007ffULL #define P9_STATS_ALL 0x00003fffULL This patch implements the client side of getattr implementation for 9P2000.L. It introduces a new structure p9_stat_dotl for getting Linux stat information along with QID. The data layout is similar to stat structure in Linux user space with the following major differences: inode (st_ino) is not part of data. Instead qid is. device (st_dev) is not part of data because this doesn't make sense on the client. All time variables are 64 bit wide on the wire. The kernel seems to use 32 bit variables for these variables. However, some of the architectures have used 64 bit variables and glibc exposes 64 bit variables to user space on some architectures. Hence to be on the safer side we have made these 64 bit in the protocol. Refer to the comments in include/asm-generic/stat.h There are some additional fields: st_btime_sec, st_btime_nsec, st_gen, st_data_version apart from the bitmask, st_result_mask. The bit mask is filled by the server to indicate which stat fields have been populated by the server. Currently there is no clean way for the server to obtain these additional fields, so it sends back just the basic fields. Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbegren commit 9ffaf63e34821ea60b2e1c8593f968d73728f82b Author: Aneesh Kumar K.V Date: Tue Jun 1 09:26:18 2010 +0000 fs/9p: Pass the correct user credentials during attach We need to make sure we pass the right uid value during attach. dotl is similar to dotu in this regard. Without this mapped security model on dotl doesn't work Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit 69d4b4436b54c1a850d475697fda5ca117b09a5e Author: Aneesh Kumar K.V Date: Tue Jun 1 09:26:17 2010 +0000 net/9p: Handle the server returned error properly We need to get the negative errno value in the kernel even for dotl. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit 7751bdb3a095ad32dd4fcff3443cf8dd4cb1e748 Author: Sripathi Kodi Date: Fri Jun 4 13:41:26 2010 +0000 9p: readdir implementation for 9p2000.L This patch implements the kernel part of readdir() implementation for 9p2000.L Change from V3: Instead of inode, server now sends qids for each dirent SYNOPSIS size[4] Treaddir tag[2] fid[4] offset[8] count[4] size[4] Rreaddir tag[2] count[4] data[count] DESCRIPTION The readdir request asks the server to read the directory specified by 'fid' at an offset specified by 'offset' and return as many dirent structures as possible that fit into count bytes. Each dirent structure is laid out as follows. qid.type[1] the type of the file (directory, etc.), represented as a bit vector corresponding to the high 8 bits of the file's mode word. qid.vers[4] version number for given path qid.path[8] the file server's unique identification for the file offset[8] offset into the next dirent. type[1] type of this directory entry. name[256] name of this directory entry. This patch adds v9fs_dir_readdir_dotl() as the readdir() call for 9p2000.L. This function sends P9_TREADDIR command to the server. In response the server sends a buffer filled with dirent structures. This is different from the existing v9fs_dir_readdir() call which receives stat structures from the server. This results in significant speedup of readdir() on large directories. For example, doing 'ls >/dev/null' on a directory with 10000 files on my laptop takes 1.088 seconds with the existing code, but only takes 0.339 seconds with the new readdir. Signed-off-by: Sripathi Kodi Reviewed-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit 97e8442b0971ea6be9a495b3d03402985cfe5d6a Author: M. Mohan Kumar Date: Fri Jun 4 11:59:07 2010 +0000 9p: Make use of iounit for read/write Change the v9fs_file_readn function to limit the maximum transfer size based on the iounit or msize. Also remove the redundant check for limiting the transfer size in v9fs_file_write. This check is done by p9_client_write. Signed-off-by: M. Mohan Kumar Signed-off-by: Eric Van Hensbergen commit cff6b8a9b81b404e8ce0257b26007c3afe625212 Author: Dan Carpenter Date: Sat Jul 10 11:51:54 2010 +0200 9p: strlen() doesn't count the terminator This is an off by one bug because strlen() doesn't count the NULL terminator. We strcpy() addr into a fixed length array of size UNIX_PATH_MAX later on. The addr variable is the name of the device being mounted. Signed-off-by: Dan Carpenter Signed-off-by: Eric Van Hensbergen commit b126468e08d92aaeffa58ef04d70e417241dadc1 Author: Fang Wenqi Date: Tue Jun 1 02:43:06 2010 +0000 virtio_9p.h needs Found with makes headers_check: include/linux/virtio_9p.h:15: found __[us]{8,16,32,64} type without #include Signed-off-by: Fang Wenqi Signed-off-by: Eric Van Hensbergen commit 6b0a2996a0c023d84bc27ec7528a6e54cb5ea264 Merge: 209fb87 9fe6206 Author: Alex Elder Date: Mon Aug 2 10:24:57 2010 -0500 Merge branch 'v2.6.35' commit cb76d5e25008b76fb8e348c861d32659430ac3fa Author: Jeff Layton Date: Mon Jul 26 14:25:08 2010 -0400 cifs: fsc should not default to "on" I'm not sure why this was merged with this flag hardcoded on, but it seems quite dangerous. Turn it off. Also, mount.cifs hands unrecognized options off to the kernel so there should be no need for changes there in order to support this. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f67909cf80051e8510194a51f88c4de323b92071 Author: Steve French Date: Mon Jul 26 18:20:16 2010 +0000 [CIFS] remove redundant path walking in dfs_do_refmount Reviewed-by: Dave Howells Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit f636a34802e3913415410c6e595df2bf84851cff Author: Jeff Layton Date: Mon Jul 26 10:29:58 2010 -0400 cifs: ignore the "mand", "nomand" and "_netdev" mount options These are all handled by the userspace mount programs, but older versions of mount.cifs also handed them off to the kernel. Ignore them. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 3572d2857f61f720082740cc17e2d99b45e7af7f Author: Jeff Layton Date: Mon Jul 26 10:29:57 2010 -0400 cifs: map NT_STATUS_ERROR_WRITE_PROTECTED to -EROFS Seems like a more sensible mapping than -EIO. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f30b9c11847cb6bf1f7aa65b5c436800621a07dd Author: Jeff Layton Date: Mon Jul 19 18:00:17 2010 -0400 cifs: don't allow cifs_iget to match inodes of the wrong type If the type is different from what we think it should be, then don't match the existing inode. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 9f841593ff65d2f801c7f80c4ed0955d30103f50 Author: Steve French Date: Fri Jul 23 20:37:53 2010 +0000 [CIFS] relinquish fscache cookie before freeing CIFSTconInfo Doh, fix a use after free bug. Signed-off-by: Suresh Jayaraman Reviewed-and-Tested-by: Jeff Layton Signed-off-by: Steve French commit 3e4b3e1f68c10510ec8d3076cffc5729b88f8de6 Author: Jeff Layton Date: Mon Jul 19 18:00:17 2010 -0400 cifs: add separate cred_uid field to sesInfo Right now, there's no clear separation between the uid that owns the credentials used to do the mount and the overriding owner of the files on that mount. Add a separate cred_uid field that is set to the real uid of the mount user. Unlike the linux_uid, the uid= option does not override this parameter. The parm is sent to cifs.upcall, which can then preferentially use the creduid= parm instead of the uid= parm for finding credentials. This is not the only way to solve this. We could try to do all of this in kernel instead by having a module parameter that affects what gets passed in the uid= field of the upcall. That said, we have a lot more flexibility to change things in userspace so I think it probably makes sense to do it this way. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f55fdcca6bf1c17e86a270a8c0d81c6677c61222 Author: Kulikov Vasiliy Date: Fri Jul 16 20:15:25 2010 +0400 fs: cifs: check kmalloc() result If kmalloc() fails exit with -ENOMEM. Signed-off-by: Kulikov Vasiliy Acked-by: Dave Kleikamp Acked-by: Jeff Layton Signed-off-by: Steve French commit 0ccd48025fe64cf01782ba3c7037654d25bd1950 Author: Steve French Date: Fri Jul 16 04:31:02 2010 +0000 [CIFS] Missing ifdef Signed-off-by: Steve French commit d0e6f44e6cc3c7059e8717c452f0999aba507a38 Author: Steve French Date: Fri Jul 16 04:24:54 2010 +0000 [CIFS] Missing line from previous commit CC: Suresh Jayaraman Signed-off-by: Steve French commit c5e04a3e4975d11d997528caf5d4880902fa90d8 Author: Steve French Date: Fri Jul 16 04:18:36 2010 +0000 [CIFS] Fix build break when CONFIG_CIFS_FSCACHE disabled CC: Suresh Jayaraman Signed-off-by: Steve French commit fa1df75d4debde6d843e616df656f50a92958737 Author: Suresh Jayaraman Date: Mon Jul 5 18:13:36 2010 +0530 cifs: add mount option to enable local caching Add a mount option 'fsc' to enable local caching on CIFS. I considered adding a separate debug bit for caching, but it appears that debugging would be relatively easier with the normal CIFS_INFO level. As the cifs-utils (userspace) changes are not done yet, this patch enables 'fsc' by default to enable testing. Signed-off-by: Suresh Jayaraman Acked-by: David Howells Signed-off-by: Steve French commit 56698236e1294848c63d4768673865ae5a9c69e0 Author: Suresh Jayaraman Date: Mon Jul 5 18:13:25 2010 +0530 cifs: read pages from FS-Cache Read pages from a FS-Cache data storage object into a CIFS inode. Signed-off-by: Suresh Jayaraman Acked-by: David Howells Signed-off-by: Steve French commit 9dc06558c223bbc08290917ac44c25963bc09e43 Author: Suresh Jayaraman Date: Mon Jul 5 18:13:11 2010 +0530 cifs: store pages into local cache Store pages from an CIFS inode into the data storage object associated with that inode. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 85f2d6b44d7e83bdeab87df910127c6f296866cf Author: Suresh Jayaraman Date: Mon Jul 5 18:13:00 2010 +0530 cifs: FS-Cache page management Takes care of invalidation and release of FS-Cache marked pages and also invalidation of the FsCache page flag when the inode is removed. Signed-off-by: Suresh Jayaraman Acked-by: David Howells Signed-off-by: Steve French commit 9451a9a52f91a4c171cfaca2f6d7a2ce91867b8d Author: Suresh Jayaraman Date: Mon Jul 5 18:12:45 2010 +0530 cifs: define inode-level cache object and register them Define inode-level data storage objects (managed by cifsInodeInfo structs). Each inode-level object is created in a super-block level object and is itself a data storage object in to which pages from the inode are stored. The inode object is keyed by UniqueId. The coherency data being used is LastWriteTime, LastChangeTime and end of file reported by the server. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit d03382ce9a89dbe27cba25130f0b90c0d631d5c5 Author: Suresh Jayaraman Date: Mon Jul 5 18:12:27 2010 +0530 cifs: define superblock-level cache index objects and register them Define superblock-level cache index objects (managed by cifsTconInfo structs). Each superblock object is created in a server-level index object and in itself an index into which inode-level objects are inserted. The superblock object is keyed by sharename. The UniqueId/IndexNumber is used to validate that the exported share is the same since we accessed it last time. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 8913007e67106597fed4b9dd3787e8dca6915a83 Author: Jeff Layton Date: Tue Jul 6 20:43:08 2010 -0400 cifs: remove unused cifsUidInfo struct Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4ff67b720c02c36e54d55b88c2931879b7db1cd2 Author: Jeff Layton Date: Tue Jul 6 20:43:02 2010 -0400 cifs: clean up cifs_find_smb_ses (try #2) This patch replaces the earlier patch by the same name. The only difference is that MAX_PASSWORD_SIZE has been increased to attempt to match the limits that windows enforces. Do a better job of matching sessions by authtype. Matching by username for a Kerberos session is incorrect, and anonymous sessions need special handling. Also, in the case where we do match by username, we also need to match by password. That ensures that someone else doesn't "borrow" an existing session without needing to know the password. Finally, passwords can be longer than 16 bytes. Bump MAX_PASSWORD_SIZE to 512 to match the size that the userspace mount helper allows. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit daf5b0b6f3f6d7b15c2600426cc6c60a0e155218 Author: Jeff Layton Date: Tue Jul 6 20:43:02 2010 -0400 cifs: match secType when searching for existing tcp session The secType is a per-tcp session entity, but the current routine doesn't verify that it is acceptible when attempting to match an existing TCP session. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4515148ef72bfda4ce3c8754149711d9972867ce Author: Jeff Layton Date: Tue Jul 6 20:43:02 2010 -0400 cifs: move address comparison into separate function Move the address comparator out of cifs_find_tcp_session and into a separate function for cleanliness. Also change the argument to that function to a "struct sockaddr" pointer. Passing pointers to sockaddr_storage is a little odd since that struct is generally for declaring static storage. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 50d971602a6c4bf1abe1f3873686f431d7539dfe Author: Jeff Layton Date: Tue Jul 6 20:43:01 2010 -0400 cifs: set the port in sockaddr in a more clearly defined fashion This patch should replace the patch I sent a couple of weeks ago to set the port in cifs_convert_address. Currently we set this in cifs_find_tcp_session, but that's more of a side effect than anything. Add a new function called cifs_fill_sockaddr. Have it call cifs_convert_address and then set the port. This also allows us to skip passing in the port as a separate parm to cifs_find_tcp_session. Also, change cifs_convert_address take a struct sockaddr * rather than void * to make it clearer how this function should be called. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 488f1d2d6cc9d665c9f09e4b54f77052732e3058 Author: Suresh Jayaraman Date: Mon Jul 5 18:12:15 2010 +0530 cifs: define server-level cache index objects and register them Define server-level cache index objects (as managed by TCP_ServerInfo structs) and register then with FS-Cache. Each server object is created in the CIFS top-level index object and is itself an index into which superblock-level objects are inserted. The server objects are now keyed by {IPaddress,family,port} tuple. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit f579cf3cfd1e19ae5aab6929679d0c04bf1a6284 Author: Suresh Jayaraman Date: Mon Jul 5 18:11:50 2010 +0530 cifs: register CIFS for caching Define CIFS for FS-Cache and register for caching. Upon registration the top-level index object cookie will be stuck to the netfs definition by FS-Cache. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit c21dfb699f35b6b5508fb808bb0ca211a865f2c9 Author: Joe Perches Date: Mon Jul 12 13:50:14 2010 -0700 fs/cifs: Remove unnecessary casts of private_data Signed-off-by: Joe Perches Signed-off-by: Steve French commit 3feb41cff8264e32a4d23ed829c3ed5369035f51 Author: Suresh Jayaraman Date: Mon Jul 5 18:11:33 2010 +0530 cifs: add kernel config option for CIFS Client caching support Add a kernel config option to enable local caching for CIFS. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit c6332e237fb2ee54bc9c614291a006e4801e0f66 Author: Suresh Jayaraman Date: Tue Jul 6 17:59:46 2010 +0530 cifs: remove unused ip_address field in struct TCP_Server_Info The ip_address field is not used and seems redundant as there is union addr already and I don't see any future use as well. Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit e4317ceca2bdf4bf91112a21e60f73b4c5a1a5da Author: Suresh Jayaraman Date: Tue Jul 6 18:00:10 2010 +0530 cifs: remove an potentially confusing, obsolete comment The recent commit 6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13 modified the code so that filp is full instantiated whenever the file is created and passed back. The below comment is no longer true, remove it. Cc: Jeff Layton Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit abd2e44dca2c5d65e047224c6ba4b4c8059f97f8 Author: Suresh Jayaraman Date: Tue Jun 22 20:52:50 2010 +0530 cifs: guard cifsglob.h against multiple inclusion Add conditional compile macros to guard the header file against multiple inclusion. Signed-off-by: Suresh Jayaraman Acked-by: Jeff Layton Signed-off-by: Steve French commit 0809f6ec18bbce54c996f5c36f4b9d371075c98b Author: Steven Whitehouse Date: Mon Aug 2 10:15:17 2010 +0100 GFS2: Fix recovery stuck bug (try #2) This is a clean up of the code which deals with LM_FLAG_NOEXP which aims to remove any possible race conditions by using gl_spin to cover the gap between testing for the LM_FLAG_NOEXP and the GL_FROZEN flag. Signed-off-by: Steven Whitehouse commit 64d4b4c90a876401e503c3a3260e9d0ed066f271 Author: Artem Bityutskiy Date: Fri Jul 30 14:59:50 2010 +0300 UBI: do not warn unnecessarily Currently, when UBI attaches an MTD device and cannot reserve all 1% (by default) of PEBs for bad eraseblocks handling, it prints a warning. However, Matthew L. Creech is not very happy to see this warning, because he did reserve enough of PEB at the beginning, but with time some PEBs became bad. The warning is not necessary in this case. This patch makes UBI print the warning o if this is a new image o of this is used image and the amount of reserved PEBs is only 10% (or less) of the size of the reserved PEB pool. Signed-off-by: Artem Bityutskiy commit 7cdb996ee4d04b5bb2cd544b14e8eb91cfd7fe64 Author: Artem Bityutskiy Date: Fri Jul 30 16:31:38 2010 +0300 UBI: do not print message about corruptes PEBs if we have none of them Currently UBI prints UBI: corrupted PEBs will be formatted even if there are not corrupted PEBs. Fix this. Signed-off-by: Artem Bityutskiy commit 7b70c4275f28702b76b273c8534c38f8313812e9 Merge: ceb0885 a20df56 Author: Russell King Date: Sat Jul 31 14:20:16 2010 +0100 Merge branch 'devel-stable' into devel Conflicts: arch/arm/kernel/entry-armv.S arch/arm/kernel/setup.c arch/arm/mm/init.c commit ceb0885d3b01bb2e2f18765770e212914f2864be Merge: b31fc7a 08458ef Author: Russell King Date: Sat Jul 31 14:20:02 2010 +0100 Merge branch 'misc' into devel Conflicts: arch/arm/mm/init.c commit b31fc7af78e17b0203e1cd5a195c590e8adeae0d Merge: f13b103 4037242 a0fb007 cea0bb1 7d63397 a9deb13 39ae702 f4f5e28 7cfe249 4bd4894 a3e5bb4 Author: Russell King Date: Sat Jul 31 14:19:35 2010 +0100 Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel commit f13b1035ce8bbc27d4ce7c281cddd2718f2cf5b0 Merge: e910b63 5da3e71 Author: Russell King Date: Sat Jul 31 14:19:22 2010 +0100 Merge branch 'shmobile' into devel commit 7cfe249475fdd82ad3c2767a9b906cc775dab868 Author: Russell King Date: Thu Jul 15 10:47:14 2010 +0100 ARM: AMBA: Add pclk support to AMBA bus infrastructure Some platforms gate the pclk (APB - the bus - clock) to the peripherals for power saving, along with the functional clock. When devices are accessed without pclk enabled, the kernel will oops. This gives them two options: 1. Leave all clocks on all the time. 2. Attempt to gate pclk along with the functional clock. (With some hardware, pclk and the functional clock are gated by a single bit in a register.) (1) has the disadvantage that it causes increased power usage, which is bad news for battery operated devices. (2) can lead to kernel oops if registers are accessed without the functional clock being enabled. So, introduce the apb_pclk signal in such a way existing drivers don't need to be updated. Essentially, this means we guarantee that: 1. pclk will be enabled whenever the driver is bound to a device - from probe() to remove() time. 2. pclk will also be enabled when reading the primecell IDs from the device. In order to allow drivers to be incrementally updated to achieve greater power savings, we provide two additional calls to allow drivers to manage the pclk - amba_pclk_enable()/amba_pclk_disable(). Signed-off-by: Russell King commit 06385e490996d885c93fa03ce6e5374e4674a5cb Author: Linus Walleij Date: Fri Jul 30 16:36:25 2010 +0100 ARM: 6278/2: fix regression in RealView after the introduction of pclk The patch to add the apb_pclk to the AMBA/PrimeCell bus broke RealView, since the clockdevice is not registered at probe() time. This moves clock initialization to a core_initcall() [rmk:moved before the problematical commit to avoid bisect problems] Signed-off-by: Linus Walleij Signed-off-by: Russell King commit c639d5d8f69f37e24ed0354373f61fcbde4b9354 Author: Abhijith Das Date: Fri Jul 30 11:34:52 2010 -0400 GFS2: Fix typo in stuffed file data copy handling trunc_start() in bmap.c incorrectly uses sizeof(struct gfs2_inode) instead of sizeof(struct gfs2_dinode). Signed-off-by: Abhi Das Signed-off-by: Steven Whitehouse commit 5da3e714e30d40145f4dd37d79de6bbbcb9e6137 Author: Magnus Damm Date: Thu Jul 29 14:03:04 2010 +0100 ARM: 6277/1: mach-shmobile: Allow users to select HZ, default to 128 Introduce SHMOBILE_TIMER_HZ for SH-Mobile. Allow users to select HZ on their system to minimize potential timer drift. Use 128 Hz as default to work well with the 32768 Hz RCLK. Signed-off-by: Magnus Damm Signed-off-by: Russell King commit 58c7d9d2e6116ec694a5af5b8a0aca1467673899 Author: Magnus Damm Date: Thu Jul 29 13:09:36 2010 +0100 ARM: 6276/1: mach-shmobile: remove duplicate NR_IRQS_LEGACY NR_IRQS_LEGACY is now defined in asm/irq.h, so drop it in mach/irqs.h. Signed-off-by: Magnus Damm Signed-off-by: Russell King commit a20df564d15bd28e3df24e1c65b885bd74d23f17 Merge: d50f58b e69edc79 Author: Russell King Date: Thu Jul 29 22:27:56 2010 +0100 Merge branch 'arm/booting' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel-stable Conflicts: arch/arm/Kconfig commit d50f58bbd979e86378dfdec982452041f0e604ef Merge: 129961e 79d3c2c Author: Russell King Date: Thu Jul 29 15:48:37 2010 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 129961ecaf21c9ee899ad9067d917c1aa172fb7a Merge: 392c57a cccf59a Author: Russell King Date: Thu Jul 29 15:48:02 2010 +0100 Merge branch 'wells/lpc32xx-arch_v2' of git://git.lpclinux.com/linux-2.6-lpc into devel-stable commit 08458ef6eede6cf7d5a33c3a7c8bcdc3943012c2 Author: Rabin Vincent Date: Wed Jul 21 12:55:59 2010 +0100 ARM: 6246/1: mmci: support larger MMCIDATALENGTH register The Ux500 variant has a 24-bit MMCIDATALENGTH register, as opposed to the 16-bit one on the ARM version. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 4380c14fd77338bac9d1da4dc5dd9f6eb4966c82 Author: Rabin Vincent Date: Wed Jul 21 12:55:18 2010 +0100 ARM: 6245/1: mmci: enable hardware flow control on Ux500 variants Although both the U300 and Ux500 use ST variants, the HWFCEN bits are at different positions, so use the variant_data to store the information. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 4956e10903fd3459306dd9438c1e714ba3068a2a Author: Rabin Vincent Date: Wed Jul 21 12:54:40 2010 +0100 ARM: 6244/1: mmci: add variant data and default MCICLOCK support Add a variant_data structure to handle the differences between the various variants of this peripheral. Add a first quirk for a default MCICLOCK value, required on the Ux500 variant where the enable bit needs to be always set, since it controls access to some registers. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit bb8f563c848faa113059973f68c24a3bb6a9585e Author: Rabin Vincent Date: Wed Jul 21 12:53:57 2010 +0100 ARM: 6243/1: mmci: pass power_mode to the translate_vdd callback Platforms may have some external power control which need to be controlled from board specific code. Rename the translate_vdd() callback to vdd_handler() and pass it the power mode. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 7cdee5dbf477409e4afc6c9063492dc2577b41ea Author: Steven Whitehouse Date: Thu Jul 29 14:39:29 2010 +0100 Revert "GFS2: recovery stuck on transaction lock" This reverts commit b7dc2df5725fe7355fd76000ead7e39728e1b8a9. The initial patch didn't quite work since it doesn't cover all the possible routes by which the GLF_FROZEN flag might be set. A revised fix is coming up in the next patch. Signed-off-by: Steven Whitehouse commit f4f5e28d2ee02e3b68da4a8b6156f3b4872d03be Author: wanzongshun Date: Thu Jul 29 03:25:19 2010 +0100 ARM: 6274/1: add global control registers definition header file for nuc900 add global control registers definition header file for nuc900 Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit d5341a92416706808dc5cd847826f28c08063c8c Author: Steven Whitehouse Date: Fri Jul 23 14:05:51 2010 +0100 GFS2: Make "try" lock not try quite so hard This looks like a big change, but in reality its only a single line of actual code change, the rest is just moving a function to before its new caller. The "try" flag for glocks is a rather subtle and delicate setting since it requires that the state machine tries just hard enough to ensure that it has a good chance of getting the requested lock, but no so hard that the request can land up blocked behind another. The patch adds in an additional check which will fail any queued try locks if there is another request blocking the try lock request which is not granted and compatible, nor in progress already. The check is made only after all pending locks which may be granted have been granted. I've checked this with the reproducer for the reported flock bug which this is intended to fix, and it now passes. Signed-off-by: Steven Whitehouse commit 4244b52e18be959ced77b984f268e46a0a7654e3 Author: David Rientjes Date: Tue Jul 20 19:45:03 2010 -0700 GFS2: remove dependency on __GFP_NOFAIL The k[mc]allocs in dr_split_leaf() and dir_double_exhash() are failable, so remove __GFP_NOFAIL from their masks. Cc: Bob Peterson Signed-off-by: David Rientjes Signed-off-by: Steven Whitehouse commit 461cb419f074aab16836a660efb8e855b6c1609c Author: Bob Peterson Date: Thu Jun 24 19:21:20 2010 -0400 GFS2: Simplify gfs2_write_alloc_required Function gfs2_write_alloc_required always returned zero as its return code. Therefore, it doesn't need to return a return code at all. Given that, we can use the return value to return whether or not the dinode needs block allocations rather than passing that value in, which in turn simplifies a bunch of error checking. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit ba6e93645f039bd357e04b7b9d18f4e67757725e Author: Steven Whitehouse Date: Mon Jun 14 10:01:30 2010 +0100 GFS2: Wait for journal id on mount if not specified on mount command line This patch implements a wait for the journal id in the case that it has not been specified on the command line. This is to allow the future removal of the mount.gfs2 helper. The journal id would instead be directly communicated by gfs_controld to the file system. Here is a comparison of the two systems: Current: 1. mount calls mount.gfs2 2. mount.gfs2 connects to gfs_controld to retrieve the journal id 3. mount.gfs2 adds the journal id to the mount command line and calls the mount system call 4. gfs_controld receives the status of the mount request via a uevent Proposed: 1. mount calls the mount system call (no mount.gfs2 helper) 2. gfs_controld receives a uevent for a gfs2 fs which it doesn't know about already 3. gfs_controld assigns a journal id to it via sysfs 4. the mount system call then completes as normal (sending a uevent according to status) The advantage of the proposed system is that it is completely backward compatible with the current system both at the kernel and at the userland levels. The "first" parameter can also be set the same way, with the restriction that it must be set before the journal id is assigned. In addition, if mount becomes stuck waiting for a reply from gfs_controld which never arrives, then it is killable and will abort the mount gracefully. Signed-off-by: Steven Whitehouse commit 30116ff6c6d140bc696cc624e6d8e38f018c886e Author: Steven Whitehouse Date: Mon Jun 14 09:58:41 2010 +0100 GFS2: Use nobh_writepage Use nobh_writepage rather than calling mpage_writepage directly. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit cccf59abea4e1c36322e365d6e61ff7de1f3ee07 Merge: fc0f5ac 4080594 Author: Kevin Wells Date: Wed Jul 28 03:38:52 2010 -0700 Merge branch 'test' of ../test/linux-2.6-lpc2 into wells/lpc32xx-arch_v2 commit 79d3c2c2395a89a70d25f0c77c11afc87efab89b Author: Baruch Siach Date: Tue Jul 27 08:03:30 2010 +0300 mx2_camera: fix type of dma buffer virtual address pointer Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 2066930de6296ef7470de11eaa9b8bc9129721e8 Author: Baruch Siach Date: Sun Jul 4 07:55:10 2010 +0300 mx2_camera: Add soc_camera support for i.MX25/i.MX27 This is the soc_camera support developed by Sascha Hauer for the i.MX27. Alan Carvalho de Assis modified the original driver to get it working on more recent kernels. I modified it further to add support for i.MX25. This driver has been tested on i.MX25 and i.MX27 based platforms. Signed-off-by: Baruch Siach Acked-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 14cb0deb66fcfca8fdbef75da8c84b5405a8c767 Author: Baruch Siach Date: Tue Jul 6 14:03:22 2010 +0300 arm/imx/gpio: add spinlock protection The GPIO registers need protection from concurrent access for operations that are not atomic. Cc: stable@kernel.org Cc: Juergen Beisert Cc: Daniel Mack Reported-by: rpkamiak@rockwellcollins.com Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 408059495a372f1a9845672e58608fb6d8ec0c40 Author: Kevin Wells Date: Tue Jul 27 08:49:04 2010 -0700 ARM: Add support for the LPC32XX arch Add LPC32XX support in arch/arm/Kconfig and arch/arm/Makefile Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit 680b2862bcc7974c87d666529120a1cfe8fe2f8d Author: Kevin Wells Date: Tue Jul 27 08:46:22 2010 -0700 ARM: LPC32XX: Arch config menu supoport and makefiles Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit 19d95e1afae11b1a414491fd62e89a47cceadea9 Author: Kevin Wells Date: Tue Jul 27 08:44:37 2010 -0700 ARM: LPC32XX: Phytec 3250 platform support Platform support file for the PHY3250 mach id Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit fc982e1ceaeb4dea3f3f8ceba5b934cee292944a Author: Kevin Wells Date: Tue Jul 27 08:42:46 2010 -0700 ARM: LPC32XX: Misc support functions Misc support functions and prototypes used in the LPC32XX arch and platforms Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit e6e912c4964ce5976e508881207dfa96d5f856d7 Author: Kevin Wells Date: Tue Jul 27 08:42:07 2010 -0700 ARM: LPC32XX: Serial support code Serial port setup support code Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit 3c0e1947d9c171649f3bde13d1010ac6d7ce09c1 Author: Kevin Wells Date: Tue Jul 27 08:35:56 2010 -0700 ARM: LPC32XX: System suspend support Support for system suspend and resume Signed-off-by: Kevin Wells commit c4a0208fff6cba5c7e22166ad7209322eab16bb3 Author: Kevin Wells Date: Fri Feb 26 15:53:41 2010 -0800 ARM: LPC32XX: GPIO, timer, and IRQ drivers Common drivers for the LPC32XX used on all platforms Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit b9cc4bf6656d5f349c283e6ac267b852b7a2e42e Author: Kevin Wells Date: Fri Feb 26 15:53:40 2010 -0800 ARM: LPC32XX: Clock driver Clock driver for the LPC32XX architecture Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit 343d3537917bd74648fa2a360b42f64ad5ec551d Author: Kevin Wells Date: Fri Feb 26 15:53:39 2010 -0800 ARM: LPC32XX: Debug and IRQ macros Debug (printascii) and IRQ handler macros for the LPC32XX arch Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit 437db5903653f6a8a736e77ad5c21a296d74299b Author: Kevin Wells Date: Fri Feb 26 15:53:38 2010 -0800 ARM: LPC32XX: Initial arch header files Header files for the LPC32xx arch Signed-off-by: Kevin Wells Signed-off-by: Uwe Kleine-König commit f5e2574e734650bbeb801a31cc99e628f9a027af Author: Rabin Vincent Date: Wed Jul 21 12:50:31 2010 +0100 ARM: 6239/1: mmci: let core poll for card detection Use the MMC core's ability to poll for card detection. This also has the advantage of doing the gpio_get_value from a workqueue instead of timer, allowing the gpio to be on a sleeping gpiochip. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 528320db013b687c5f0150fd77eb4dc02ca328d1 Author: Rabin Vincent Date: Wed Jul 21 12:49:49 2010 +0100 ARM: 6238/1: mmci: fix multi block transfers Fix the data transfer size to allow multi block transfers to work. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 4ce1d6cbf07271ab8f7cc47c3e27edeac08b58a7 Author: Rabin Vincent Date: Wed Jul 21 12:44:58 2010 +0100 ARM: 6237/1: mmci: use sg_miter API to fix multi-page sg handling The mmci driver's SG list iteration logic assumes that each SG entry spans only one page, and only maps and flushes one page of the sg. This is not a valid assumption. Fix it by converting the driver to the sg_miter API, which correctly handles sgs which span multiple pages. Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 2c39c9e149f45ec15a6985cb06ec8f6d904bb35e Author: Russell King Date: Tue Jul 27 08:50:16 2010 +0100 ARM: Fix section build warnings for AMBA drivers Found in the Versatile build: WARNING: drivers/built-in.o(.data+0x14c): Section mismatch in reference from the variable pl061_gpio_driver to the (unknown reference) .init.data:(unknown) The variable pl061_gpio_driver references the (unknown reference) __initdata (unknown) WARNING: drivers/built-in.o(.data+0x40f8): Section mismatch in reference from the variable pl011_driver to the (unknown reference) .init.data:(unknown) The variable pl011_driver references the (unknown reference) __initdata (unknown) WARNING: drivers/built-in.o(.data+0x5ab4): Section mismatch in reference from the variable pl031_driver to the (unknown reference) .init.data:(unknown) The variable pl031_driver references the (unknown reference) __initdata (unknown) Basically, amba_id structures must not be __initdata. Also fix: WARNING: drivers/built-in.o(.data+0x138): Section mismatch in reference from the variable pl061_gpio_driver to the function .init.text:pl061_probe() The variable pl061_gpio_driver references the function __init pl061_probe() which is an incorrectly annotated probe function. Fix it to reflect the other AMBA bus probe functions by removing the __init attributation. Signed-off-by: Russell King commit 3d3f78d752bfada5b6041f2f7bd0833d8bdf7a4a Author: Russell King Date: Mon Jul 26 13:31:27 2010 +0100 ARM: call machine_shutdown() from machine_halt(), etc x86 calls machine_shutdown() from the various machine_*() calls which take the machine down ready for halting, restarting, etc, and uses this to bring the system safely to a point where those actions can be performed. Such actions are stopping the secondary CPUs. So, change the ARM implementation of these to reflect what x86 does. This solves kexec problems on ARM SMP platforms, where the secondary CPUs were left running across the kexec call. Signed-off-by: Russell King commit 5388a6b266e9c3357353332ba0cd5549082887f1 Author: Russell King Date: Mon Jul 26 13:19:43 2010 +0100 ARM: SMP: Always enable clock event broadcast support The TWD local timers are unable to wake up the CPU when it is placed into a low power mode, eg. C3. Therefore, we need to adapt things such that the TWD code can cope with this. We do this by always providing a broadcast tick function, and marking the fact that the TWD local timer will stop in low power modes. This means that when the CPU is placed into a low power mode, the core timer code marks this fact, and allows an IPI to be given to the core. Tested-by: Santosh Shilimkar Signed-off-by: Russell King Cc: Catalin Marinas Cc: Thomas Gleixner commit 9ca03a21e320a6bf44559323527aba704bcc8772 Author: Russell King Date: Mon Jul 26 12:22:12 2010 +0100 ARM: Factor out common code from cpu_proc_fin() All implementations of cpu_proc_fin() start by disabling interrupts and then flush caches. Rather than have every processors proc_fin() implementation do this, move it out into generic code - and move the cache flush past setup_mm_for_reboot() (so it can benefit from having caches still enabled.) This allows cpu_proc_fin() to become independent of the L1/L2 cache types, and eventually move the L2 cache flushing into the L2 support code. Signed-off-by: Russell King commit b8ab5397bcbd92e3fd4a9770e0bf59315fa38dab Author: Kirill A. Shutemov Date: Mon Jul 26 11:20:41 2010 +0100 ARM: 6268/1: ARMv6K and ARMv7 use fault statuses 3 and 6 as Access Flag fault Statuses 3 (0b00011) and 6 (0x00110) of DFSR are Access Flags faults on ARMv6K and ARMv7. Let's patch fsr_info[] at runtime if we are on ARMv7 or later. Unfortunately, we don't have runtime check for 'K' extension, so we can't check for it. Signed-off-by: Kirill A. Shutemov Signed-off-by: Russell King commit 993bf4ec8c2a2b7979389ab196bf2fe217117158 Author: Kirill A. Shutemov Date: Thu Jul 22 13:23:25 2010 +0100 ARM: 6256/1: Check arch version and modify fsr_info[] depends on it at runtime Signed-off-by: Kirill A. Shutemov Signed-off-by: Russell King commit 33a9c41bf5d8adae9d882513e617c4c645195e71 Author: Kirill A. Shutemov Date: Thu Jul 22 13:20:22 2010 +0100 ARM: 6255/1: Workaround infinity loop in handling of translation faults On ARM one Linux PGD entry contains two hardware entries (see page tables layout in pgtable.h). We normally guarantee that we always fill both L1 entries. But create_mapping() doesn't follow the rule. It can create inidividual L1 entries, so here we have to call pmd_none() check in do_translation_fault() for the entry really corresponded to address, not for the first of pair. Signed-off-by: Kirill A. Shutemov Signed-off-by: Russell King commit 6338a6aa7c082f11d55712251e14178c68bf5869 Author: Kirill A. Shutemov Date: Thu Jul 22 13:18:19 2010 +0100 ARM: 6269/1: Add 'code' parameter for hook_fault_code() Add one more parameter to hook_fault_code() to be able to set 'code' field of struct fsr_info. Signed-off-by: Kirill A. Shutemov Signed-off-by: Russell King commit 3dc91aff9c3ef54b15cdaf32f61f973489fe69eb Author: Kirill A. Shutemov Date: Thu Jul 22 13:16:49 2010 +0100 ARM: 6252/1: Use SIGBUS for unaligned access instead of SIGILL POSIX specify to use signal SIGBUS with code BUS_ADRALN for invalid address alignment. Signed-off-by: Kirill A. Shutemov Signed-off-by: Russell King commit c1ba6ba3dd4c127dd1b14125ac7feed43d974436 Author: eric miao Date: Thu Jul 22 09:55:53 2010 +0100 ARM: 6251/1: Make SPARSE_IRQ a hidden option SPARSE_IRQ doesn't need to be a visible option, only those platforms supporting that will select it. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5bc23d32d86a132b5636a48dca0fa2528ef69ff9 Author: Russell King Date: Sun Jul 25 08:57:02 2010 +0100 ARM: DMA coherent allocator: align remapped addresses The DMA coherent remap area is used to provide an uncached mapping of memory for coherency with DMA engines. Currently, we look for any free hole which our allocation will fit in with page alignment. However, this can lead to fragmentation of the area, and allows small allocations to cross L1 entry boundaries. This is undesirable as we want to move towards allocating sections of memory. Align allocations according to the size, limiting the alignment between the page and section sizes. Signed-off-by: Russell King commit d746196361c9c635128249bb6cf13e709ae6abe1 Author: Russell King Date: Mon Jul 26 10:29:13 2010 +0100 ARM: use generic ioremap_page_range() We don't need our own implementation of this, use the generic library implementation instead. Signed-off-by: Russell King commit ac3e3fb424d44109dda3b1a3459e1b30fa60ac4a Author: Linus Walleij Date: Wed Jun 2 20:40:22 2010 +0100 ARM: 6158/2: PL011 baudrate extension for ST-Ericssons derivative Implementation of the ST-Ericsson baudrate extension in the PL011 block. In this modified variant it is possible to change the sampling factor from 16 to 8, and thanks to this we can get higher baudrates while still using the same peripheral clock. Also replace the simple division to determine the baud divisor with DIV_ROUND_CLOSEST() rather than a simple integer division. Cc: Alessandro Rubini Cc: Jerzy Kasenberg Signed-off-by: Marcin Mielczarczyk Signed-off-by: Linus Walleij Signed-off-by: Russell King commit ec489aa8f993f8d2ec962ce113071faac482aa27 Author: Linus Walleij Date: Wed Jun 2 08:13:52 2010 +0100 ARM: 6157/2: PL011 TX/RX split of LCR for ST-Ericssons derivative In the ST-Ericsson version of the PL011 the TX and RX have different control registers. Cc: Alessandro Rubini Signed-off-by: Marcin Mielczarczyk Signed-off-by: Linus Walleij Signed-off-by: Russell King commit c58bbd39f876955be6e072748fdfe2b671f9d939 Author: Will Deacon Date: Thu Jul 8 10:59:59 2010 +0100 ARM: 6213/1: atomic64_test: add ARM as supported architecture ARM has support for the atomic64_dec_if_positive operation so ensure that it is tested by the atomic64_test routine. Acked-by: Nicolas Pitre Signed-off-by: Will Deacon Signed-off-by: Russell King commit 4708ac49305bbcd511600d4af71a4c6dca15af65 Merge: 1dbd30e 2f7989e Author: Russell King Date: Tue Jul 27 10:42:48 2010 +0100 Merge branch 'origin' into misc commit 1dbd30e9890fd69e50b17edd70ca583546b0fe4e Author: Linus Walleij Date: Mon Jul 12 21:53:28 2010 +0100 ARM: 6225/1: make TCM allocation static and common for all archs This changes the TCM handling so that a fixed area is reserved at 0xfffe0000-0xfffeffff for TCM. This areas is used by XScale but XScale does not have TCM so the mechanisms are mutually exclusive. This change is needed to make TCM detection more dynamic while still being able to compile code into it, and is a must for the unified ARM goals: the current TCM allocation at different places in memory for each machine would be a nightmare if you want to compile a single image for more than one machine with TCM so it has to be nailed down in one place. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit a3e5bb42898d10cff1d054d4b115d4dd608c0566 Author: Russell King Date: Tue Jul 27 08:59:55 2010 +0100 ARM: Versatile: fix section mismatch WARNING: vmlinux.o(.text+0xbf38): Section mismatch in reference from the function pci_versatile_scan_bus() to the function .devinit.text:pci_scan_bus_parented() The function pci_versatile_scan_bus() references the function __devinit pci_scan_bus_parented(). Signed-off-by: Russell King commit a9deb137e4eb94d0a4fa0c3535b2c056d9363bef Author: Russell King Date: Thu Jul 1 18:35:07 2010 +0100 ARM: Remove unnecessary call to find_limits() Signed-off-by: Russell King commit e07b9e08601b400aee7e076e7b31799d3dd48c1e Author: Russell King Date: Thu Jul 1 12:03:29 2010 +0100 ARM: LMB: convert pfn_valid to use LMB Signed-off-by: Russell King commit eda2e5dcc914b4d70f665443efc9780e89a5e5c1 Author: Russell King Date: Thu Jul 1 12:00:57 2010 +0100 ARM: LMB: Convert arm_memory_present() to use LMB memory information Signed-off-by: Russell King commit 98864ff58dd2b8ef9e72b0d2c70f34e7ff24a2ee Author: Russell King Date: Sat May 22 23:59:11 2010 +0100 ARM: OMAP: Convert OMAPFB and VRAM SDRAM reservation to LMB Signed-off-by: Russell King commit 8d717a52d1b0959128be5134dd12608e8e4f2115 Author: Russell King Date: Sat May 22 19:47:18 2010 +0100 ARM: Convert platform reservations to use LMB rather than bootmem Signed-off-by: Russell King commit 2778f62056ada442414392d7ccd41188bb631619 Author: Russell King Date: Fri Jul 9 16:27:52 2010 +0100 ARM: initial LMB trial Acked-by: Tony Lindgren Signed-off-by: Russell King commit 4bb2e27db10abc555dfabd73661485fb75e4e97d Author: Russell King Date: Thu Jul 1 18:33:29 2010 +0100 ARM: early_pte_alloc() Provide a common function for allocating early PTE tables. Signed-off-by: Russell King commit 39ae702cd3b8b9d30693b73ad1a3d74c799b5b1a Author: Rabin Vincent Date: Mon Jul 26 11:12:15 2010 +0100 ARM: 6267/1: mop500: add AB8500 interrupt support Add the platform data to enable AB8500 interrupt support. Acked-by: Linus Walleij Acked-by: Srinidhi Kasagar Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 209fb87a259ead17e966627b7f053d16a96898da Author: Christoph Hellwig Date: Sun Jul 18 21:17:11 2010 +0000 xfs simplify and speed up direct I/O completions Our current handling of direct I/O completions is rather suboptimal, because we defer it to a workqueue more often than needed, and we perform a much to aggressive flush of the workqueue in case unwritten extent conversions happen. This patch changes the direct I/O reads to not even use a completion handler, as we don't bother to use it at all, and to perform the unwritten extent conversions in caller context for synchronous direct I/O. For a small I/O size direct I/O workload on a consumer grade SSD, such as the untar of a kernel tree inside qemu this patch gives speedups of about 5%. Getting us much closer to the speed of a native block device, or a fully allocated XFS file. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit fb511f2150174b18b28ad54708c1adda0df39b17 Author: Christoph Hellwig Date: Sun Jul 18 21:17:10 2010 +0000 xfs: move aio completion after unwritten extent conversion If we write into an unwritten extent using AIO we need to complete the AIO request after the extent conversion has finished. Without that a read could race to see see the extent still unwritten and return zeros. For synchronous I/O we already take care of that by flushing the xfsconvertd workqueue (which might be a bit of overkill). To do that add iocb and result fields to struct xfs_ioend, so that we can call aio_complete from xfs_end_io after the extent conversion has happened. Note that we need a new result field as io_error is used for positive errno values, while the AIO code can return negative error values and positive transfer sizes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 40e2e97316af6e62affab7a392e792494b8d9dde Author: Christoph Hellwig Date: Sun Jul 18 21:17:09 2010 +0000 direct-io: move aio_complete into ->end_io Filesystems with unwritten extent support must not complete an AIO request until the transaction to convert the extent has been commited. That means the aio_complete calls needs to be moved into the ->end_io callback so that the filesystem can control when to call it exactly. This makes a bit of a mess out of dio_complete and the ->end_io callback prototype even more complicated. Signed-off-by: Christoph Hellwig Reviewed-by: Jan Kara Signed-off-by: Alex Elder commit 696123fca877905696591829c97a2cef11c8d048 Author: Dave Chinner Date: Mon Jul 26 13:51:46 2010 -0500 xfs: fix big endian build Commit 0fd7275cc42ab734eaa1a2c747e65479bd1e42af ("xfs: fix gcc 4.6 set but not read and unused statement warnings") failed to convert some code inside XFS_NATIVE_HOST (big endian host code only) and hence fails to build on such machines. Fix it. Signed-off-by: Dave Chinner Signed-off-by: Alex Elder commit ecd7f082d68d7fb1c96bcf72071aa85db9c00ddf Author: Christoph Hellwig Date: Thu Jul 22 12:52:08 2010 +1000 xfs: clean up xfs_bmap_get_bp Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 5d18898b20dfed5f373f8a9a7cbe01446036f8e9 Author: Christoph Hellwig Date: Tue Jul 20 17:51:31 2010 +1000 xfs: simplify xfs_truncate_file xfs_truncate_file is only used for truncating quota files. Move it to xfs_qm_syscalls.c so it can be marked static and take advatange of the fact by removing the unused page cache validation and taking the iget into the helper. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 939d723b721eef71060201738653a73443ff4510 Author: Christoph Hellwig Date: Tue Jul 20 17:51:16 2010 +1000 xfs: kill the b_strat callback in xfs_buf The b_strat callback is used by xfs_buf_iostrategy to perform additional checks before submitting a buffer. It is used in xfs_bwrite and when writing out delayed buffers. In xfs_bwrite it we can de-virtualize the call easily as b_strat is set a few lines above the call to xfs_buf_iostrategy. For the delayed buffers the rationale is a bit more complicated: - there are three callers of xfs_buf_delwri_queue, which places buffers on the delwri list: (1) xfs_bdwrite - this sets up b_strat, so it's fine (2) xfs_buf_iorequest. None of the callers can have XBF_DELWRI set: - xlog_bdstrat is only used for log buffers, which are never delwri - _xfs_buf_read explicitly clears the delwri flag - xfs_buf_iodone_work retries log buffers only - xfsbdstrat - only used for reads, superblock writes without the delwri flag, log I/O and file zeroing with explicitly allocated buffers. - xfs_buf_iostrategy - only calls xfs_buf_iorequest if b_strat is not set (3) xfs_buf_unlock - only puts the buffer on the delwri list if the DELWRI flag is already set. The DELWRI flag is only ever set in xfs_bwrite, xfs_buf_iodone_callbacks, or xfs_trans_log_buf. For xfs_buf_iodone_callbacks and xfs_trans_log_buf we require an initialized buf item, which means b_strat was set to xfs_bdstrat_cb in xfs_buf_item_init. Conclusion: we can just get rid of the callback and replace it with explicit calls to xfs_bdstrat_cb. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit a64afb057b607c04383ab5fb53c51421ba18c434 Author: Christoph Hellwig Date: Tue Jul 20 17:50:52 2010 +1000 xfs: remove obsolete osyncisosync mount option Since Linux 2.6.33 the kernel has support for real O_SYNC, which made the osyncisosync option a no-op. Warn the users about this and remove the mount flag for it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 0664ce8d0fde731d76fa7e86b3afb54f3a6830ff Author: Christoph Hellwig Date: Tue Jul 20 17:31:01 2010 +1000 xfs: clean up filestreams helpers Move xfs_filestream_peek_ag, xxfs_filestream_get_ag and xfs_filestream_put_ag from xfs_filestream.h to xfs_filestream.c where it's only callers are, and remove the inline marker while we're at it to let the compiler decide on the inlining. Also don't return a value from xfs_filestream_put_ag because we don't need it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 73523a2ecf03f0bfe7c36c244aff8a2ef2208a4a Author: Christoph Hellwig Date: Tue Jul 20 17:54:45 2010 +1000 xfs: fix gcc 4.6 set but not read and unused statement warnings [hch: dropped a few hunks that need structural changes instead] Signed-off-by: Andi Kleen Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit 0f1a932f5d4d6ee71afb141914e2d5f11f27eee1 Author: Tony Luck Date: Tue Jul 20 17:54:41 2010 +1000 xfs: Fix build when CONFIG_XFS_POSIX_ACL=n When CONFIG_XFS_POSIX_ACL is not set "xfs_check_acl" is #defined to NULL - which breaks the code attempting to add a tracepoint on this function. Only define the tracepoint when the function exists. Signed-off-by: Tony Luck Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit 3f34885cd7c6a3f4deea48e3bbc704d91d5704f4 Author: Kulikov Vasiliy Date: Tue Jul 20 17:54:28 2010 +1000 xfs: fix unsigned underflow in xfs_free_eofblocks map_len is unsigned. Checking map_len <= 0 is buggy when it should be below zero. So, check exact expression instead of map_len. Signed-off-by: Kulikov Vasiliy Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit aea1b9532143218f8599ecedbbd6bfbf812385e1 Author: Dave Chinner Date: Tue Jul 20 17:54:12 2010 +1000 xfs: use GFP_NOFS for page cache allocation Avoid a lockdep warning by preventing page cache allocation from recursing back into the filesystem during memory reclaim. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Dave Chinner commit 4a7edddcb5b14ddb5962e6906b6fd6b500d7a361 Author: Dave Chinner Date: Tue Jul 20 17:53:59 2010 +1000 xfs: fix memory reclaim recursion deadlock on locked inode buffer Calling into memory reclaim with a locked inode buffer can deadlock if memory reclaim tries to lock the inode buffer during inode teardown. Convert the relevant memory allocations to use KM_NOFS to avoid this deadlock condition. Reported-by: Peter Watkins Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Dave Chinner commit 438697064aaa2f64e0fcc6586582a3e7ec36005b Author: Dave Chinner Date: Tue Jul 20 17:53:44 2010 +1000 xfs: fix xfs_trans_add_item() lockdep warnings xfs_trans_add_item() is called with ip->i_ilock held, which means it is unsafe for memory reclaim to recurse back into the filesystem (ilock is required in writeback). Hence the allocation needs to be KM_NOFS to avoid recursion. Lockdep report indicating memory allocation being called with the ip->i_ilock held is as follows: [ 1749.866796] ================================= [ 1749.867788] [ INFO: inconsistent lock state ] [ 1749.868327] 2.6.35-rc3-dgc+ #25 [ 1749.868741] --------------------------------- [ 1749.868741] inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage. [ 1749.868741] dd/2835 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 1749.868741] (&(&ip->i_lock)->mr_lock){++++?.}, at: [] xfs_ilock+0x10b/0x190 [ 1749.868741] {IN-RECLAIM_FS-W} state was registered at: [ 1749.868741] [] __lock_acquire+0x437/0x1450 [ 1749.868741] [] lock_acquire+0xa6/0x160 [ 1749.868741] [] down_write_nested+0x65/0xb0 [ 1749.868741] [] xfs_ilock+0x10b/0x190 [ 1749.868741] [] xfs_reclaim_inode+0x99/0x310 [ 1749.868741] [] xfs_inode_ag_walk+0x8b/0x150 [ 1749.868741] [] xfs_inode_ag_iterator+0x8b/0xf0 [ 1749.868741] [] xfs_reclaim_inode_shrink+0x88/0x90 [ 1749.868741] [] shrink_slab+0x137/0x1a0 [ 1749.868741] [] balance_pgdat+0x421/0x6a0 [ 1749.868741] [] kswapd+0x11d/0x320 [ 1749.868741] [] kthread+0x96/0xa0 [ 1749.868741] [] kernel_thread_helper+0x4/0x10 [ 1749.868741] irq event stamp: 4234335 [ 1749.868741] hardirqs last enabled at (4234335): [] kmem_cache_free+0x115/0x220 [ 1749.868741] hardirqs last disabled at (4234334): [] kmem_cache_free+0x3d/0x220 [ 1749.868741] softirqs last enabled at (4233112): [] __do_softirq+0x142/0x260 [ 1749.868741] softirqs last disabled at (4233095): [] call_softirq+0x1c/0x50 [ 1749.868741] [ 1749.868741] other info that might help us debug this: [ 1749.868741] 2 locks held by dd/2835: [ 1749.868741] #0: (&(&ip->i_iolock)->mr_lock#2){+.+.+.}, at: [] xfs_ilock_nowait+0xed/0x200 [ 1749.868741] #1: (&(&ip->i_lock)->mr_lock){++++?.}, at: [] xfs_ilock+0x10b/0x190 [ 1749.868741] [ 1749.868741] stack backtrace: [ 1749.868741] Pid: 2835, comm: dd Not tainted 2.6.35-rc3-dgc+ #25 [ 1749.868741] Call Trace: [ 1749.868741] [] print_usage_bug+0x18a/0x190 [ 1749.868741] [] ? save_stack_trace+0x2f/0x50 [ 1749.868741] [] ? check_usage_backwards+0x0/0xf0 [ 1749.868741] [] mark_lock+0x331/0x400 [ 1749.868741] [] mark_held_locks+0x67/0x90 [ 1749.868741] [] lockdep_trace_alloc+0xa1/0xe0 [ 1749.868741] [] kmem_cache_alloc+0x39/0x1e0 [ 1749.868741] [] kmem_zone_alloc+0x94/0xe0 [ 1749.868741] [] kmem_zone_zalloc+0x1e/0x50 [ 1749.868741] [] xfs_trans_add_item+0x72/0xb0 [ 1749.868741] [] xfs_trans_ijoin+0xa1/0xd0 [ 1749.868741] [] xfs_itruncate_finish+0x312/0x5d0 [ 1749.868741] [] xfs_free_eofblocks+0x227/0x280 [ 1749.868741] [] xfs_release+0x138/0x190 [ 1749.868741] [] xfs_file_release+0x15/0x20 [ 1749.868741] [] fput+0x13f/0x260 [ 1749.868741] [] filp_close+0x52/0x80 [ 1749.868741] [] sys_close+0xb9/0x120 [ 1749.868741] [] system_call_fastpath+0x16/0x1b Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Dave Chinner commit 2f11feabb19748c0ffa2eb82d438e8a91b9f6ea0 Author: Dave Chinner Date: Tue Jul 20 17:53:25 2010 +1000 xfs: simplify and remove xfs_ireclaim xfs_ireclaim has to get and put te pag structure because it is only called with the inode to reclaim. The one caller of this function already has a reference on the pag and a pointer to is, so move the radix tree delete to the caller and remove xfs_ireclaim completely. This avoids a xfs_perag_get/put on every inode being reclaimed. The overhead was noticed in a bug report at: https://bugzilla.kernel.org/show_bug.cgi?id=16348 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Dave Chinner commit ec53d1dbb3ca960e7b552397613358ba1dbd12bd Author: Dave Chinner Date: Tue Jul 20 17:52:59 2010 +1000 xfs: don't block on buffer read errors xfs_buf_read() fails to detect dispatch errors before attempting to wait on sychronous IO. If there was an error, it will get stuck forever, waiting for an I/O that was never started. Make sure the error is detected correctly. Further, such a failure can leave locked pages in the page cache which will cause a later operation to hang on the page. Ensure that we correctly process pages in the buffers when we get a dispatch error. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner commit a4190f90b4e22bde8b01b0086e00dd95439e2edd Author: Dave Chinner Date: Mon Jul 12 06:40:58 2010 +0000 xfs: move inode shrinker unregister even earlier I missed Dave Chinner's second revision of this change, and pushed his first version out to the repository instead. commit a476c59ebb279d738718edc0e3fb76aab3687114 Author: Dave Chinner This commit compensates for that by moving a block of code up a bit further, with a result that matches the the effect of Dave's second version. Dave's first version was: Reviewed-by: Eric Sandeen Dave's second version was: Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder Reviewed-by: Eric Sandeen commit fa17b25e9f95375081b43a741cf1c188682ec588 Author: Christoph Hellwig Date: Sat Jul 3 09:21:17 2010 +0000 xfs: remove a dmapi leftover The open_exec file operation is only added by the external dmapi patch. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 78558fe8d8326b2395da33456cd9eec57ffc081a Author: Christoph Hellwig Date: Mon Jun 28 10:34:57 2010 -0400 xfs: writepage always has buffers These days we always have buffers thanks to ->page_mkwrite. And we already have an assert a few lines above tripping in case that was not true due to a bug. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit d4f7a5cbd5449a3d2097f601f588886ea7b70dc3 Author: Christoph Hellwig Date: Mon Jun 28 10:34:44 2010 -0400 xfs: allow writeback from kswapd We only need disable I/O from direct or memcg reclaim. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 651701d71da4dc0ac607f17a638e77906f0d280e Author: Christoph Hellwig Date: Mon Jun 28 10:34:34 2010 -0400 xfs: remove incorrect log write optimization We do need a barrier for the first buffer of a split log write. Otherwise we might incorrectly stamp the tail LSN into transactions in the first part of the split write, or not flush data I/O before updating the inode size. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 2727ccc950ae17375b15005403e1c35ba8fec1df Author: Dave Chinner Date: Fri Jun 25 11:08:40 2010 +1000 xfs: unregister inode shrinker before freeing filesystem structures Currently we don't remove the XFS mount from the shrinker list until late in the unmount path. By this time, we have already torn down the internals of the filesystem (e.g. the per-ag structures), and hence if the shrinker is executed between the teardown and the unregistering, the shrinker will get NULL per-ag structure pointers and panic trying to dereference them. Fix this by removing the xfs mount from the shrinker list before tearing down it's internal structures. Signed-off-by: Dave Chinner Reviewed-by: Eric Sandeen Signed-off-by: Alex Elder commit cca28fb83d9e60779bb348edc33a62068e5f04a4 Author: Christoph Hellwig Date: Thu Jun 24 11:57:09 2010 +1000 xfs: split xfs_itrace_entry Replace the xfs_itrace_entry catchall with specific trace points. For most simple callers we now use the simple inode class, which used to be the iget class, but add more details tracing for namespace events, which now includes the name of the directory entries manipulated. Remove the xfs_inactive trace point, which is a duplicate of the clear_inode one, and the xfs_change_file_space trace point, which is immediately followed by the more specific alloc/free space trace points. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit f2d6761433d69d94e0b39ac44ef0f0f0b0508065 Author: Christoph Hellwig Date: Thu Jun 24 11:52:50 2010 +1000 xfs: remove xfs_iput xfs_iput is just a small wrapper for xfs_iunlock + IRELE. Having this out of line wrapper means the trace events in those two can't track their caller properly. So just remove the wrapper and opencode the unlock + rele in the few callers. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit ef35e9255d4ed12522e836fbcec861e7306d794a Author: Christoph Hellwig Date: Thu Jun 24 11:51:19 2010 +1000 xfs: remove xfs_iput_new We never get an i_mode of 0 or a locked VFS inode until we pass in the XFS_IGET_CREATE flag to xfs_iget, which makes xfs_iput_new equivalent to xfs_iput for the only caller. In addition to that xfs_nfs_get_inode does not even need to lock the inode given that the generation never changes for a life inode, so just pass a 0 lock_flags to xfs_iget and release the inode using IRELE in the error path. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit d2e078c33c24f97411b0fdd7cd2173e68125e7e3 Author: Christoph Hellwig Date: Thu Jun 24 11:50:22 2010 +1000 xfs: some iget tracing cleanups / fixes The xfs_iget_alloc/found tracepoints are a bit misnamed and misplaced. Rename them to xfs_iget_hit/xfs_iget_miss and move them to the beggining of the xfs_iget_cache_hit/miss functions. Add a new xfs_iget_reclaim_fail tracepoint for the case where we fail to re-initialize a VFS inode, and add a second instance of the xfs_iget_skip tracepoint for the case of a failed igrab() call. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 807cbbdb438d172b87b380eebc1f1c1a5a3549b2 Author: Christoph Hellwig Date: Thu Jun 24 11:49:12 2010 +1000 xfs: do not use emums for flags used in tracing The tracing code can't print flags defined as enums. Most flags that we want to print are defines as macros already, but move the few remaining ones over to make the trace output more useful. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 64c86149410bc62d9ac27a0594b3402a2aca03d8 Author: Christoph Hellwig Date: Thu Jun 24 11:45:34 2010 +1000 xfs: remove explicit xfs_sync_data/xfs_sync_attr calls on umount On the final put of a superblock the VFS already calls sync_filesystem for us to write out all data and wait for it. No need to start another asynchronous writeback inside ->put_super. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit f2bde9b89b4d67c9bc3b963cb996f449ddcd27a4 Author: Christoph Hellwig Date: Thu Jun 24 11:44:35 2010 +1000 xfs: small cleanups for xfs_iomap / __xfs_get_blocks Remove the flags argument to __xfs_get_blocks as we can easily derive it from the direct argument, and remove the unused BMAPI_MMAP flag. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 3070451eea1ed8e3bde0573183c7d8ac25fd5e97 Author: Christoph Hellwig Date: Thu Jun 24 11:42:19 2010 +1000 xfs: reduce stack usage in xfs_iomap xfs_iomap passes a xfs_bmbt_irec pointer to xfs_iomap_write_direct and xfs_iomap_write_allocate to give them the results of our read-only xfs_bmapi query. Instead of allocating a new xfs_bmbt_irec on stack for the next call to xfs_bmapi re use the one we got passed as it's not used after this point. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 7a36c8a98a7dd05756bb147be2ac350325ff5830 Author: Christoph Hellwig Date: Thu Jun 24 11:39:25 2010 +1000 xfs: avoid synchronous transaction in xfs_fs_write_inode We already rely on the fact that the sync code will cause a synchronous log force later on (currently via xfs_fs_sync_fs -> xfs_quiesce_data -> xfs_sync_data), so no need to do this here. This allows us to avoid a lot of synchronous log forces during sync, which pays of especially with delayed logging enabled. Some compilebench numbers that show this: xfs (delayed logging, 256k logbufs) =================================== intial create 25.94 MB/s 25.75 MB/s 25.64 MB/s create 8.54 MB/s 9.12 MB/s 9.15 MB/s patch 2.47 MB/s 2.47 MB/s 3.17 MB/s compile 29.65 MB/s 30.51 MB/s 27.33 MB/s clean 90.92 MB/s 98.83 MB/s 128.87 MB/s read tree 11.90 MB/s 11.84 MB/s 8.56 MB/s read compiled 28.75 MB/s 29.96 MB/s 24.25 MB/s delete tree 8.39 seconds 8.12 seconds 8.46 seconds delete compiled 8.35 seconds 8.44 seconds 5.11 seconds stat tree 6.03 seconds 5.59 seconds 5.19 seconds stat compiled tree 9.00 seconds 9.52 seconds 8.49 seconds xfs + write_inode log_force removal =================================== intial create 25.87 MB/s 25.76 MB/s 25.87 MB/s create 15.18 MB/s 14.80 MB/s 14.94 MB/s patch 3.13 MB/s 3.14 MB/s 3.11 MB/s compile 36.74 MB/s 37.17 MB/s 36.84 MB/s clean 226.02 MB/s 222.58 MB/s 217.94 MB/s read tree 15.14 MB/s 15.02 MB/s 15.14 MB/s read compiled tree 29.30 MB/s 29.31 MB/s 29.32 MB/s delete tree 6.22 seconds 6.14 seconds 6.15 seconds delete compiled tree 5.75 seconds 5.92 seconds 5.81 seconds stat tree 4.60 seconds 4.51 seconds 4.56 seconds stat compiled tree 4.07 seconds 3.87 seconds 3.96 seconds In addition to that also remove the delwri inode flush that is unessecary now that bulkstat is always coherent. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 20cb52ebd1b5ca6fa8a5d9b6b1392292f5ca8a45 Author: Christoph Hellwig Date: Thu Jun 24 09:46:01 2010 +1000 xfs: simplify xfs_vm_writepage The writepage implementation in XFS still tries to deal with dirty but unmapped buffers which used to caused by writes through shared mmaps. Since the introduction of ->page_mkwrite these can't happen anymore, so remove the code dealing with them. Note that the all_bh variable which causes us to start I/O on all buffers on the pages was controlled by the count of unmapped buffers, which also included those not actually dirty. It's now unconditionally initialized to 0 but set to 1 for the case of small file size extensions. It probably can be removed entirely, but that's left for another patch. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 89f3b363967a958e756a549c8747c1fb9c930c1a Author: Christoph Hellwig Date: Thu Jun 24 09:45:48 2010 +1000 xfs: simplify xfs_vm_releasepage Currently the xfs releasepage implementation has code to deal with converting delayed allocated and unwritten space. But we never get called for those as we always convert delayed and unwritten space when cleaning a page, or drop the state from the buffers in block_invalidatepage. We still keep a WARN_ON on those cases for now, but remove all the case dealing with it, which allows to fold xfs_page_state_convert into xfs_vm_writepage and remove the !startio case from the whole writeback path. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 3d9b02e3c76531687ab5314e0edf266256f13c2d Author: Eric Sandeen Date: Thu Jun 24 09:45:30 2010 +1000 xfs: fix corruption case for block size < page size xfstests 194 first truncats a file back and then extends it again by truncating it to a larger size. This causes discard_buffer to drop the mapped, but not the uptodate bit and thus creates something that xfs_page_state_convert takes for unmapped space created by mmap because it doesn't check for the dirty bit, which also gets cleared by discard_buffer and checked by other ->writepage implementations like block_write_full_page. Handle this kind of buffers early, and unlike Eric's first version of the patch simply ASSERT that the buffers is dirty, given that the mmap write case can't happen anymore since the introduction of ->page_mkwrite. The now dead code dealing with that will be deleted in a follow on patch. Signed-off-by: Eric Sandeen Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit b4e9181e772b0c8b9038c5822ead368b96c2b533 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: remove unused delta tracking code in xfs_bmapi This code was introduced four years ago in commit 3e57ecf640428c01ba1ed8c8fc538447ada1715b without any review and has been unused since. Remove it just as the rest of the code introduced in that commit to reduce that stack usage and complexity in this central piece of code. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit cd8b0bb3c49d0691e9e7b4cf19e21ca63b92c053 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: remove unused XFS_BMAPI_ flags Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit a59f55703c3725b2fa582924f51db62b58be05bb Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: remove the unused XFS_TRANS_NOSLEEP/XFS_TRANS_WAIT flags Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 9134c2332ecb9154860669d778ef2808f06503ec Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: remove the unused XFS_LOG_SLEEP and XFS_LOG_NOSLEEP flags Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit dbb2f6529feeee8f4de77849edeee2e60c40c805 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: kill the unused xlog_debug variable Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 4e0d5f926b80b06234a4ed664d6ae8c54fb08c4b Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: fix the xfs_log_iovec i_addr type By making this member a void pointer we can get rid of a lot of pointless casts. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 898621d5a72c6799a9a13fce20443b4b6699899c Author: Christoph Hellwig Date: Thu Jun 24 11:36:58 2010 +1000 xfs: simplify inode to transaction joining Currently we need to either call IHOLD or xfs_trans_ihold on an inode when joining it to a transaction via xfs_trans_ijoin. This patches instead makes xfs_trans_ijoin usable on it's own by doing an implicity xfs_trans_ihold, which also allows us to drop the third argument. For the case where we want to hold a reference on the inode a xfs_trans_ijoin_ref wrapper is added which does the IHOLD and marks the inode for needing an xfs_iput. In addition to the cleaner interface to the caller this also simplifies the implementation. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 4d16e9246fc3b3cf7bc95609eff66929a39daa06 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: simplify buffer pinning Get rid of the xfs_buf_pin/xfs_buf_unpin/xfs_buf_ispin helpers and opencode them in their only callers, just like we did for the inode pinning a while ago. Also remove duplicate trace points - the bufitem tracepoints cover all the information that is present in a buffer tracepoint. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit ca30b2a7b7ac899ac4da6030ccbebf2f137b8e6d Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: give li_cb callbacks the correct prototype Stop the function pointer casting madness and give all the li_cb instances correct prototype. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 7bfa31d8e0f90b65ff23be94fca65ce261b43fc8 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: give xfs_item_ops methods the correct prototypes Stop the function pointer casting madness and give all the xfs_item_ops the correct prototypes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 9412e3181c0ef82efc3d8e88d73e583ec10c34e9 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: merge iop_unpin_remove into iop_unpin The unpin_remove item operation instances always share most of the implementation with the respective unpin implementation. So instead of keeping two different entry points add a remove flag to the unpin operation and share the code more easily. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit e98c414f9a3134fe7efc56ef8f1d394b54bfd40e Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: simplify log item descriptor tracking Currently we track log item descriptor belonging to a transaction using a complex opencoded chunk allocator. This code has been there since day one and seems to work around the lack of an efficient slab allocator. This patch replaces it with dynamically allocated log item descriptors from a dedicated slab pool, linked to the transaction by a linked list. This allows to greatly simplify the log item descriptor tracking to the point where it's just a couple hundred lines in xfs_trans.c instead of a separate file. The external API has also been simplified while we're at it - the xfs_trans_add_item and xfs_trans_del_item functions to add/ delete items from a transaction have been simplified to the bare minium, and the xfs_trans_find_item function is replaced with a direct dereference of the li_desc field. All debug code walking the list of log items in a transaction is down to a simple list_for_each_entry. Note that we could easily use a singly linked list here instead of the double linked list from list.h as the fastpath only does deletion from sequential traversal. But given that we don't have one available as a library function yet I use the list.h functions for simplicity. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 3400777ff03a3cd4fdbc6cb15676fc7e7ceefc00 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: remove unneeded #include statements Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 288699fecaffa1ef8f75f92020cbb593a772e487 Author: Christoph Hellwig Date: Wed Jun 23 18:11:15 2010 +1000 xfs: drop dmapi hooks Dmapi support was never merged upstream, but we still have a lot of hooks bloating XFS for it, all over the fast pathes of the filesystem. This patch drops over 700 lines of dmapi overhead. If we'll ever get HSM support in mainline at least the namespace events can be done much saner in the VFS instead of the individual filesystem, so it's not like this is much help for future work. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit ef93f1443c014e0d6dd7a5b1e592a02aa266f001 Author: Eric Bénard Date: Fri Jul 23 16:11:19 2010 +0200 i.MX51: add support for cpuimx51 module and its baseboard CPUIMX51 is build around Freescale's i.MX515 and has up to 512MB of RAM, NAND Flash, Ethernet, USB Host with 4 ports hub, USB OTG, ST16554 Quad UART on nCS1, I2C RTC ... MBIMX51 adds LEDS, Keypad, TSC2007 touchscreen controler ... Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 84659ab5851aae05035a41b378c4c9aca2d2aeb4 Author: Jason Wang Date: Tue Jul 13 21:02:42 2010 +0800 imx: move gpio init after to irq init The commit 9a763bf "get rid of mxc_gpio_init" changed gpio_init and irq_init sequence. Usually we will call set_irq_chained_handler in gpio_init functions, this should be called after the irq_init called, otherwise the chained irq can't get propoer irq_chip and this irq will remain masked even we called set_irq_chained_handler. Signed-off-by: Jason Wang Tested-by: Eric Bénard Signed-off-by: Sascha Hauer commit 95afd090752a1f7dab6f4b24b1b0d12593e643bb Author: Eric Bénard Date: Fri Jul 23 14:56:40 2010 +0200 eukrea-baseboards: merge includes in one file as per suggested by Sascha Signed-off-by: Eric Bénard Acked-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 8cd1b5c3d4e686c30404a9a466972e2ee13ada9f Author: Eric Bénard Date: Fri Jul 23 14:56:39 2010 +0200 Fix KConfig warning This patch fixes the following Kconfig warning : "arch/arm/mach-mx25/Kconfig:18:warning: choice value used outside its choice group Signed-off-by: Eric Bénard Acked-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 72fe99f642e09645942ae78539121754b0172ac6 Author: Eric Bénard Date: Fri Jul 23 14:56:38 2010 +0200 mbimxsd baseboards : remove unnecessary include Signed-off-by: Eric Bénard Acked-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit da92e42b11074ec5da8e75fbabcee60c4a50de90 Author: Marc Kleine-Budde Date: Fri Apr 30 00:52:35 2010 +0200 pcm043: register flexcan device Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 61c68502321d94a421f9a2a32f6789ecb27f382d Author: Marc Kleine-Budde Date: Thu Jul 22 11:45:34 2010 +0200 imx: dynamically register flexcan devices for mx25 and mx35 In order to make this patch compile, even if the flexcan driver with it's header defining the platform data isn't merged yet, two ifdefs have been added. They effect that the "imx_add_flexcan" function results in a no-op function if the driver hasn't been activated. These ifdefs can be removed after the flexcan driver has been merged. Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit a7d945a469ee566bde26217362c95f29acfbd14a Author: Marc Kleine-Budde Date: Thu Jul 22 11:41:56 2010 +0200 mx35: add flexcan address Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 757e1e4d5831c67f308b42babac5a4b6a693a25d Author: Marc Kleine-Budde Date: Fri Apr 30 01:19:35 2010 +0200 mx35: adjust flexcan clock definition Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit c3f6a34605db2771886b8eaf1cdf8e8ca3e8350d Author: Marc Kleine-Budde Date: Thu Jul 22 11:41:56 2010 +0200 mx25: add flexcan address and interrupt definition Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit e993ade18fcc5f81b26ec031c166880789a9723b Author: Sascha Hauer Date: Wed Jul 22 17:33:36 2009 +0200 mx25: flexcan clock support Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 6937aabef4dd0ee88fe0e4732f0eb8de612ecbb4 Author: Eric Bénard Date: Tue Jul 20 09:16:13 2010 +0200 iomux-mx51: add 4 pin definitions Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit aa8721431909c9afa611373c7edfb7f514a6ad83 Author: Eric Bénard Date: Wed Jul 21 14:46:11 2010 +0200 i.MX51: handle IRQ for gpio 16..31 The i.MX51 generates 2 IRQ for each GPIO bank : one for gpio 0 to 15 and one for gpio 16 to 31. Actually only the lower IRQ is registered so register the second one. Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 5055d1efc0cb4bd612c78af8fa61316ae49755a9 Author: Eric Bénard Date: Mon Jul 19 09:45:17 2010 +0200 eukrea_mbimx27-baseboard: fix compile when CONFIG_SPI_IMX is disabled the i2c_board_info structure landed into the SPI #if/#endif which is wrong. Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 7a2bb23c149e9f093b2b83c16c25991e32ef4ec3 Author: Eric Bénard Date: Fri Jul 16 15:09:07 2010 +0200 imxfb: add pwmr controlled backlight support Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 7e688f0d77f90c531747afa552d72ea70c2f0803 Author: Eric Bénard Date: Fri Jul 16 15:09:06 2010 +0200 imx25: fix low level debug DEBUG_LL is actually broken on i.MX25, this patch fix it. Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit a7d403cfd1a4c8924874e0f6b600edb7f38684d0 Author: Eric Bénard Date: Thu Jun 17 20:59:07 2010 +0200 mxcmmc: convert to pm_ops and enable/disable clock Signed-off-by: Eric Bénard Cc: s.hauer@pengutronix.de Cc: linux-mmc@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Sascha Hauer commit d5efe2551e3ea88d9446f0d9d073debbb847f6af Author: Jason Wang Date: Wed Jul 14 21:24:54 2010 +0800 mx51_3ds: add keypad support on 3ds platform Add keymaps and imx_keypad device registration for imx51_3ds board. Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit a7ebd93143bc883b51227457e59ec774b1eb6c03 Author: Jason Wang Date: Wed Jul 14 21:24:53 2010 +0800 mx51: add imx_keypad device definition for mx51 platforms add imx_keypad platform device definition and clocks for mx51 platforms. Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit beaac6f32ce484bf141d550bc0f26005782161fe Author: Jason Wang Date: Wed Jul 14 21:24:52 2010 +0800 mx51_3ds: Add support for the imx51 3-stack board 3-stack is a reference board from Freescale for their i.MX51 SoC. Add board definition, Kconfig and Makefile to enable Freescale 3-stack board. Boot tested on a i.MX51 3-stack Rev2.0 board Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit 3fac6cf35806f099fad956d7b4ca76eebb26297e Author: Rogerio Pimentel Date: Fri Jun 25 10:31:33 2010 -0300 mx27_3ds: add support for the keypad mx27_3ds: add support for the keypad Signed-off-by: Rogerio Pimentel Signed-off-by: Sascha Hauer commit c5d38f08ca05c5253cb491a26225bf16bfa54ab1 Author: Jason Wang Date: Thu Jun 24 21:11:29 2010 +0800 mx31_3ds: revert 3ds debug board relate code Because we add a 3ds debug board support in mxc level, we remove those redundant codes from board level. Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit fa94f8dce1459eef1f0f8d5b1e4f26c3f058dec2 Author: Jason Wang Date: Thu Jun 24 21:11:28 2010 +0800 mxc: add common debug board for 3-stack platforms The debug board is little different for all mxc 3-stack(PDK) platforms, it is possible here to add a common implementation to support this board. Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit 2dcf78c0eeae3bd07082821557014f25f02ca2e9 Merge: 6b63226 5109a45 Author: Uwe Kleine-König Date: Wed Jun 30 12:16:24 2010 +0200 Merge branch 'imx/for-2.6.36' of git://git.pengutronix.de/git/ukl/linux-2.6 into HEAD There are some more conflicts than detected by git, namely support for the newly added cpuimx machines needed to be converted to dynamic device registration. Signed-off-by: Uwe Kleine-König Conflicts: arch/arm/mach-imx/Makefile arch/arm/mach-imx/devices.c arch/arm/mach-imx/devices.h arch/arm/mach-imx/eukrea_mbimx27-baseboard.c arch/arm/mach-mx2/Kconfig arch/arm/mach-mx25/Makefile arch/arm/mach-mx25/devices.c arch/arm/plat-mxc/include/mach/mx25.h arch/arm/plat-mxc/include/mach/mxc_nand.h commit 6b6322676add0fa2713d0ec89a28390fd4d907f5 Author: Baruch Siach Date: Thu Jun 24 11:57:03 2010 +0300 mx25: add PWM4 to iomux Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit b04102bd345ccc8aeeff8b5acf999ce9a567d9b0 Author: Baruch Siach Date: Thu Jun 24 11:57:02 2010 +0300 mx25: add iomux defines for UART4 on KPP pins Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 41f634758a73ad2e8554382c5b5edaff011975b9 Author: Fabio Estevam Date: Mon Jun 21 13:33:05 2010 -0700 mx31_3ds: Handle USB OTG GPIO Errors Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit f747847e8f0312ddc50fe7cb7ed4f6399ec154e0 Author: Baruch Siach Date: Mon Jun 21 08:16:00 2010 +0300 mx25: add support for the CSI device Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 94d359586480fd6d22eccec5dc3693d7d0f68928 Author: Baruch Siach Date: Mon Jun 21 08:15:59 2010 +0300 mx27: add support for the CSI device Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit b725abad348d1f4fea8771eb23452eec2b7fe65f Author: Luotao Fu Date: Fri Jun 18 09:23:19 2010 +0200 pca100: clean up GPIO pin multiplexing cleaned up some duplicated mxc_gpio_mode calls and move the correpsonding pin multiplexing either into the initial pin config table or ifdef blocks. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 42216fc59db7dada1d622dfed36e7e56b1b68b04 Author: Luotao Fu Date: Fri Jun 18 09:23:18 2010 +0200 pca100: add framebuffer device support and TFT this one adds the frambuffer device and a TFT panel to the PhyCard-S (pca100) board. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 426ab49b3361474622e492cff949853584e3451f Author: Jason Wang Date: Sat Jun 12 22:22:39 2010 +0800 mxc/iomux: add GPIO bank offset for iomux v3 platforms These GPIO bank offsets are useful when define a gpio number. E.G. when GPIO PORTC pin 6 is used for irq request pin of external expanding device, we can define it like: #define EXP_PARENT_IRQ_PIN (GPIO_PORTC + 6) Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit b3fb53a81c73a78f31c3bddb6037adcb7d223ce4 Author: Jason Wang Date: Sat Jun 12 22:22:38 2010 +0800 mx51/iomux: add UART and GPIO pad definitions for imx51_3ds board Add UART2 CTS/RTS and UART3 RXD/TXD pad definitons for imx51_3ds board, add GPIO_1_6 definiton because this pin is used as a CPLD parent irq request pin on imx51_3ds board. Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit 310894b72b9c8f816bd516b6dd7a0875baa0d981 Author: Jason Wang Date: Sat Jun 12 22:22:37 2010 +0800 mx51/iomux: Fix mux mode and input path for two pads For pad EIM_D27 to work in UART3_RTS mode, the input path should be 3 instead of 0; for pad USBH1_STP to work in GPIO_1_27 mode, the mux value should be 2 instead of 8. Signed-off-by: Jason Wang Signed-off-by: Sascha Hauer commit 68d03da2ae85280b533205ae447f040fbfe47dd3 Author: Amit Kucheria Date: Wed Jun 16 14:00:15 2010 +0300 [PATCH] mxc: Fix pad names for imx51 The pads capable of being used as GPIOs had their pad-name and mode-name switched. Also, fix the following: - Whitespace fixes - Replace IOMUX_CONFIG_ALTn with 'n' Signed-off-by: Amit Kucheria Signed-off-by: Sascha Hauer commit 21744f193d3ee520c252cd9db0bdfac8ed3cd35f Author: Eric Bénard Date: Thu Jun 10 16:07:50 2010 +0200 i.MX35: add cpuimx35 support and its baseboard * cpuimx35 integrates i.MX35, RAM, NAND, Ethernet, I2C RTC, USB Host, USB OTG and I2C touchscreen controller * mbimxsd provides access to LCD, Audio, LED, Switch button, UART ... Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit ac0eb0f3ca3e3fff6ac083ee3a51b98f87d67843 Author: Baruch Siach Date: Thu Jun 10 12:14:32 2010 +0300 mx25: add a comment documenting undocumented IPG clocks The information in the i.MX25 Reference Manual is lacking. Add information from the Freescale BSP. Signed-off-by: Baruch Siach Acked-by: Wolfram Sang Signed-off-by: Sascha Hauer commit fd3c46b3062ac1ce0aa532c81922f9a0e28a6454 Author: Baruch Siach Date: Wed Jun 9 14:07:01 2010 +0300 mx25pdk: register watchdog device Signed-off-by: Baruch Siach Reviewed-by: Wolfram Sang Signed-off-by: Sascha Hauer commit 30816abc212587f8dc75dcfb4ef6d383fbe2d68c Author: Baruch Siach Date: Thu Jun 10 12:32:15 2010 +0300 mx25: add watchdog clock Signed-off-by: Baruch Siach Reviewed-by: Wolfram Sang Signed-off-by: Sascha Hauer commit 6f1fa706fc06dac9ba088e884ec8110475e42704 Author: Eric Bénard Date: Tue Jun 8 11:03:01 2010 +0200 i.MX25: add cpuimx25 module and its baseboard * cpuimx25 integrates i.MX25, RAM, NAND, Ethernet, I2C RTC, USB Host and USB OTG * mbimxsd provides access to LCD, Audio, LED, Switch button, UART ... Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 8402ed30e16c65ad8560ba3293c7cf9c259712eb Author: Eric Bénard Date: Tue Jun 8 11:03:00 2010 +0200 i.MX25: add AUDMUX and SSI support * add clocks for audmux and ssi 1 & 2 * add irq for ssi 1 & 2 * add devices platform for ssi1 & 2 * update audmux-v2 for i.MX25 * add base addresses for audmux & ssi 1 & 2 * add iomux configuration for GPIO for AUD5 port Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 2518507f727e6bf663fd0f276369cbdeb6a0ccc0 Author: Eric Bénard Date: Tue Jun 8 11:02:59 2010 +0200 i.MX25: fix USB gadget support i.MX25's udc port is the same as i.MX35's one Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 4ea0af0275d7340e5a6823c02e6167b8f3e244fd Author: Eric Bénard Date: Tue Jun 8 11:02:58 2010 +0200 i.MX25: fix EHCI support i.MX25's EHCI is the same as i.MX35's one. Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit a6e92b49ae5ef48e1791e5df8368af1fe8b3bd9a Author: Eric Bénard Date: Tue Jun 8 11:02:57 2010 +0200 i.MX25: fix get_rate_otg to return the correct value usb drivers need to get the right value for otg clock so calculate and return it Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 648beaf5bd7072031bddd84bf7bb482ec459a603 Author: Eric Bénard Date: Tue Jun 8 11:02:56 2010 +0200 plat-mxc/ehci.c: add i.MX25 support i.MX25's OTG has the same USBCTRL registers than i.MX35 so reuse most of the i.MX35's defines. Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 5a36c399234d511a347b2be4382c7a55f28c18ba Author: Eric Bénard Date: Tue Jun 8 11:02:55 2010 +0200 MX25: put define for OTG base address in right include the standard place for this define is include/mach/mx25.h Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit f42ae0e9f4996308860d5cee4803337d3ce3c4ae Author: Eric Bénard Date: Tue Jun 1 21:57:44 2010 +0200 i.MX27: add suspend to RAM support Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit e8c74860a724c714fbf041a779d7cfd147145b6f Author: Eric Bénard Date: Sun Jun 20 21:22:54 2010 +0200 eukrea_mbimx27: fix audio support when SOC is compiled as module Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit cbb052c905367e20c11f3b107cfe07e36dd6c8cd Author: Eric Bénard Date: Fri Jun 18 16:19:55 2010 +0200 mach-cpuimx27: fix USB_ULPI build warnings when CONFIG_USB_ULPI is not defined we actually get : warning: 'otg_pdata' defined but not used warning: 'usbh2_pdata' defined but not used Signed-off-by: Eric Bénard Cc: linux-arm-kernel@lists.infradead.org Cc: s.hauer@pengutronix.de Signed-off-by: Sascha Hauer commit 68ef866170dc92fb29e96e85fb6f438839500681 Author: Eric Bénard Date: Tue Jun 8 18:07:05 2010 +0200 i.MX35: return IPU clock's value for mx3fb without this patch, ipu_clk's value is 0 thus preventing mx3fb from calculating the right divisor for pixel clock generator. Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit f00b771a98f1387fc50a8214fa1803049c50451e Author: Dinh Nguyen Date: Thu May 27 10:45:05 2010 -0500 mx5: Register i2c on Freescale MX51 Babbage HW Add device registration and setup IOMUX pins in the mx51_babbage board feil. Signed-off-by: Dinh Nguyen Signed-off-by: Sascha Hauer commit 71c2e514d5827e4fb5c8f0f16d1e892dbfba3c00 Author: Dinh Nguyen Date: Thu May 27 10:45:04 2010 -0500 mx5: Add i2c to Freescale MX51 Babbage HW This patch adds I2C functionality to the Freescale MX51 Babbage HW. The patch adds device structures, i2c board slave device defines, IOMUX pin defines, and clocks. Signed-off-by: Dinh Nguyen Signed-off-by: Sascha Hauer commit 9b839ec0a880977d05ec4d25028ca4a0c3216c61 Author: Amit Kucheria Date: Fri May 28 11:29:09 2010 +0300 arm: mxc: utilise usecount field in clock operations This patch fixes the clock refcounting when reparenting is used. Boot-tested on imx51 babbage board. Sascha pointed out a good explanation of refcounting here: http://www.spinics.net/lists/arm-kernel/msg85879.html Signed-off-by: Amit Kucheria Signed-off-by: Sascha Hauer commit c45dd814008f8842f854aa6960dfd6c610a01873 Author: Baruch Siach Date: Wed May 26 15:12:11 2010 +0300 mx25pdk: add keypad support The keymap is taken from the Freescale supplied kernel. Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 49535a952bb7ca41dc1c59d89e36f5ff2ef1bc08 Author: Baruch Siach Date: Wed May 26 15:12:10 2010 +0300 mx25: add platform code for imx-keypad Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit cce02464dd4733e8173d01a9a7a3ff5491c8546b Author: Baruch Siach Date: Mon May 31 08:49:40 2010 +0300 mxc_nand: add support for platform defined partitions Signed-off-by: Baruch Siach Signed-off-by: Sascha Hauer commit 5ea32021c173c0c97482a1342a9069733032b647 Author: Sascha Hauer Date: Tue Apr 27 15:24:01 2010 +0200 mxc_nand: Fix OOB handling The OOB handling in the mxc_nand driver is broken for v1 type controllers (i.MX27/31) with 512 byte page size. This perhaps did not show up because ubi does not use OOB. Update the driver to always read/write a whole page even if only OOB is requested. With this patch the driver passes the mtd_oobtest on i.MX27 with 512 byte page size. Also tested with 2048 byte page size and on i.MX35 (v2 type controller) Signed-off-by: Sascha Hauer Reported-by: Wolfram Sang Tested-by: Baruch Siach commit d2195d52aa5c638be74b396da00624a32d1c5a86 Author: Eric Bénard Date: Thu May 27 10:58:56 2010 +0200 eukrea_mbimx27: add audio codec Signed-off-by: Eric Bénard Cc: Mark Brown Cc: Liam Girdwood Signed-off-by: Sascha Hauer commit 5203b99c14fef139e5a61ed7cb1105aaa306df45 Author: Eric Bénard Date: Wed May 19 18:46:07 2010 +0200 eukrea_mbimx27: add support for the keyboard Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 0896a9e5ed2616e2c41d3bd9cbb265251fbc733a Author: Eric Bénard Date: Wed May 19 18:46:06 2010 +0200 MX2X: Add Keypad device definition for MX2X arch Based on work from Alberto Panizzo for MX3X Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit e76a17c2d9c7f91d3ee6469568535189e1c201ca Author: Eric Bénard Date: Wed May 19 18:46:05 2010 +0200 eukrea_mbimx27: use card detect through DAT3 for SDHC1 Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 16b3bf8c85a5dc821eea7f9bb48d13b32f42f7ee Author: Eric Bénard Date: Wed May 19 18:46:04 2010 +0200 mxcmmc: add card detect through DAT3 possibility Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit ebfc7e6e13ea61d6f9b3e5353e63f4d185a516b9 Author: Eric Bénard Date: Wed May 19 18:46:03 2010 +0200 mach-cpuimx27: register wdt and w1_master resources Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 9f2270da95aa0d19889d5511b1bb39465669b6aa Author: Eric Bénard Date: Wed May 19 18:46:02 2010 +0200 mach-cpuimx27: add USB Host2 and OTG support support copied from mach-pca100.c Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 62d725b1d38856c50aebc5542707c6f5ea07a451 Author: Eric Bénard Date: Thu May 20 09:22:28 2010 +0200 eukrea_mbimx27: fix ADS7846 support Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit ebb4fc821d02b356a3685dc03c2948744a84c28e Author: Eric Bénard Date: Wed May 19 18:46:00 2010 +0200 mach-cpuimx27: fix QuadUART's IRQ typo in pins'setup Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 2d66c7803595da0d4bcd949825d598575f5de9e6 Author: Eric Bénard Date: Wed May 19 18:45:59 2010 +0200 cpuimx27 and mbimx27: allow fine control of UART4 and SDHC2 usage Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit a465242eb03906ff3a0c04102c6353080f8e535f Author: Eric Bénard Date: Wed May 19 18:45:58 2010 +0200 eukrea_mbimx27-baseboard: add timings for DVI output Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit fc04ad0e326e82b90506b3cb83ddd58a6fb5b5d2 Author: Eric Bénard Date: Wed May 19 18:45:57 2010 +0200 eukrea_mbimx27-baseboard: add generic-bl and platform-lcd controls Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit 4eaad66adf607ba005e2cf118e9a542899bf0187 Author: Eric Bénard Date: Wed May 19 18:45:56 2010 +0200 eukrea_mbimx27-baseboard: fix typo in display name Signed-off-by: Eric Bénard Signed-off-by: Sascha Hauer commit c18e8fa5e56b07b5c723535c6539850c2ad95a19 Author: Wolfram Sang Date: Fri May 21 06:52:06 2010 +0200 pcm037/pcm043/pca100: fix ULPI-related build warnings Like this one (if CONFIG_USB_ULPI is not set): arch/arm/mach-mx3/mach-pcm043.c:312: warning: 'otg_pdata' defined but not used arch/arm/mach-mx3/mach-pcm043.c:317: warning: 'usbh1_pdata' defined but not used Signed-off-by: Wolfram Sang Signed-off-by: Sascha Hauer commit 21b0734476c3327d5fd3247335da01d5ad3bf103 Author: Daniel Mack Date: Tue May 25 16:46:56 2010 +0200 ARM: mx3: mx31lilly: pass mc13783 SPI IRQ pin This makes the resistive touch interface work. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 392c57a2ec811db37ae45adc513704cf92ba3e69 Author: Russell King Date: Mon Jul 26 11:02:31 2010 +0100 ARM: fix build warning in asm/elf.h CC kernel/elfcore.o In file included from include/linux/elf.h:7, from kernel/elfcore.c:1: arch/arm/include/asm/elf.h:124: warning: 'struct mm_struct' declared inside parameter list arch/arm/include/asm/elf.h:124: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Russell King commit 6055930cba8fdb2c8855b32bae262aaf69c1fdb4 Author: Rabin Vincent Date: Mon Jul 26 11:09:27 2010 +0100 ARM: 6266/1: ux500: add separate irq lists for DB8500 and DB5500 Acked-by: Linus Walleij Acked-by: Srinidhi Kasagar Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit b042245fc2ca8c0326f3f1ea6c4dafc561bb3a82 Author: Linus Walleij Date: Fri Jul 23 11:49:52 2010 +0100 ARM: 6264/1: fix Versatile Express LED oversight My attempt to make the LEDs only compile for RealView and Versatile was futile: I missed the Versatile Express. So invert the logic and explicitly include the platforms to compile for. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit b5417019a6e614f5285f9eb8f9e5b2d62395965b Author: Linus Walleij Date: Tue Jul 20 22:32:00 2010 +0100 ARM: 6235/2: driver for the LEDs found in the later ARM refdesigns This adds a simple driver supporting the new LED framework with triggers and all for the RealView and Versatile platforms. The RealView and Versatile platform drivers were arranged to compile for all-but-integrator as a side effect since the Integrator has a different LED driver. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit ce8962455e902ffa08d59fd2b113942eaaffb0d6 Author: Linus Walleij Date: Sat Jul 17 12:33:48 2010 +0100 ARM: 6214/2: driver for the character LCD found in ARM refdesigns This adds a driver for the character LCD found on the ARM Versatile and RealView Platform Baseboards. It doesn't do very much more than display the text "ARM Linux" on the first line and the linux banner on the second line, but that's still useful. Cc: Andrew Morton Signed-off-by: Linus Walleij Signed-off-by: Russell King commit cb86ae95a0168be2acc6c48b1671ffaba1e5e39e Merge: 14764b0 23f5cac Author: Russell King Date: Thu Jul 22 16:00:55 2010 +0100 Merge branch 'master' of git://git.infradead.org/users/cbou/linux-cns3xxx into devel-stable commit 7d63397574c874a05e071987248c44fcf13eccf1 Author: Linus Walleij Date: Wed Jun 2 09:08:55 2010 +0100 ARM: 6159/1: Move IOP to use common mult/shift calculation code Since the infrastructure for determining shift/mult values from a clock rate and a minimum programmable rate is now in the kernel, lets remove this custom code. Cc: Deepak Saxena Acked-by: Mikael Pettersson Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 3126c7bc4106c572ef47e2c220df5a00e7973379 Author: Russell King Date: Thu Jul 15 11:01:17 2010 +0100 ARM: AMBA: Add pclk definition for platforms using primecells Add a dummy clk definition for the APB pclk signal on all platforms using the AMBA bus infrastructure. This ensures that these platforms continue to work when the core amba bus code controls the APB pclk. Signed-off-by: Russell King commit 4bd48940190a34fe5a78a1595ec7756edf36b18a Author: Linus Walleij Date: Mon Jul 19 20:55:46 2010 +0100 ARM: 6234/1: move SPEAr to use common mult/shift calculation code Since the infrastructure for determining shift/mult values from a clock rate and a minimum programmable rate is now in the kernel, lets remove this custom code. Cc: Viresh KUMAR Tested-by: Shiraz Hashim Signed-off-by: Linus Walleij Signed-off-by: Russell King commit c6ca2e466f22dee01a97f04bcc6bec8062d79847 Author: wanzongshun Date: Thu Jul 22 09:12:30 2010 +0100 ARM: 6250/1: patch for modifying spi flash configuration This patch is to modify spi flash configuration, the previous one can make spi driver work failed. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c588e37da8b2e4708397355b26d067450058f804 Author: wanzongshun Date: Thu Jul 22 06:56:50 2010 +0100 ARM: 6249/1: add nuc900 kpi platform_device structure to nuc910_dev Add nuc900 kpi platform_device structure to nuc910_dev Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 9e3aaac335e93d2f35d41e51b569becd2a43c260 Author: wanzongshun Date: Sun Jul 18 15:17:04 2010 +0100 ARM: 6232/1: add nuc900 keypad arch platform data This patch is to add nuc900 keypad arch platform data. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 6a446b906d58420f9282d74d42e28ff7e3b50b5c Author: wanzongshun Date: Sun Jul 18 15:15:11 2010 +0100 ARM: 6231/1: re-organize the nuc900 lcd arch platform data setting The patch re-organizes the nuc900 lcd arch platform data, remove the lcd platform data setting from nuc950.c to dev.c It can maximize the share codes between nuc900 series MCUs. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 14764b01a5576ce23a9d0c95a027049206a19cef Merge: fc4978b 5ccd430 Author: Russell King Date: Wed Jul 21 09:22:45 2010 +0100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into devel-stable commit d161edfbf20597752e315e60e31026393680485a Author: Linus Walleij Date: Sat Jul 17 12:34:25 2010 +0100 ARM: 6215/2: add character LCD platform data for RealView and Versatile This adds some platform data for the character LCD found in the RealView and Versatile reference designs from ARM. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 4037242c4f5ff77afe61bf07ca1e8a99490219e5 Author: Ryan Mallon Date: Tue Jul 13 05:09:16 2010 +0100 ARM: 6209/3: at91_udc: Add vbus polarity and polling mode Allow the vbus signal to optionally use polling. This is required if the vbus signal is connected to an non-interrupting io expander for example. If vbus is in polling mode, then it is assumed that the vbus gpio may sleep. Also add an option to have vbus be an active low signal. Both options are set in the platform data for the device. Signed-off-by: Ryan Mallon Acked-by: Nicolas Ferre Signed-off-by: Russell King commit 07d2a5c721c6aa2bd69812a74c8b3b116abf3e56 Author: Linus Walleij Date: Mon Jul 12 21:52:34 2010 +0100 ARM: 6224/1: print TCM whereabouts in init message If TCM is in use, we should display it in the virtual memory layout along with everything else. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 598509779e5b8037d371df764d7438744a24b61f Author: Linus Walleij Date: Mon Jul 12 21:51:41 2010 +0100 ARM: 6223/1: support multiple TCM banks CPUs v6 and up support multiple TCM banks, for example an ITCM of 8k is supplied in two 4k banks. This makes the TCM work on the 1176JZF-S devchip. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit cb9d7707cd9be57830f31616233f6a872ca8416d Author: Linus Walleij Date: Mon Jul 12 21:50:59 2010 +0100 ARM: 6222/1: add memory types for the TCMs The earlier TCM memory regions were mapped as MT_MEMORY_UNCACHED which doesn't really work on platforms supporting the new v6 features like the NX bit. Add unique MT_MEMORY_[I|D]TCM types instead. Cc: Nicolas Pitre Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 5ccd4302a20bfe56eb72a5e27ad0be046fc820a5 Author: Nicolas Pitre Date: Fri Jul 16 22:51:10 2010 -0400 [ARM] Kirkwood: add missing machine targets to defconfig Signed-off-by: Nicolas Pitre commit 3aa2c8c6a4ee77f1106cfbc537cdf970ee217d2f Author: Martin Michlmayr Date: Fri Jul 16 16:31:51 2010 +0100 [ARM] Orion: DNS-323 C1 requires phylib The code to support the DNS-323 rev C1 added a call to phy_register_fixup_for_uid() and therefore phylib has to be built in. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 2641375d6de0885dd26ee0edd0cf00282e3324d5 Author: Simon Guinot Date: Tue Jul 6 16:08:47 2010 +0200 [ARM] Kirkwood: update LED support for Network Space v2 Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit 11efe71f6564e59ba9acfc636ac6f423e059dc69 Author: Simon Guinot Date: Tue Jul 6 16:08:46 2010 +0200 leds: add LED driver for Network Space v2 LEDs This patch add a LED class driver for the dual-GPIO LEDs found on the Network Space v2 board (and parents). This include Internet Space v2, Network Space (Max) v2 and d2 Network v2 boards. This dual-GPIO LED is wired to a CPLD and can blink in relation with the SATA activity. The driver expose this capability through a "sata" sysfs attribute. Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit b6a044ff5757b22572ac3f3ccd006fb052b27b77 Author: Simon Guinot Date: Mon Jul 5 12:31:04 2010 +0200 [ARM] Kirkwood: add LaCie Network Space Max v2 support Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit a87182b3d12e0f6b8cca1731a95bec24269f53ad Author: Nicolas Pitre Date: Mon Jul 5 13:59:56 2010 -0400 [ARM] Kirkwood: more factorization of the PCIe init code Signed-off-by: Nicolas Pitre commit 16bc90af15da228f396b3dcd1f461663b0dde6a3 Author: Saeed Bishara Date: Thu May 6 16:12:06 2010 +0300 [ARM] Dove: platform device registration for the sdio interfaces Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit ffd58bd2e45168de21d257d26ee32843b286d3b3 Author: Saeed Bishara Date: Tue Jun 8 14:21:34 2010 +0300 [ARM] Kirkwood: add support for PCIe1 This patch extends the kirkwood's PCIe support up to 2 controllers as in the 6282 devices. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 35fe2fc44ac4202261317ccce2ef69991bc01c57 Author: Saeed Bishara Date: Thu Jun 3 14:58:46 2010 +0300 [ARM] PCI: add platform private data to pci_sys_data Add private_data pointer to the pci_sys_data, this pointer can be used for holding platform specific data for each pci controller. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 1e4d2d3da3bd0ccd3b6cb2b77624fd9233ca0a88 Author: Saeed Bishara Date: Tue Jun 1 18:09:27 2010 +0300 [ARM] Kirkwood: Add support for 88f6282 The 6282 SoC is compatible to 6280 and features faster CPU, DDR3, additional PCIe interface, and LCD controller. More information can be found here: http://www.marvell.com/products/processors/embedded/armada_300/armada_310.pdf Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 1c2003a1d6445f939c8628116452c7bbeff6759c Author: Saeed Bishara Date: Tue Jun 1 18:09:26 2010 +0300 [ARM] Kirkwood: add support for rev A1 of the 88f6192 and 88f6180 chips. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 29333cfae728de0ff0dd09a476b97ea49ce9eedb Author: Saeed Bishara Date: Tue Jun 8 14:30:37 2010 +0300 [ARM] Kirkwood: configure NAND mpp's for db88f6281 In case the board is configured to boot from spi flash, the mpps will not be configured to select the NAND I/Os. This patch makes sure to select the NAND I/O's regardless to the boot device type. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 445f12dca8f06113caa775315bff574dee72b27d Author: Benjamin Herrenschmidt Date: Mon Jun 21 13:22:08 2010 +1000 [ARM] orion5x: Fix soft-reset for some platforms Some platforms, such as the DNS-323 rev C requires the soft reset line to be toggled on and back off for the reset to work. Note: The choice of 200ms delay comes from the 2.6.12 based vendor kernel. It seems to be a -lot- though and I had my device working fine with much smaller delays but better safe... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Nicolas Pitre commit 6e2daa49420777190c133d7097dd8d5c05b475ac Author: Benjamin Herrenschmidt Date: Mon Jun 21 13:21:53 2010 +1000 [ARM] orion5x: Base support for DNS-323 rev C1 This patch adds the base support for this new HW revision to the existing dns323-setup.c file. The SoC seems to be the same as rev B1, the GPIOs are all wired differently though and the fan control isn't i2c based anymore. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Nicolas Pitre commit 2f495c398edca50ac251c134f1995a2fb3c06cb7 Author: Benjamin Herrenschmidt Date: Mon Jun 21 13:20:46 2010 +1000 net/phy/marvell: Expose IDs and flags in a .h and add dns323 LEDs setup flag This moves the various known Marvell PHY IDs to include/linux/marvell_phy.h along with dev_flags definitions for use by the driver. I then added a flag that changes the PHY init code to setup the LEDs config to the values needed to operate a dns323 rev C1 NAS. I moved the existing "resistance" flag to the .h as well, though I've been unable to find whoever sets this to convert it to use that constant. Signed-off-by: Benjamin Herrenschmidt Reviewed-by: Wolfram Sang Acked-by: David S. Miller Signed-off-by: Nicolas Pitre commit 43b56074b69f3b6d0296e7986e792c7adb1d89c6 Author: Dmytro Milinevskyy Date: Thu Jun 10 22:12:55 2010 +0300 [ARM] Marvell OpenRD-Ultimate machine support This patch adds support for the OpenRD Ultimate machine (could be found at http://www.arm.linux.org.uk/developer/machines/list.php?id=2884) Signed-off-by: Dmytro Milinevskyy Acked-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 21f0ba90a447090153edeaf2f14f9f7e8bd9bc80 Author: Olaf Rempel Date: Tue Jun 8 22:32:38 2010 +0200 [ARM] orion/kirkwood: reset PCIe unit on boot Patch found in QNAPs vendor source package, with some cleanups (proper defines, shortened max. timeout from 1s to 200ms). Without this patch the PCIe SATA controller (Marvell 88sx7042/sata_mv) in my QNAP TS-419P (Marvell 88f6281/Kirkwood) stops working after a few minutes. The symptomes are described in this thread: http://marc.info/?l=linux-ide&m=124822863706181&w=2 [ Note: this is a workaround in need of a better analysis/solution -- NP ] Acked-by: Saeed Bishara Tested-by: Bernhard R. Link Seconded-by: Martin Michlmayr I'm_not_very_happy_with_it-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 6f2b186a0f1e70be411ca260d4577f1ed35d58e0 Author: Nicolas Pitre Date: Mon Jun 21 23:29:28 2010 -0400 [ARM] Kirkwood: fix HP t5325 after commit 6605742f2a Signed-off-by: Nicolas Pitre commit b529ee4acfc65ecf4517ad4f22023d6a58e671a6 Author: Martin Michlmayr Date: Sun Jun 13 20:00:16 2010 +0100 [ARM] Kirkwood: Add support for HP t5325 Thin Client Add support for the HP t5325 Thin Client. This thin client is based on a Marvell Kirkwood chip at 1.2 GHz and features 512 MB RAM, 512 MB SATA-attached flash and an XGI Volari Z11 GPU. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 128190ebe92fee69f26d225036ba857e0fffb2e8 Author: Martin Michlmayr Date: Sun Jun 13 19:37:18 2010 +0100 [ARM] Kirkwood: Add MPP44 (board ID) on TS-219 MPP44 can be used to differentiate between one-bay (TS-11x) and two-bay (TS-21x) devices. According to an engineer from QNAP, the setting of MPP44 depends on the firmware rather than hardware. Presumably, this means that you could fake the MPP44 value by changing the boot loader. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 266a2458ceb80d9729cd6da9c1b707f69cff13ad Author: Benjamin Zores Date: Tue Jun 8 10:00:22 2010 +0200 [ARM] Kirkwood: update MPP definition. Add MPP definitions for Marvell Kirkwood 88F6282 revision. Update some defines to reflect datasheet's MPP names. Signed-off-by: Benjamin Zores Signed-off-by: Nicolas Pitre commit f8e00530a04f384f96445cf03f203862caeb507f Author: Martin Michlmayr Date: Fri Mar 26 11:20:00 2010 +0100 [ARM] orion5x: Set links to solid on D-Link DNS-323 Among other changes, commit b2a731aa ("D-link DNS-323 revision A1 power LED") changed the default behaviour of the power LED from solid to blinking. This was done to match the original DNS-323 firmware which blinks during the boot process and sets the LED to solid when booting has completed. However, the downside of this behaviour is that it requires userland code to change the LED, even for those who don't care about the behaviour of the original firmware. Therefore, change it to solid again and let those who care about the original behaviour change the behaviour from userland. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 9e1d9345ffaa4e07c326cdb86f50d58bfabe093d Author: Martin Michlmayr Date: Tue May 25 18:20:14 2010 +0100 [ARM] Kirkwood: Fix explanation of MPP45 for QNAP TS41x On the QNAP TS-41x, MPP45 is used to show the setting of jumper JP1. Fix the documentation to explain what the settings really indicate. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit f9afdd376b297092fa58254309b9c3cb9dfac698 Author: Martin Michlmayr Date: Sat May 22 02:23:10 2010 +0100 [ARM] Kirkwood: Export GPIO indicating jumper setting of JP1 Export GPIO 45 which is used to indicate the setting of the JP1 jumper. This is useful for userland tools, such as qcontrol, to see whether the LCD or a serial console is connected. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit d9ad1401280c5ca48075b1960b1602037e110cb7 Author: Arnaud Patard Date: Wed May 12 17:37:08 2010 +0200 [ARM] qnap tsx1x: fix section mismatch Fix the following warning : WARNING: vmlinux.o(.text+0x95a0): Section mismatch in reference from the function qnap_tsx1x_register_flash() to the (unknown reference) .init.data:(unknown) The function qnap_tsx1x_register_flash() references the (unknown reference) __initdata (unknown). This is often because qnap_tsx1x_register_flash lacks a __initdata annotation or the annotation of (unknown) is wrong. Signed-off-by: Arnaud Patard Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit e910b63d009701ad4ebbeb089aba35707fa5d68e Merge: 2f7989e c9c6fe5 Author: Russell King Date: Fri Jul 16 11:08:33 2010 +0100 Merge branch 'l7200' into devel Conflicts: arch/arm/configs/lusl7200_defconfig commit 3abe9d33b382cb9eee7bfee8d90b10078f4baa4d Author: Russell King Date: Thu Mar 25 17:02:59 2010 +0000 ARM: early_alloc() Add a common early allocator function, in preparation for switching over to LMB. When we do, this function will need to do a little more than just allocating memory; we need it zero initialized too. Signed-off-by: Russell King commit 71ee7dad9b69917079f24d42aff796bad7932914 Author: Russell King Date: Sun May 23 10:18:16 2010 +0100 ARM: OMAP: Convert to use ->reserve method to reserve boot time memory Signed-off-by: Russell King commit a1af0fbbbaac595b5bdf5495578d8ddbc6c17e6d Author: Russell King Date: Sat May 22 23:53:45 2010 +0100 ARM: OMAP: Cleanup OMAP FB SDRAM reservation The logic in this file is rather convoluted, but essentially: 1. region type 0 is SDRAM 2. referring to the code fragment if (set_fbmem_region_type(&rg, OMAPFB_MEMTYPE_SDRAM, sdram_start, sdram_size) < 0 || (rg.type != OMAPFB_MEMTYPE_SDRAM)) continue; - if rg.type is not OMAPFB_MEMTYPE_SDRAM, set_fbmem_region_type() returns zero immediately (since rg.type is non-zero), and so we 'continue'. - if rg.type is OMAPFB_MEMTYPE_SDRAM, and rg.paddr is zero, we fall through. - if rg.type is OMAPFB_MEMTYPE_SDRAM, and the region lies within SDRAM, we fall through. - if rg.type is OMAPFB_MEMTYPE_SDRAM, and the region is not within SDRAM, we 'continue'. 3. check_fbmem_region seems unnecessary. - we know rg.type is OMAPFB_MEMTYPE_SDRAM - we can check rg.size independently - bootmem_reserve() can check for overlapping reservations itself - we've already validated that the requested region lies within SDRAM. 4. avoid BUG()ing if the region entry is already set; print an error, and mark the configuration invalid - at least we'll continue booting so the error message has a chance of being logged/visible via serial console. With these changes in place, it makes the code much easier to understand and hence easier to convert to LMB. Signed-off-by: Russell King commit 98c672cf1fa2a56f6f43e3f48b1208b83845582c Author: Russell King Date: Sat May 22 18:18:57 2010 +0100 ARM: Move platform memory reservations out of generic code Move the platform specific bootmem memory reservations out of arch/arm/mm/mmu.c into their respective platform files. Signed-off-by: Russell King commit b65b4781fbd5846a82cdac0c32818af1a7452d1f Author: Russell King Date: Sat May 22 20:58:51 2010 +0100 ARM: Remove 'node' argument form arch_adjust_zones() Since we no longer support discontigmem, node is always zero, so remove this argument. Signed-off-by: Russell King commit be370302742ff9948f2a42b15cb2ba174d97b930 Author: Russell King Date: Fri May 7 17:40:33 2010 +0100 ARM: Remove DISCONTIGMEM support Everything should now be using sparsemem rather than discontigmem, so remove the code supporting discontigmem from ARM. Signed-off-by: Russell King commit 7961239599de71130c852ecfa9a4140f3f60547b Author: Russell King Date: Sat May 22 16:20:14 2010 +0100 ARM: Precalculate vmalloc_min Rather than storing the minimum size of the vmalloc area, store the maximum permitted address of the vmalloc area instead. Signed-off-by: Russell King commit ef6f4b129bbbade7d06b0a9307b605cc78ca4b3b Author: Linus Walleij Date: Wed Jul 14 23:59:27 2010 +0100 ARM: 6228/1: PL022 SSP platform data for the Versatile This adds platform data for the PL022 to the ARM Versatile reference design, and adds the necessary clock definition. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit d6ada8609b8548e528cd91a922338aff7c616820 Author: Linus Walleij Date: Wed Jul 14 23:58:38 2010 +0100 ARM: 6227/1: PL022 SSP platform data for the RealViews This adds platform data for the PL022 to the ARM RealView reference designs, adds the necessary clock definition and fixes a badly defined IRQ line on the PB1176. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 6fb4374f6b1b3932f3acfe9d353568d3d8599cad Author: Artem Bityutskiy Date: Sun May 23 15:20:21 2010 +0300 UBIFS: fix GC LEB recovery UBIFS tries to alway have an LEB reserved for GC, and stores it in c->gc_lnum. Besides, there is GC head which points to the current GC head LEB. In case of an unclean power cut, what may happen is that the GC head was switched to the reserved GC LEB (c->gc_lnum), but a new reserved GC LEB was not created yet. So, after an unclean reboot we may have no reserved GC LEB, and we need to find a new LEB for this. To do this, we find a dirty LEB which can fit the current GC head, move the data, unmap this dirty LEB, and it becomes our reserved GC LEB. However, if we cannot find a dirty enough LEB, we return failure, which is wrong, because we still can have free LEBs to use for the reserved GC LEB. This patch fixes the issue. This patch also fixes few typos in comments, which were spotted by aspell. Note, this patch fixes a real issue [ 14.328117] UBIFS: recovery needed [ 53.941378] UBIFS error (pid 462): ubifs_rcvry_gc_commit: could not find a dirty LEB [ 89.606399] UBIFS: recovery completed [ 89.609329] UBIFS assert failed in mount_ubifs at 1358 (pid 462) [ 89.616165] [] (unwind_backtrace+0x0/0xe4) from [] (ubifs_fill_super+0x11d0/0x1c4c) [ 89.625930] [] (ubifs_fill_super+0x11d0/0x1c4c) from [] (ubifs_get_sb+0x1b0/0x354) [ 89.635696] [] (ubifs_get_sb+0x1b0/0x354) from [] (vfs_kern_mount+0x50/0xe0) [ 89.644485] [] (vfs_kern_mount+0x50/0xe0) from [] (do_kern_mount+0x34/0xdc) [ 89.653274] [] (do_kern_mount+0x34/0xdc) from [] (do_mount+0x148/0x7cc) [ 89.662063] [] (do_mount+0x148/0x7cc) from [] (sys_mount+0x98/0xc8) [ 89.670852] [] (sys_mount+0x98/0xc8) from [] (ret_fast_syscall+0x0/0x28) which was reported here: http://article.gmane.org/gmane.linux.drivers.mtd/29923 by Alexander Pazdnikov Reported-by: Alexander Pazdnikov Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit e69edc7939abda1f696c482faa8168d80420f75c Author: Eric Miao Date: Mon Jul 5 15:56:50 2010 +0200 ARM: Auto calculate ZRELADDR and provide option for exceptions As long as the zImage is placed within the 128MB range from the start of memory, ZRELADDR (Address where the decompressed kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) can be determined at run-time by masking PC with 0xf80000000. Running through all the Makefile.boot, all those zreladdr-y addresses == 0x[0-f][08]00_0000 + TEXT_OFFSET can be determined at run-time. Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, CONFIG_ZRELADDR _must_ be explicitly specified if: - ((zreladdr-y - TEXT_OFFSET) & ~0xf8000000) != 0, which means masking PC with 0xf8000000 will result in an incorrect address. Currently this is only a problem on u300. - or the assumption of the zImage being loaded by the bootloader within the first 128MB of RAM is incorrect - or when ZBOOT_ROM is used, where the above assumption is usually wrong. [ukleinek: changed mask from 0xf0000000 to 0xf8000000 for mx1 and shark + some review fixes from the mailing list] Original-Idea-and-Signed-off-by: Nicolas Pitre Signed-off-by: Eric Miao Signed-off-by: Uwe Kleine-König commit cea0bb1bc59b94625e60b69aaa9ad6749d5b57dd Author: Mika Westerberg Date: Mon May 10 09:29:32 2010 +0100 ARM: 6122/1: kdump: add support for elfcorehdr parameter This parameter is used by primary kernel to pass address of vmcore header to the dump capture kernel. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit 67742c8168ed66fdd6cb5dc90e06c43cdc5bba07 Author: Mika Westerberg Date: Mon May 10 09:26:19 2010 +0100 ARM: 6120/1: kdump: implement copy_oldmem_page() This function is used by vmcore code to read a page from the old kernel memory. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit 8594a0c333dd79c45c3a24cac8029177728363e0 Author: Mika Westerberg Date: Mon May 10 09:24:53 2010 +0100 ARM: 6119/1: kdump: skip indirection page when crashing When we are crashing there is no indirection page in place. Only control page is present. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit c63836204b27faec5a22d4b53692690cb967aaac Author: Mika Westerberg Date: Mon May 10 09:23:37 2010 +0100 ARM: 6118/1: kdump: implement machine_crash_shutdown() Implement function machine_crash_shutdown() which disables IRQs and saves machine state to ELF notes structure. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit 24b776bfb6396fded148167643ffaf8eb3f782b1 Author: Mika Westerberg Date: Mon May 10 09:22:14 2010 +0100 ARM: 6117/1: kdump: implement crash_setup_regs() Implement machine specific function crash_setup_regs() which is responsible for storing machine state when crash occured. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit 3c57fb43c8fcbe46541d3a0274f0b4c802c68927 Author: Mika Westerberg Date: Mon May 10 09:20:22 2010 +0100 ARM: 6116/1: kdump: reserve memory for crashkernel Implemented ARM support for command line option "crashkernel=size@start" which allows user to reserve some memory for a dump capture kernel. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit f159f4ed55bb0fa5470800641e03a13a7e0eae6e Author: Tony Lindgren Date: Mon Jul 5 14:53:10 2010 +0100 ARM: 6207/1: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6 The TLS register is only available on ARM1136 r1p0 and later. Set HWCAP_TLS flags if hardware TLS is available and test for it if CONFIG_CPU_32v6K is not set for V6. Note that we set the TLS instruction in __kuser_get_tls dynamically as suggested by Jamie Lokier . Also the __switch_to code is optimized out in most cases as suggested by Nicolas Pitre . Reviewed-by: Nicolas Pitre Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit c1b2d9704c77ddaec46d5d681e1360ac40268743 Author: Magnus Damm Date: Mon Jul 5 10:00:11 2010 +0100 ARM: 6206/1: CONFIG_FORCE_MAX_ZONEORDER update for SH-Mobile ARM Allow SH-Mobile ARM users to adjust FORCE_MAX_ZONEORDER. The Kconfig entry is taken from SH and non-4K page size stuff has been trimmed away. For now only SH-Mobile ARM is allowed to change this variable, SA1111 configs are kept at "9" and the rest at "11". CONFIG_FORCE_MAX_ZONEORDER lets the user tweak the maximum amount of physically contiguous memory that can be allocated by the kernel. Signed-off-by: Magnus Damm Signed-off-by: Russell King commit 5aaf254409f8d58229107b59507a8235b715a960 Author: Tony Lindgren Date: Thu Jul 1 13:41:05 2010 +0100 ARM: 6203/1: Make VFPv3 usable on ARMv6 MVFR0 and MVFR1 are only available starting with ARM1136 r1p0 release according to "B.5 VFP changes" in DDI0211F_arm1136_r1p0_trm.pdf. This is also when TLS register got added, so we can use HAS_TLS also to test for MVFR0 and MVFR1. Otherwise VFPFMRX and VFPFMXR access fails and we get: Internal error: Oops - undefined instruction: 0 [#1] PC is at no_old_VFP_process+0x8/0x3c LR is at __und_svc+0x48/0x80 ... Signed-off-by: Tony Lindgren Acked-by: Catalin Marinas Signed-off-by: Russell King commit e513f8bf240d34bd6e732ba2f74df9ab84686ce6 Author: Will Deacon Date: Fri Jun 25 12:24:53 2010 +0100 ARM: 6199/1: Add kprobe-based event tracer This patch enables the HAVE_REGS_AND_STACK_ACCESS_API option for ARM which is required by the kprobe events tracer. Code based on the PowerPC port. Cc: Jean Pihet Tested-by: Jamie Iles Signed-off-by: Will Deacon Signed-off-by: Russell King commit eb668c6d06dd4f935fc610207c58a5f221384651 Author: Will Deacon Date: Fri Jun 25 12:24:54 2010 +0100 ARM: 6198/1: perf probe: Add ARM DWARF register number mappings This patch adds mappings from DWARF register numbers to the register names used by the ARM `Regs and Stack Access API'. Cc: Jean Pihet Tested-by: Jamie Iles Signed-off-by: Will Deacon Signed-off-by: Russell King commit 354e6f72d6fd5d3d2963efe030265972866cd969 Author: eric miao Date: Fri Jun 25 09:46:09 2010 +0100 ARM: 6197/2: preliminary support for sparse IRQ So to allow NR_IRQS to be dynamic and platforms to specify the number of IRQs really needed. Acked-by: Paul Mundt Signed-off-by: Eric Miao Signed-off-by: Russell King commit 48f1d5a3cef5782cbc7a32c29f1eda2342877c13 Author: Linus Walleij Date: Fri Jul 2 10:24:03 2010 +0100 ARM: 6204/1: Fixups for the RealView PB1176 This is a number of basic fixes to the PB1176 that makes it tick properly: - Detect MMC insertion/removal even when PL061 GPIO is not compiled in. The register to read this status directly is removed on the PB1176. - Define the UART3 on the DevChip (where is actually is) and define the new UART4 serial port on the FPGA. - Also define the clocks for these two UARTs apropriately. - Remove the false notion that the PB1176 should have its CLCD on the ISSP, this is not the case, it is in the DevChip. - Remove the defintions and the previously commented-out PL081 DMAC. As confirmed by mail this was found to be broken on the PB1176 board and removed from the subsequent FPGA images. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bde28b846e7e0ea6fea78f6ad1c43091fdf4d3e0 Author: Will Deacon Date: Fri Jul 9 13:52:09 2010 +0100 ARM: 6218/1: Versatile Express: add support for local timers on CA9X4 daughterboard This patch adds support for the Cortex-A9 local timers available when using the CA9X4 daughterboard with the Versatile Express. Signed-off-by: Will Deacon Signed-off-by: Russell King commit 064baaca873c64feaea0e4476d14d4c9fd978e9e Author: Ryan Mallon Date: Tue Jul 6 21:48:53 2010 +0100 ARM: 6209/2: at91: Add support for Bluewater Systems Snapper 9260/9G20 modules Add support for Bluewater Systems Snapper 9260/9G20 modules Signed-off-by: Ryan Mallon Acked-by: Andrew Victor Signed-off-by: Russell King commit 708ee98c5b9437f699ec445bc6fe66b31b2b6ac7 Author: Ryan Mallon Date: Mon Jun 28 22:03:25 2010 +0100 ARM: 6200/1: AT91: Define NR_BUILTIN_GPIO Add definition for NR_BUILTIN_GPIO for AT91 family Signed-off-by: Ryan Mallon Acked-by: Andrew Victor Signed-off-by: Russell King commit 7dca3343fc5ae5af2fa9248057cd65077a5576e1 Author: Nicolas Ferre Date: Mon Jun 21 14:59:27 2010 +0100 ARM: 6185/1: AT91: PM: dual ram controller support This rework allows to address tow memory controllers. AT91SAM9263 and AT91SAM9G45 family have tow SDRAM or DDR/SDRAM controllers. Power management should take care of this. This patch modify the way RAM IP header files are implemented to allow access to registers of both controllers ; it also adds some macros. We also modify the power management files to use those modified header files. Slow clock (assembly) and regular power management functions are synchronized for setting of RAM self-refresh procedure: (lpr & ~AT91_DDRSDRC_LPCB) | AT91_DDRSDRC_LPCB_SELF_REFRESH Note that AT91RM9200 is not impacted by this modification. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit db7b2b4b0e0513627420940d3d62be44a37f0524 Author: Eric Miao Date: Thu Jun 3 15:36:49 2010 +0800 ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed The only reference in arch/arm/boot/compressed to PARAMS_PHYS is params() in head.S, which can be directly converted to the exact address as specified by arch/arm/mach-rpc/Makefile.boot. Signed-off-by: Eric Miao Signed-off-by: Uwe Kleine-König commit 73a65b3f8587fa1c83768515ecc0bf6fa44ccdd1 Author: Uwe Kleine-König Date: Tue Jan 19 10:13:14 2010 +0100 ARM: deprecate support for old way to pass kernel parameters This was deprecated in 2001 and announced to live on for 5 years. For now provide a kernel parameter for those who still need it. Acked-by: Eric Miao Signed-off-by: Uwe Kleine-König commit 8d68fe7029ed2631363f6f37155586c0707b8dc0 Author: Uwe Kleine-König Date: Tue Jan 19 09:43:41 2010 +0100 ARM: zImage: don't define unused symbol initrd_phys The only user of initrd_phys is arch/arm/boot/bootp/init.S which still gets the value passed to. Acked-by: Eric Miao Signed-off-by: Uwe Kleine-König commit 7179304bfcffbbc66ca8a8498d92e023833b017d Author: Uwe Kleine-König Date: Thu Feb 4 10:23:58 2010 +0100 ARM: remove bit-rotten STANDALONE_DEBUG for decompressor I tried to get this running to debug the regression introduced by e7db7b4 without success. But this has several problems that make it hard to fix: - lib/decompress_inflate.c includes in-kernel headers that make it difficult to compile for user space. - the binary formats changed both in kernel and user space and at least for the kernel side there isn't only a single variant. Signed-off-by: Uwe Kleine-König Acked-by: Nicolas Pitre commit fc4978b796e5e52ab3a709495a968199afe0a108 Merge: 3260e52 df0698b Author: Russell King Date: Wed Jun 30 11:00:01 2010 +0100 Merge git://git.linaro.org/nico/arm_security into devel-stable commit 5109a4597f7e758b8d20694392d0361a0b4c43b1 Author: Uwe Kleine-König Date: Wed Jun 23 11:57:19 2010 +0200 ARM: mx3: complement uart init routine with an exit routine moboard_uart0_init requests a gpio. Without an exit function that frees that gpio again binding the uart a second time doesn't work. Signed-off-by: Uwe Kleine-König commit 6eafde5f02b1f34b7e083d1d6522f40e850bf355 Author: Uwe Kleine-König Date: Wed Jun 23 11:49:34 2010 +0200 ARM: imx: dynamically register imx-uart devices (imx35) Signed-off-by: Uwe Kleine-König commit 16cf5c41514fd94ff1e8b6be091e4b4732688fa6 Author: Uwe Kleine-König Date: Wed Jun 23 11:46:16 2010 +0200 ARM: imx: dynamically register imx-uart devices (imx31) Signed-off-by: Uwe Kleine-König commit d5dac4a69fe571ec12d999174e0425f2641325d4 Author: Uwe Kleine-König Date: Wed Jun 23 09:36:01 2010 +0200 ARM: imx: dynamically register imx-uart devices (imx27) Signed-off-by: Uwe Kleine-König commit 7cc3c84666db63995d44b44276d304c6f0c92630 Author: Uwe Kleine-König Date: Thu Jun 24 15:20:44 2010 +0200 ARM: imx: dynamically register imx-uart devices (imx25) Signed-off-by: Uwe Kleine-König commit 3c5227fd40b1250490c34b50298973f32b7dcf96 Author: Uwe Kleine-König Date: Tue Jun 22 17:59:58 2010 +0200 ARM: imx: dynamically register imx-uart devices (imx21) Signed-off-by: Uwe Kleine-König commit d112f4e4e57cbcf81e5f04a0eba77804d14d8640 Author: Uwe Kleine-König Date: Tue Jun 22 14:50:59 2010 +0200 ARM: imx: dynamically register imx-uart devices (imx1) Signed-off-by: Uwe Kleine-König commit 2db6823773760412706168be6378eef30c29808b Author: Uwe Kleine-König Date: Tue Jun 22 14:49:20 2010 +0200 ARM: imx: dynamically register imx-uart devices (generic part) Signed-off-by: Uwe Kleine-König commit a4dc013570e08ec4947b10fa78080da767b30527 Author: Uwe Kleine-König Date: Tue Jun 22 10:14:15 2010 +0200 ARM: imx: dynamically register spi_imx devices (imx35) Signed-off-by: Uwe Kleine-König commit 06606ff1300ecb05a2a2953c9f735730950365f5 Author: Uwe Kleine-König Date: Tue Jun 22 10:09:14 2010 +0200 ARM: imx: dynamically register spi_imx devices (imx31) Signed-off-by: Uwe Kleine-König commit 7536cf992f395cb431f723041183d14a91d89c84 Author: Uwe Kleine-König Date: Tue Jun 22 09:00:22 2010 +0200 ARM: imx: dynamically register spi_imx devices (imx27) Signed-off-by: Uwe Kleine-König commit 63ddc5b01681567d10ddb94cb41390c77237cb62 Author: Uwe Kleine-König Date: Mon Jun 21 17:34:58 2010 +0200 ARM: imx: dynamically register spi_imx devices (imx25) Signed-off-by: Uwe Kleine-König commit 642e466bf405ba558e68353cd4ae6e8ed640b123 Author: Uwe Kleine-König Date: Mon Jun 21 17:27:22 2010 +0200 ARM: imx: dynamically register spi_imx devices (imx21) Signed-off-by: Uwe Kleine-König commit 0287073713d2d638bd89aff53750467af657da63 Author: Uwe Kleine-König Date: Mon Jun 21 18:02:55 2010 +0200 ARM: imx: dynamically register spi_imx devices (generic part) Signed-off-by: Uwe Kleine-König commit 7cdc8fa7120f97f40d36547854ae127dc0318e3a Author: Uwe Kleine-König Date: Wed Jun 16 19:25:34 2010 +0200 ARM: imx: dynamically register imx-i2c devices (imx35) Signed-off-by: Uwe Kleine-König commit 4a9b8b0b061ef750b5ef31d1e9d2fa0206731f2f Author: Uwe Kleine-König Date: Wed Jun 16 18:03:05 2010 +0200 ARM: imx: dynamically register imx-i2c devices (imx31) Signed-off-by: Uwe Kleine-König commit c69871597dd173af2d7615429c0ee6aa10fae42b Author: Uwe Kleine-König Date: Wed Jun 16 17:25:40 2010 +0200 ARM: imx: dynamically register imx-i2c devices (imx27) Signed-off-by: Uwe Kleine-König commit a8ff045603c712d6d61e07260ec2c0e44c40d14c Author: Uwe Kleine-König Date: Wed Jun 16 14:55:07 2010 +0200 ARM: imx: dynamically register imx-i2c devices (imx25) Signed-off-by: Uwe Kleine-König commit 2b92084f75c74a5496380833cb60185985959ec6 Author: Uwe Kleine-König Date: Tue Jun 22 09:27:33 2010 +0200 ARM: imx: dynamically register imx-i2c devices (imx21) Signed-off-by: Uwe Kleine-König commit 6348e6b54e8609be11826a8e30357a03ba201500 Author: Uwe Kleine-König Date: Wed Jun 16 15:26:07 2010 +0200 ARM: imx: dynamically register imx-i2c devices (imx1) Signed-off-by: Uwe Kleine-König commit 99a754d8ee65c32329440f85167ead5cc6e32033 Author: Uwe Kleine-König Date: Wed Jun 16 14:37:51 2010 +0200 ARM: imx: dynamically register imx-i2c devices (generic part) Signed-off-by: Uwe Kleine-König commit e2611ba40a937b8a749ef075a67e40acee5d1748 Author: Uwe Kleine-König Date: Wed Jun 16 12:26:53 2010 +0200 ARM: imx: Change the way nand devices are registered (imx35) Make use of new mechanism to register a nand device. Signed-off-by: Uwe Kleine-König commit a2ceeef59f8fc9303dd23ebe09e9daca70799ff5 Author: Uwe Kleine-König Date: Wed Jun 16 12:23:11 2010 +0200 ARM: imx: Change the way nand devices are registered (imx31) Make use of new mechanism to register a nand device. Signed-off-by: Uwe Kleine-König commit 0e7a29a8d97c4ea86b9975e65f554c0398a8fdbf Author: Uwe Kleine-König Date: Wed Jun 16 07:35:31 2010 +0200 ARM: imx: Change the way nand devices are registered (imx27) Make use of new mechanism to register a nand device. Signed-off-by: Uwe Kleine-König commit b0c4845c47bce6fefe5e08b1e0cbd100d62ec36b Author: Uwe Kleine-König Date: Wed Jun 16 12:34:56 2010 +0200 ARM: imx: Change the way nand devices are registered (imx25) Make use of new mechanism to register a nand device. Signed-off-by: Uwe Kleine-König commit 1f8d721cd3dd1a2ee37152ce228f035212074984 Author: Uwe Kleine-König Date: Wed Jun 16 11:17:45 2010 +0200 ARM: imx: Change the way nand devices are registered (imx21) Make use of new mechanism to register a nand device. Signed-off-by: Uwe Kleine-König commit 66384eedd900f2f6bb00e4f16c2cb770d6b0066b Author: Uwe Kleine-König Date: Tue Jun 15 18:14:19 2010 +0200 ARM: imx: Change the way nand devices are registered (generic part) Instead of having a platform device defined in a devices.c and register it in the machine file allocate it dynamically. This reduces the size of needed memory as the new function is discarded after init and only the existing devices are created. Signed-off-by: Uwe Kleine-König commit aa71251c5b8c673361281fbfd8be5a9ee8b9f4cc Author: Uwe Kleine-König Date: Wed Jun 16 07:12:51 2010 +0200 ARM: mxc: remove paragraphs with old address of the FSF As the kernel contains a copy of the GPL anyhow just get rid of the address specification instead of fixing it. Signed-off-by: Uwe Kleine-König commit a1d62fc525fb3604f4e7341fa7098dd6e87df9f8 Author: Uwe Kleine-König Date: Wed Jun 16 07:06:49 2010 +0200 ARM: mxc91231: remove paragraphs with old address of the FSF As the kernel contains a copy of the GPL anyhow just get rid of the address specification instead of fixing it. Signed-off-by: Uwe Kleine-König commit d694eea529918b4b2b610b55eddcf82a6df72a81 Author: Uwe Kleine-König Date: Wed Jun 16 06:59:45 2010 +0200 ARM: mx3: remove paragraphs with old address of the FSF As the kernel contains a copy of the GPL anyhow just get rid of the address specification instead of fixing it. Signed-off-by: Uwe Kleine-König commit 6cc702a6a21c1b13e32c5981b0d049509d6bb373 Author: Uwe Kleine-König Date: Wed Jun 16 06:53:33 2010 +0200 ARM: mx25: remove paragraphs with old address of the FSF As the kernel contains a copy of the GPL anyhow just get rid of the address specification instead of fixing it. Signed-off-by: Uwe Kleine-König commit 6851a408a916a56366d07f8b55454f390eed6dbe Author: Uwe Kleine-König Date: Wed Jun 16 06:53:33 2010 +0200 ARM: imx: remove paragraphs with old address of the FSF As the kernel contains a copy of the GPL anyhow just get rid of the address specification instead of fixing it. Signed-off-by: Uwe Kleine-König commit cd57c77772b699b1e69d69510ce01109c46a6f0b Author: Uwe Kleine-König Date: Wed Jun 16 06:45:15 2010 +0200 MTD: mxc_nand: make bit fields unsigned to please sparse This fixes: arch/arm/plat-mxc/include/mach/mxc_nand.h:25:14: error: dubious one-bit signed bitfield arch/arm/plat-mxc/include/mach/mxc_nand.h:26:17: error: dubious one-bit signed bitfield While at it make width unsigned, too. Signed-off-by: Uwe Kleine-König commit 253ff1fa6f8d24d46ef1b5aa68f6293b883f03d8 Author: Uwe Kleine-König Date: Tue Jun 15 11:31:02 2010 +0200 ARM: imx: new helper function imx_add_platform_device This should be a globally available function, see http://thread.gmane.org/gmane.linux.kernel/998881/focus=998882 Until this hits mainline create a similar function available for imx platforms only. Signed-off-by: Uwe Kleine-König commit 9f72ffedc8409b9c9cbe17a9f66c2982baa4ff52 Author: Uwe Kleine-König Date: Mon Jun 14 17:56:52 2010 +0200 ARM: imx: new Kconfig symbol and feature test macro for DMA on mx1 and mx2 This should be used instead of hard coding the corresponding platforms. The feature test macro is needed to support different SOCs in a single kernel image. While at it rename dma-mx1-mx2 to dma-v1 as mx25 doesn't use it and so the mx2 part is wrong and move the header to arch/arm/mach-imx. Signed-off-by: Uwe Kleine-König commit e780d2392dd37fcc231d97400c1cdd8d261ed556 Author: Uwe Kleine-König Date: Mon Jun 14 17:39:21 2010 +0200 ARM: imx: prepare deprecating ARCH_MX1, MACH_MX2, MACH_MX21 and MACH_MX27 MACH_... is reserved for machine support, so use SOC as prefix, not MACH. This introduces new symbols SOC_IMX1, SOC_IMX21 and SOC_IMX27. They are selected by the old symbols for now. There is no substitute for MACH_MX2 as most usages of MX2 only means MX21 + MX27 but not MX25. Later the choice about CPU and CPU family should go away and the individual machines should select the right SOC symbol. This is a precondition to support more than one SOC in a single kernel image. Signed-off-by: Uwe Kleine-König commit b6b06be062daf3a8a2a2bb93585564c7aa1fa8d3 Author: Uwe Kleine-König Date: Mon Jun 14 16:56:46 2010 +0200 ARM: imx: Kconfig: use an if block instead of a depend for many symbols Signed-off-by: Uwe Kleine-König commit 074694956b547de9a6b85b919c0bb13853b88c2d Author: Uwe Kleine-König Date: Mon Jun 14 15:56:58 2010 +0200 ARM: imx: move mx1 support to mach-imx Signed-off-by: Uwe Kleine-König commit 551823e7e031978b990e952c70ae01f8eba8d2c4 Author: Uwe Kleine-König Date: Fri Jun 11 09:08:02 2010 +0200 ARM: imx: rename mxc_uart_devicex to follow a common naming scheme Addionally remove an unneeded include. Signed-off-by: Uwe Kleine-König commit c9c6fe5033191d82e1d819105485c795062107fd Author: Russell King Date: Thu Jun 24 15:41:31 2010 +0100 ARM: Remove support for LinkUp Systems L7200 SDP. This hasn't been actively maintained for a long time, only receiving the occasional build update when things break. I doubt anyone has one of these on their desks anymore. Signed-off-by: Russell King commit 3e876935b805966f140bdae73f96bc4c3632c947 Author: Uwe Kleine-König Date: Thu Jun 10 18:02:25 2010 +0200 ARM: imx1: rename imx_uart[12]_device to follow a common naming scheme Note that these devices are specific for imx1 as only here three irqs are used. Signed-off-by: Uwe Kleine-König commit 8f785e8549fbf73995a7795651709b458300ed01 Author: Uwe Kleine-König Date: Thu Jun 10 17:48:04 2010 +0200 ARM: imx1: rename imx_i2c_device to follow a common naming scheme Signed-off-by: Uwe Kleine-König commit 68a9c5ba14856d3738c906764aa38336f02e2e11 Author: Uwe Kleine-König Date: Thu Jun 10 17:45:23 2010 +0200 ARM: imx1: rename imx_csi_device to match its .name Signed-off-by: Uwe Kleine-König commit e9ec2a17eea971f1af91a37a1c685afad0f5a8b4 Author: Uwe Kleine-König Date: Thu Jun 10 17:34:59 2010 +0200 ARM: imx: fold serial.c into devices.c ... and use cpp magic to reduce repetition. Signed-off-by: Uwe Kleine-König commit 9a763bfbe45d8d4afe953993907188322a49a4ec Author: Uwe Kleine-König Date: Thu Jun 10 17:11:06 2010 +0200 ARM: imx: get rid of mxc_gpio_init This function is defined once for each imx family and so is in the way when compiling a kernel for more than one SoC. Signed-off-by: Uwe Kleine-König commit 3aad49e138a9690969df52672c454e1d6d01b501 Author: Uwe Kleine-König Date: Thu Jun 10 15:59:54 2010 +0200 ARM: imx/mx1: fold crm_regs.h into its only consumer As crm_regs.h is GPL-v2 only don't allow "(at your option) any later version" for clock.c any more. Signed-off-by: Uwe Kleine-König commit d109167b9c1002770d194644d5580a1f3588f7fc Author: Uwe Kleine-König Date: Thu Jun 10 15:11:13 2010 +0200 ARM: imx: rename mach dir for mx21 and mx27 to mach-imx Finally all imx code should end up there, start with mach-mx2. While touching all files rename some files to use a hyphen instead of an underscore. Signed-off-by: Uwe Kleine-König commit f1d4cbef18999548ade1007bfb63cc1fa69c385e Author: Uwe Kleine-König Date: Mon Mar 8 17:29:31 2010 +0100 ARM: mxc: grammar fix Signed-off-by: Uwe Kleine-König commit ccfa7c269843001077df02d98918c6c9bde91395 Author: Uwe Kleine-König Date: Mon Mar 8 17:10:54 2010 +0100 ARM: mx3/mx31ads: fold board header in its only user Moreover remove unused definitions. Signed-off-by: Uwe Kleine-König commit b396dc459cf38a9070032918ea6ae220d7f03586 Author: Uwe Kleine-König Date: Mon Mar 8 16:57:19 2010 +0100 ARM: mx3/mx31_3ds: fold board header in its only user Moreover remove unused definitions. Signed-off-by: Uwe Kleine-König commit d57351a30fb02a345b9328adb73250310425421c Author: Uwe Kleine-König Date: Mon Mar 8 16:11:51 2010 +0100 ARM: mx3/qong: get rid of nearly empty header board-qong.h only defined a single symbol that was used only once. Signed-off-by: Uwe Kleine-König commit 1faeaab27b0b9d35acb3ce3a333cb38a30136a11 Author: Uwe Kleine-König Date: Mon Mar 8 16:07:30 2010 +0100 ARM: mx2/mx27ads: fold board header in its only user Moreover remove unused definitions. Signed-off-by: Uwe Kleine-König commit d393d43ff799a1ac3766cdbca9a6367cb8c02db9 Author: Uwe Kleine-König Date: Mon Mar 8 11:59:25 2010 +0100 ARM: mx2/mx21ads: fold board header in its only user Signed-off-by: Uwe Kleine-König commit 7b562d0f21b58195596d4800466221e7808d180e Author: Uwe Kleine-König Date: Mon Mar 8 11:58:53 2010 +0100 ARM: mx3/kzm_arm11_01: fold board header in its only user Signed-off-by: Uwe Kleine-König commit 5d3a136a0896c7939e0a8ad44f191be09fd31bcb Author: Uwe Kleine-König Date: Mon Mar 8 11:18:20 2010 +0100 ARM: imx: remove empty and unused board headers Signed-off-by: Uwe Kleine-König commit 8fdca37afc16028c4bab9a18d809464c012d3f9b Author: Uwe Kleine-König Date: Mon Mar 8 10:46:11 2010 +0100 ARM: mx2/mx27_3ds: document alternative names and remove empty header Signed-off-by: Uwe Kleine-König commit a02b0420ff54bb21850c6faedc86838aadf2a832 Author: Uwe Kleine-König Date: Fri Mar 5 11:04:45 2010 +0100 ARM: mx1/scb9328: fix type of uart1_mxc_exit to make compiler happy This fixes: arch/arm/mach-mx1/mach-scb9328.c:120: warning: initialization from incompatible pointer type Signed-off-by: Uwe Kleine-König commit 05a3185cad1bb4e1b2206fdca9041234c3662a25 Author: Uwe Kleine-König Date: Thu Mar 4 21:02:41 2010 +0100 ARM: mx1: don't use deprecated symbol names Signed-off-by: Uwe Kleine-König commit 309caa9cc6ff39d261264ec4ff10e29489afc8f8 Author: Russell King Date: Mon Jun 21 21:03:18 2010 +0100 ARM: Prohibit ioremap() on kernel managed RAM ARMv6 and above have a restriction whereby aliasing virtual:physical mappings must not have differing memory type and sharability attributes. Strictly, this covers the memory type (strongly ordered, device, memory), cache attributes (uncached, write combine, write through, write back read alloc, write back write alloc) and the shared bit. However, using ioremap() and its variants on system RAM results in mappings which differ in these attributes from the main system RAM mapping. Other architectures which similar restrictions approch this problem in the same way - they do not permit ioremap on main system RAM. Make ARM behave in the same way, with a WARN_ON() such that users can be traced and an alternative approach found. Signed-off-by: Russell King commit be6f9f006a1fb4d46a0c0b01179862375f0d53bd Author: Uwe Kleine-König Date: Tue Jan 26 22:22:20 2010 +0100 ARM: zImage: annotate debug functions about corrupted registers Signed-off-by: Uwe Kleine-König commit 21b2841df19dd223dad198cdf47e77ea7ac25b56 Author: Uwe Kleine-König Date: Tue Jan 26 22:08:09 2010 +0100 ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush This adds missing registers to the list of corrupted registers and removes a wrong comment about r9 on entry While at it the formatting of the comment to cache_off is changed to resemble the other two. Acked-by: Eric Miao Signed-off-by: Uwe Kleine-König commit 63fa71872bdec70f4a82e562fc34f8d87e174774 Author: Uwe Kleine-König Date: Tue Jan 26 22:18:09 2010 +0100 ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification Probably the register content for cache operations is "don't care" in practice, but as r1 is explicitly zeroed, use that one. Acked-by: Eric Miao Signed-off-by: Uwe Kleine-König commit 4a8d57a54fb21f32ee17e0a61ca54c7a6f8f83da Author: Uwe Kleine-König Date: Tue Jan 26 22:14:23 2010 +0100 ARM: zImage: some comments for __armv3_mpu_cache_on __armv3_mpu_cache_on seems broken. As there is noone around who knows about these machines just keep the code as is but point out the strange things. Signed-off-by: Uwe Kleine-König commit 88237c25aa4fe0dad177ae11214136ad78bc908f Author: Uwe Kleine-König Date: Fri Jan 29 21:37:24 2010 +0100 ARM: zImage: don't hard code the stack size twice Acked-by: Eric Miao Acked-by: Nicolas Pitre Signed-off-by: Uwe Kleine-König commit 5f9f0a412f16b2b849624f1b760477fb35ceff4a Author: Nicolas Ferre Date: Fri Jun 11 12:53:14 2010 +0100 ARM: 6169/1: AT91: add new at91 chips in at91sam9g45 family This is the basic support for at91sam9g46, at91sam9m10 and at91sam9m11. Those are just very basic cpu macros and clock definition. Signed-off-by: Patrice Vilchez Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 8a5c9e39379610bf347241c64132d7ee073c3959 Author: Dmitry Eremin-Solenikov Date: Thu Jun 3 13:57:55 2010 +0100 ARM: 6163/1: at91sam9g20ek: add fixed-value regulator for wm8731 If CONFIG_REGULATOR is enabled, wm8731 fails on AT91SAM9G20EK board, since codec driver requires several voltage supplies and none are provided currently. As requires voltages are hardwired to 3V3, use fixed voltage regulator for this chip. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Andrew Victor Signed-off-by: Russell King commit 5e886f68e5b1c0a62c64cbc3707304259ba46183 Author: Dmitry Eremin-Solenikov Date: Thu Jun 3 13:56:32 2010 +0100 ARM: 6162/1: at91sam9g20ek: add fixed-value regulator for wm8731 If CONFIG_REGULATOR is enabled, wm8731 fails on AT91SAM9G20EK board, since codec driver requires several voltage supplies and none are provided currently. As requires voltages are hardwired to 3V3, use fixed voltage regulator for this chip. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Andrew Victor Signed-off-by: Russell King commit 4f4c5e36e7cd26c9b5bf89d66caeee5fc3d75362 Author: Harro Haan Date: Mon Mar 1 18:01:56 2010 +0100 ARM: 5967/1: at91_udc.c use spinlocks instead of local_irq_xxx The locking code of this driver is reworked for preempt-rt. For more info see: http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/09cdb3b4/attachment.el http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/3ad44e30/attachment.el First applied: "at91_udc HW glitch" http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=5966/1 Reviewed-by: H Hartley Sweeten Signed-off-by: Harro Haan Signed-off-by: Russell King commit a0fb007bf0c7de9ae361a9ad3821df4c69d4d2d9 Author: Hartley Sweeten Date: Mon Jun 14 16:54:16 2010 +0100 ARM: 6174/1: ep93xx: clear devcfg bits before setting them The ep93xx core helper function ep93xx_devcfg_set_clear should mask the clear_bits before setting the new set_bits in case the clear_bits are a mask value that also includes the set_bits. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 16bcf78f8cac9cc3057c6ce3800490cb6e684ce8 Author: Hartley Sweeten Date: Thu Jun 10 16:19:08 2010 +0100 ARM: 6168/1: ep93xx: move physmap flash registration into core.c Create a core.c __init function to handle the physmap flash registration for all the ep93xx platforms. Also, modify all the ep93xx platforms to use this new function. This simplifies all the ep93xx platform init code and reduces the size of the kernel when including multiple ep93xx boards. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Acked-by: Martin Guy Acked-by: Hubert Feurstein Signed-off-by: Russell King commit 6ea4b7418dfd07dc76d20a3c3bf632ee7b59a2c4 Author: Hartley Sweeten Date: Wed Jun 9 21:15:12 2010 +0100 ARM: 6167/1: ep93xx: register backlight driver Add the platform registration for the ep93xx backlight driver that is now merged. Since the pwm BRIGHT signal only functions if the video system is operating, register the backlight when the framebuffer device is registered. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 6d9fb90032c707a395148830a4c9aa9705a73f79 Author: Rabin Vincent Date: Thu Jun 3 07:56:36 2010 +0100 ARM: 6160/1: ux500: add DB8500 pin configs Add pin config macros for the pins on the DB8500. Acked-by: Linus Walleij Acked-by: Srinidhi Kasagar Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit ea05a57f6d34cb9e3a422ef165b515e9a1cd844a Author: Rabin Vincent Date: Thu Jun 3 07:58:42 2010 +0100 ARM: 6161/1: mop500: add basic pin configuration Use the newly added infrastructure to configure the SSP0 and I2C[0-3] pins on the MOP500 board. The u8500_init_devices() call needed to be moved up in order to register the GPIO device first. Acked-by: Linus Walleij Acked-by: Srinidhi Kasagar Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 2917947a673763be5f94313a59e5f28ee01b3d9d Author: Linus Walleij Date: Tue Jun 1 08:26:49 2010 +0100 ARM: 6153/1: nomadik MTU to use dynamic shift and mult assignment This removes the hard-coded shift values for the MTU timer, since the different platforms using this has very different running frequencies doing this dynamically is a better idea. Also take this opportunity to make a more through shutdown of the MTU clockevent when requested. Acked-by: Alessandro Rubini Signed-off-by: Linus Walleij Signed-off-by: Russell King commit f6aa01c2b8950a29503e93fc8b91f0d64f440c34 Author: Rabin Vincent Date: Wed Jun 16 06:12:13 2010 +0100 ARM: 6177/1: nomadik-gpio: fix "ignoring return value" warning arch/arm/plat-nomadik/gpio.c: In function 'nmk_gpio_remove': arch/arm/plat-nomadik/gpio.c:630: warning: ignoring return value of 'gpiochip_remove', declared with attribute warn_unused_result Because this function is marked __exit and this code can't be built as a module, this function is never used. So just remove it, fixing the warning in the process. Acked-by: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 0d2aec9cd356254649fa2aa6bb5fb4d20cfded2c Author: Rabin Vincent Date: Wed Jun 16 06:10:43 2010 +0100 ARM: 6176/1: nomadik-gpio: implement to_irq So that gpio_to_irq() works. Acked-by: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 4d4e20f77c6170eaec61976e0a165bdff6b09d79 Author: Rabin Vincent Date: Wed Jun 16 06:09:34 2010 +0100 ARM: 6175/1: nomadik-gpio: implement set_wake So that set_irq_wake() works. Cc: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 33f45ea91706f8fdde04bd6c2245f679403ec63f Author: Rabin Vincent Date: Wed Jun 2 06:09:52 2010 +0100 ARM: 6156/1: nomadik-gpio: switch to core_initcall Move the platform driver registration to a core_initcall, instead of an arch_initcall. This will allow us to use gpio related calls in init_machine() (which is an arch_initcall) after adding the gpio platform devices. Cc: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 378be0663dbb2de033ae7a1231227be09e6ad0a3 Author: Rabin Vincent Date: Wed Jun 2 06:06:29 2010 +0100 ARM: 6155/1: nomadik-gpio: add pin configuration API Add a pin configuration API to all pin-related configuration to be specified with a single macro and groups of pins to be configured at one go. Based on the PXA MFP implementation. Cc: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 6f9a974cf6fdd189ff383c8b75c22c65dab20b52 Author: Rabin Vincent Date: Wed Jun 2 05:50:28 2010 +0100 ARM: 6154/1: nomadik-gpio: refactor nmk_gpio_set_mode Extract out a portion of nmk_gpio_set_mode() that can be called with the lock already held. This will be used from the pincfg API. Cc: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 81a3c2989227e025b715e18299431395083b39e5 Author: Rabin Vincent Date: Thu May 27 12:39:23 2010 +0100 ARM: 6149/1: nomadik-gpio: add function to configure sleep mode behaviour Cc: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 5b327edf03c037ea6dc49a98a2b7f7186298ad1e Author: Rabin Vincent Date: Thu May 27 12:29:50 2010 +0100 ARM: 6148/1: nomadik-gpio: add function to configure pullup/pulldown Cc: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 6647c6c0b62ae14ca994c5776ddb084820bea808 Author: Rabin Vincent Date: Thu May 27 12:22:42 2010 +0100 ARM: 6147/1: nomadik-gpio: set val in ->direction_output() The ->direction_output() callback needs to set the value it was passed, in addition to setting the direction as output. On this peripheral, we can't set the value before setting the direction, so set it after. Acked-by: Alessandro Rubini Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 5c0c1f08abf094273f40a6d6fd4519fcacc6c58d Author: Rabin Vincent Date: Fri May 28 04:37:38 2010 +0100 ARM: 6150/1: gic: implement set_type Implement set_type() to allow configuration of the trigger type. Cc: Abhijeet Dharmapurikar Acked-by: Linus Walleij Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 158132c9abbccce802def10e5ffaf044b266a6e1 Author: Brijesh Singh Date: Wed Jun 16 09:28:26 2010 +0300 UBI: improve delete-compatible volumes handling When a delete-compatible volume is found, it is first added to the 'corr' list, which contains "corrupted" PEBs which should be erased, and then it is added to the used volumes tree. However, the second step should not be done. This does not cause problems in practice, because we never access delete-compattible volumes, but it is still not the right thing to do. [Artem: amended the commit message and few prints] Signed-off-by: Brijesh Singh Signed-off-by: Artem Bityutskiy commit 3260e5293727f16ffdce9a6a6203fd9a6b149e58 Author: Michael Bohan Date: Mon Jun 14 13:06:56 2010 -0700 arm: mm: Don't free prohibited memmap entries The VM subsystem assumes that there are valid memmap entries to the bank end aligned to MAX_ORDER_NR_PAGES. It will try and read these page structs, and so we cannot free any memmap entries that it may inspect. Signed-off-by: Michael Bohan Signed-off-by: Daniel Walker commit 923a081c72fa2dccb7ea7070bd8e0f4dc99ceff8 Author: Pavel Machek Date: Wed Jun 2 11:11:12 2010 -0700 Add GPIO support for HTC Dream. Signed-off-by: Pavel Machek [dwalker@codeaurora.org: renamed to trout, checkpatch cleanup] Signed-off-by: Daniel Walker commit df0698be14c6683606d5df2d83e3ae40f85ed0d9 Author: Nicolas Pitre Date: Mon Jun 7 21:50:33 2010 -0400 ARM: stack protector: change the canary value per task A new random value for the canary is stored in the task struct whenever a new task is forked. This is meant to allow for different canary values per task. On ARM, GCC expects the canary value to be found in a global variable called __stack_chk_guard. So this variable has to be updated with the value stored in the task struct whenever a task switch occurs. Because the variable GCC expects is global, this cannot work on SMP unfortunately. So, on SMP, the same initial canary value is kept throughout, making this feature a bit less effective although it is still useful. One way to overcome this GCC limitation would be to locate the __stack_chk_guard variable into a memory page of its own for each CPU, and then use TLB locking to have each CPU see its own page at the same virtual address for each of them. Signed-off-by: Nicolas Pitre commit c743f38013aeff58ef6252601e397b5ba281c633 Author: Nicolas Pitre Date: Mon May 24 23:55:42 2010 -0400 ARM: initial stack protector (-fstack-protector) support This is the very basic stuff without the changing canary upon task switch yet. Just the Kconfig option and a constant canary value initialized at boot time. Signed-off-by: Nicolas Pitre commit cc92c28b2db5b406657ecc05235d4ca4e222ae34 Author: Nicolas Pitre Date: Mon Jun 14 21:16:19 2010 -0400 [ARM] add address randomization to mmap() Signed-off-by: Nicolas Pitre commit 990cb8acf23cab19a2930f1ed5e7dc108f89079b Author: Nicolas Pitre Date: Mon Jun 14 16:27:19 2010 -0400 [ARM] implement arch_randomize_brk() For this feature to take effect, CONFIG_COMPAT_BRK must be turned off. This can safely be turned off for any EABI user space versions. Signed-off-by: Nicolas Pitre commit f5d5b1f8c12a7637ee1145f2f00358eb375edb54 Author: Artem Bityutskiy Date: Mon Jun 14 08:15:39 2010 +0300 UBI: fix error message and compilation warnings Fix the followong compilation warnings introduced by commit 095751a6e0838a712393a74eb0b7b6559dbdbe81: drivers/mtd/ubi/scan.c: In function 'check_what_we_have': drivers/mtd/ubi/scan.c:960: warning: passing argument 1 of 'get_random_bytes' discards qualifiers from pointer target type Fix the following compilation warnings introduced by commit 1a49af2ca019dcb4614c32f832bbcb814b61409c: drivers/mtd/ubi/io.c: In function 'ubi_io_read': drivers/mtd/ubi/io.c:153: warning: initialization makes integer from pointer without a cast drivers/mtd/ubi/io.c:170: warning: format '%s' expects type 'char *', but argument 5 has type 'int' drivers/mtd/ubi/io.c:177: warning: format '%zd' expects type 'signed size_t', but argument 7 has type 'int' drivers/mtd/ubi/io.c:177: warning: too many arguments for format Also, amend the ECC error code string and add brackets and whitespace there - this should make the message readable. Reported-by: Stephen Rothwell Signed-off-by: Artem Bityutskiy commit 6da5156fad495730cca9238ead566222175b30b9 Author: Julia Lawall Date: Sat May 22 12:00:21 2010 +0200 UBIFS: use ERR_CAST Use ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)). The former makes more clear what is the purpose of the operation, which otherwise looks like a no-op. Signed-off-by: Julia Lawall Signed-off-by: Artem Bityutskiy commit 276de5d2a18bcdc69e6d48a4d96afc14cfef9dcb Author: Artem Bityutskiy Date: Sun May 23 14:16:13 2010 +0300 UBIFS: check return code The error code from 'ubifs_rcvry_gc_commit()' was ignored, so UBIFS failed to recover and continued. Instead, we should refuse mounting the file-system. Signed-off-by: Artem Bityutskiy commit 095751a6e0838a712393a74eb0b7b6559dbdbe81 Author: Matthieu CASTET Date: Thu Jun 3 16:14:27 2010 +0200 UBI: generate random image_seq when formatting MTD devices Generate random image_seq when attaching empty MTD device (kernel do the ubi formating). Signed-off-by: Matthieu CASTET Signed-off-by: Artem Bityutskiy commit 1a49af2ca019dcb4614c32f832bbcb814b61409c Author: Artem Bityutskiy Date: Tue Jun 8 10:59:07 2010 +0300 UBI: improve ECC error message ECC errors are quite typical errors on NAND, so it is worth improving the UBI message and print something like ubi_io_read: error -74 (ECC error) while reading 4096 bytes from PEB 1:4 ... rather than ubi_io_read: error -74 while reading 4096 bytes from PEB 1:4 ... Signed-off-by: Artem Bityutskiy commit 23f5cace4f858ddf40eb0ee77b984d329fd23518 Author: Anton Vorontsov Date: Thu Mar 25 23:10:58 2010 +0300 ARM: cns3xxx: Add support for AHCI controllers CNS3xxx chips have AHCI-compatible SATA controller. This patch adds the support using generic ahci_platform driver. Signed-off-by: Anton Vorontsov commit 6279d0ea928911f7c747a65e880c36a91b066805 Author: Anton Vorontsov Date: Fri May 28 13:14:44 2010 +0400 ARM: cns3xxx: Add support for SDHCI controllers CNS3xxx chips have SDHCI-compatible SDIO/SD/MMC controller. This patch adds the support using sdhci-cns3xxx driver. Signed-off-by: Anton Vorontsov commit 5f32f7a028c9e8e032132b1818bde6cda5785a6b Author: Anton Vorontsov Date: Fri May 28 13:10:52 2010 +0400 ARM: cns3xxx: Add support for PCI Express ports This patch adds PCIe support for CNS3xxx-based boards. The support was tested with a directly attached SKY2 NIC, and EHCI USB controller behind the PLX PEX8112 P2P bridge (to make sure that type1 cfg cycles work as expected). Signed-off-by: Anton Vorontsov commit 6eb5d146d4535822d32cb317df5a9e37da6e31f6 Author: Anton Vorontsov Date: Wed Jun 2 14:12:08 2010 +0400 ARM: cns3xxx: Use IO memory accessors everywhere Before it isn't too late let's switch to IO memory accessors. This patch converts all current _REG users and _REG definitions. There should be no functional changes. Suggested-by: Ben Dooks Suggested-by: Sergei Shtylyov Signed-off-by: Anton Vorontsov commit 0798cea8c2e1afee59686c51d27d0e96b05e42d1 Author: Artem Bityutskiy Date: Fri Apr 30 13:02:33 2010 +0300 UBI: improve corrupted flash handling This patch improves the way UBI handles corrupted flash, or flash containing garbage or non-UBI data, which is the same from UBI POW. Namely, we do the following: * if 5% or more PEBs are corrupted, refuse the flash * if less than 5% PEBs are corrupted, do not refuse the flash and format these PEBs * if less than 8 PEBs are corrupted, format them silently, otherwise print a warning message. Reported-by: Sebastian Andrzej Siewior Signed-off-by: Artem Bityutskiy Reviewed-by: Sebastian Andrzej Siewior Tested-by: Sebastian Andrzej Siewior commit 33789fb9d4470e27d18596c0966339e2ca8865a9 Author: Artem Bityutskiy Date: Fri Apr 30 12:31:26 2010 +0300 UBI: introduce eraseblock counter variables This is just a preparation patch which introduces several 'struct ubi_scan_info' fields which count eraseblocks of different types. This will be used later on to decide whether it is safe to format the flash or not. No functional changes so far. Signed-off-by: Artem Bityutskiy Reviewed-by: Sebastian Andrzej Siewior Tested-by: Sebastian Andrzej Siewior commit eb89580e1a8388d206bf143c6c39d001095106ba Author: Artem Bityutskiy Date: Mon May 3 09:04:39 2010 +0300 UBI: introduce a new IO return code This patch introduces the %UBI_IO_BAD_HDR_READ return code for the I/O level function. We will use this code in order to distinguish between "corrupted header possibly because this is non-ubi data" and "corrupted header possibly because of real data corruption and ECC error". So far this patch does not introduce any functional change, just a preparation. This patch is pased on a patch from Sebastian Andrzej Siewior Signed-off-by: Artem Bityutskiy Reviewed-by: Sebastian Andrzej Siewior Tested-by: Sebastian Andrzej Siewior commit 786d78318586cbdc8aec539fe5a4942490267fef Author: Artem Bityutskiy Date: Fri Apr 30 16:50:22 2010 +0300 UBI: simplify IO error codes We do not really need 2 separate error codes for indicating bad VID and bad EC headers (UBI_IO_BAD_EC_HDR, UBI_IO_BAD_VID_HDR), it is enough to have only one UBI_IO_BAD_HDR return code. This patch does not introduce any functional change, only some code simplification. Signed-off-by: Artem Bityutskiy Reviewed-by: Sebastian Andrzej Siewior Tested-by: Sebastian Andrzej Siewior commit c10ea4d60eb387dac4d3011e40d5536eb7642a93 Author: Uwe Kleine-König Date: Thu Mar 4 16:43:31 2010 +0100 ARM: mx25: rename mach-mx25pdk.c to mach-mx25_3ds.c matching its arch number Additionally document all known names of that machine. Signed-off-by: Uwe Kleine-König commit 767c38b20e9b030acd42254a8010a54733629b0a Author: Uwe Kleine-König Date: Thu Mar 4 16:39:53 2010 +0100 ARM: mx3: rename mach-mx35pdk.c to mach-mx35_3ds.c matching its arch number Additional document all known names of that machine. Signed-off-by: Uwe Kleine-König commit 2e8766c3d4e0bd180ec8bd95707de444768b1e96 Author: Daniel Mack Date: Tue May 25 16:46:53 2010 +0200 ARM: mx3: pcm037: remove unused variable CC arch/arm/mach-mx3/mach-pcm037.o arch/arm/mach-mx3/mach-pcm037.c: In function 'mxc_board_init': arch/arm/mach-mx3/mach-pcm037.c:584: warning: unused variable 'tmp' Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer