summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ext4: export iov_shorten from kernel for ext4's useEric Sandeen2008-01-281-0/+1
| | | | | | | Export iov_shorten() from kernel so that ext4 can truncate too-large writes to bitmapped files. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* ext4: different maxbytes functions for bitmap & extent filesEric Sandeen2008-01-281-3/+42
| | | | | | | use 2 different maxbytes functions for bitmapped & extent-based files. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* ext4: Support large filesAneesh Kumar K.V2008-01-283-11/+33
| | | | | | | | | | | | | | | This patch converts ext4_inode i_blocks to represent total blocks occupied by the inode in file system block size. Earlier the variable used to represent this in 512 byte block size. This actually limited the total size of the file. The feature is enabled transparently when we write an inode whose i_blocks cannot be represnted as 512 byte units in a 48 bit variable. inode flag EXT4_HUGE_FILE_FL Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
* ext4: Add support for 48 bit inode i_blocks.Aneesh Kumar K.V2008-01-283-11/+119
| | | | | | | | | | | | | | | Use the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode to represet the higher 16 bits for i_blocks. With this change max_file size becomes (2**48 -1 )* 512 bytes. We add a RO_COMPAT feature to the super block to indicate that inode have i_blocks represented as a split 48 bits. Super block with this feature set cannot be mounted read write on a kernel with CONFIG_LSF disabled. Super block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
* ext4: Rename i_dir_acl to i_size_highAneesh Kumar K.V2008-01-284-38/+34
| | | | | | | | | Rename ext4_inode.i_dir_acl to i_size_high drop ext4_inode_info.i_dir_acl as it is not used Rename ext4_inode.i_size to ext4_inode.i_size_lo Add helper function for accessing the ext4_inode combined i_size. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
* ext4: Rename i_file_acl to i_file_acl_loAneesh Kumar K.V2008-01-282-3/+3
| | | | | | | | Rename i_file_acl to i_file_acl_lo. This helps in finding bugs where we use i_file_acl instead of the combined i_file_acl_lo and i_file_acl_high Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
* ext4: Fix sparse warnings.Aneesh Kumar K.V2008-01-284-10/+19
| | | | | | | Fix sparse warnings related to static functions and local variables. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
* ext4: Introduce ext4_update_*_featureAneesh Kumar K.V2008-01-283-7/+70
| | | | | | | | Introduce ext4_update_*_feature and use them instead of opencoding. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
* ext4: fixes block group number being set to a negative valueAvantika Mathur2008-01-281-48/+53
| | | | | | | | This patch fixes various places where the group number is set to a negative value. Signed-off-by: Avantika Mathur <mathur@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
* ext4: add ext4_group_t, and change all group variables to this type.Avantika Mathur2008-01-289-87/+91
| | | | | | | | | | | | | In many places variables for block group are of type int, which limits the maximum number of block groups to 2^31. Each block group can have up to 2^15 blocks, with a 4K block size, and the max filesystem size is limited to 2^31 * (2^15 * 2^12) = 2^58 -- or 256 PB This patch introduces a new type ext4_group_t, of type unsigned long, to represent block group numbers in ext4. All occurrences of block group variables are converted to type ext4_group_t. Signed-off-by: Avantika Mathur <mathur@us.ibm.com>
* ext4 extents: remove unneeded castsEric Sandeen2008-01-281-27/+22
| | | | | | | | | There are many casts in extents.c which are not needed, as the variables are already the type of the cast, or are being promoted for no particular reason in printk's. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Mingming Cao <cmm@us.ibm.com>
* ext4: Introduce ext4_lblk_tAneesh Kumar K.V2008-01-288-226/+143
| | | | | | | | | | | | | | | | | | | This patch adds a new data type ext4_lblk_t to represent the logical file blocks. This is the preparatory patch to support large files in ext4 The follow up patch with convert the ext4_inode i_blocks to represent the number of blocks in file system block size. This changes makes it possible to have a block number 2**32 -1 which will result in overflow if the block number is represented by signed long. This patch convert all the block number to type ext4_lblk_t which is typedef to __u32 Also remove dead code ext4_ext_walk_space Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
* ext4: Avoid rec_len overflow with 64KB block sizeJan Kara2008-01-283-46/+63
| | | | | | | | | | With 64KB blocksize, a directory entry can have size 64KB which does not fit into 16 bits we have for entry lenght. So we store 0xffff instead and convert value when read from / written to disk. The patch also converts some places to use ext4_next_entry() when we are changing them anyway. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Mingming Cao <cmm@us.ibm.com>
* ext4: Support large blocksize up to PAGESIZETakashi Sato2008-01-282-2/+7
| | | | | | | | | | | | | | | | | | | | | | | This patch set supports large block size(>4k, <=64k) in ext4, just enlarging the block size limit. But it is NOT possible to have 64kB blocksize on ext4 without some changes to the directory handling code. The reason is that an empty 64kB directory block would have a rec_len == (__u16)2^16 == 0, and this would cause an error to be hit in the filesystem. The proposed solution is treat 64k rec_len with a an impossible value like rec_len = 0xffff to handle this. The Patch-set consists of the following 2 patches. [1/2] ext4: enlarge blocksize - Allow blocksize up to pagesize [2/2] ext4: fix rec_len overflow - prevent rec_len from overflow with 64KB blocksize Now on 64k page ppc64 box runs with this patch set we could create a 64k block size ext4dev, and able to handle empty directory block. Signed-off-by: Takashi Sato <sho@tnes.nec.co.jp> Signed-off-by: Mingming Cao <cmm@us.ibm.com>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdogLinus Torvalds2008-01-2916-68/+375
|\ | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] constify function pointer tables [WATCHDOG] TXx9 watchdog driver [WATCHDOG] misc_register patch [WATCHDOG] wdt: fix locking
| * [WATCHDOG] constify function pointer tablesJan Engelhardt2008-01-255-5/+5
| | | | | | | | | | | | | | | | | | "static struct file_operations" should be "static const struct file_operations". Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * [WATCHDOG] TXx9 watchdog driverAtsushi Nemoto2008-01-253-0/+283
| | | | | | | | | | | | | | | | | | | | This is a driver for watchdog timer built into TXx9 MIPS SoCs. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
| * [WATCHDOG] misc_register patch Wim Van Sebroeck2008-01-257-60/+60
| | | | | | | | | | | | | | | | | | Make sure that we first do a register_reboot_notifier before we do a misc_register. A misc_register opens the interface to userspace and it's best to do this as the last action. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| * [WATCHDOG] wdt: fix lockingAlan Cox2008-01-251-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The audit of _p usage shows various drivers assume inb_p is somehow atomic. Of course it isn't and the delay can be split from the I/O cycle causing a timing violation on chips that matter (eg this one) With the proposed use of udelay() for some _p delays this will cease to be a mostly theoretical bug (as the delay stall is unsplittable) and wants fixing. Lots of other drivers need fixing this way too. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2008-01-29418-18451/+13143
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (197 commits) sh: add spi header and r2d platform data V3 sh: update r7780rp interrupt code sh: remove consistent alloc stuff from the machine vector sh: use declared coherent memory for dreamcast pci ethernet adapter sh: declared coherent memory support V2 sh: Add support for SDK7780 board. sh: constify function pointer tables sh: Kill off -traditional for linker script. cdrom: Add support for Sega Dreamcast GD-ROM. sh: Kill off hs7751rvoip reference from arch/sh/Kconfig. sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default. sh: Kill off dead HS771RVoIP board support. sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch. sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors. sh: r2d - enable sm501 usb host function sh: remove voyagergx sh: r2d - add lcd planel timings to sm501 platform data sh: Add OHCI and UDC platform devices for SH7720. sh: intc - remove default interrupt priority tables sh: Correct pte size mismatch for X2 TLB. ...
| * | sh: add spi header and r2d platform data V3Magnus Damm2008-01-282-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the header file asm/spi.h and board specific code for the r2d board. The header file contains a structure that should be used to point out a single spi bus. The board specific code for r2d is updated with such a structure for the new spi_sh_sci driver. The structure contains a chip select callback plus information about the R9701 rtc chip which is attached to the spi bus. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: update r7780rp interrupt codeMagnus Damm2008-01-286-93/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the board specific irq code for r7780rp. The new code is very similar to the other highlander implementations, with the exception that the r7780rp handles pci interrupts using IRL. To simplify the pci code and use the same interrupt numbers as r7780mp and r7785rp we hook in to the cpu specific pci vectors. The pci interrupts and the push switch all work well with and without this patch. CF and AX88796 are not ok though and the source of the problem is unknown at this point. The AX88796 does for not detect it's proper mac address (IPL gets it right) and the kernel hangs on CF access. As a workaround this patch removes the CF and the AX88796 from the platform datain case of r7780rp. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: remove consistent alloc stuff from the machine vectorMagnus Damm2008-01-281-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now with the voyagergx cruft gone and the dreamcast using declared coherent memory for pci there are no users of the consistent alloc and free functions pointers in the machine vector. So this little patch simply removes these function pointers from the macvec. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: use declared coherent memory for dreamcast pci ethernet adapterMagnus Damm2008-01-284-80/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the dreamcast use the recently added declared coherent memory functions to point out the memory window suitable for dma. Apart from cleaning up, this gives the dreamcast a proper memory allocator for pci dma memory. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: declared coherent memory support V2Magnus Damm2008-01-282-82/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds declared coherent memory support to the sh architecture. All functions are based on the x86 implementation. Header files are adjusted to use the new functions instead of the former consistent_alloc() code. This version includes the few changes what were included in the fix patch together with modifications based on feedback from Paul. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add support for SDK7780 board.Nicholas Beck2008-01-2811-0/+1801
| | | | | | | | | | | | | | | | | | | | | Add support for Renesas Technology Europe SDK7780 board. Signed-off-by: Nicholas Beck <nbeck@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: constify function pointer tablesJan Engelhardt2008-01-282-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Kill off -traditional for linker script.Paul Mundt2008-01-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of Sam's new work in the kbuild queue depend on ## concatenation within the linker script, which doesn't work when -traditional is enabled. -traditional is a legacy remnant anyways, and we no longer require it for anything, so kill it off completely. Noted-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | cdrom: Add support for Sega Dreamcast GD-ROM.Adrian McMenamin2008-01-283-0/+879
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the GD-Rom drive, SEGA's proprietary implementation of an IDE CD Rom for the SEGA Dreamcast. This driver implements Sega's Packet Interface (SPI) - at least partially. It will also read disks in SEGA's propreitary GD format. Unlike previous drivers (which were never in mainline) this uses DMA and not PIO to read disks. It is a new driver, not a refactoring of old drivers. Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Acked-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Kill off hs7751rvoip reference from arch/sh/Kconfig.Adrian McMenamin2008-01-281-1/+0
| | | | | | | | | | | | | | | | | | | | | Remove reference to board deleted in commit 758e06ded4c48024835ef0a14627afcde2e25929 Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default.Paul Mundt2008-01-282-1329/+1
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Kill off dead HS771RVoIP board support.Paul Mundt2008-01-2812-1646/+0
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch.Paul Mundt2008-01-281-1/+1
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors.Paul Mundt2008-01-282-14/+45
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: r2d - enable sm501 usb host functionMagnus Damm2008-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This patch tells the sm501 mfd driver to build platform data for the sm501 usb host driver. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: remove voyagergxMagnus Damm2008-01-288-648/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes redundant irq handling code together with unused consistent alloc code. R2D uart setup code is changed to use sm501-regs.h and unused header files are removed. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: r2d - add lcd planel timings to sm501 platform dataMagnus Damm2008-01-281-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds timings to drive a Sharp LQ104V1DG21 lcd panel that can be hooked up to R2D-1 or R2D-PLUS. The sm501fb driver should leave the pins FPEN and VBIASEN alone, and this patch instructs the driver to do so by not setting flags flags for these pins. This patch works best together with the patch posted to the linux-fbdev-devel list "sm501fb: control panel pin usage with platform data flags", but this patch can be merged independently. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add OHCI and UDC platform devices for SH7720.Yoshihiro Shimoda2008-01-281-0/+53
| | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: intc - remove default interrupt priority tablesMagnus Damm2008-01-2819-155/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes interrupt priority tables from the intc code. Optimal priority assignment varies with embedded application anyway, so keeping the interrupt priority tables together with cpu-specific code doesn't make sense. The function intc_set_priority() should be used instead to set the desired interrupt priority level. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Correct pte size mismatch for X2 TLB.Paul Mundt2008-01-281-1/+1
| | | | | | | | | | | | | | | | | | Fixes up a build warning/error in arch/sh/mm/fault_32.c. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Fix posix_types.h userspace breakage from sh64 merge.Paul Mundt2008-01-284-122/+265
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Update SE7712 PCLK definition.Andrew Murray2008-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch provides a correct value for CONFIG_SH_PCLK_FREQ for the SH7712 solution engine when used with the board's default factory settings. This results in the board running at its maximum CPU clock rate (200 MHz). Signed-off-by: Andrew Murray <amurray@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: sh7712 clock supportAndrew Murray2008-01-283-0/+77
| | | | | | | | | | | | | | | | | | | | | This patch provides specific clock support for the SH7712. Signed-off-by: Andrew Murray <amurray@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add support for SH7763 CPU subtype.Yoshihiro Shimoda2008-01-2816-12/+564
| | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Fix get_user()/put_user() build error.Paul Mundt2008-01-281-36/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the build error caused by -Werror on gcc 3.x compilers: arch/sh/kernel/signal_32.c: In function `sys_sigaction': arch/sh/kernel/signal_32.c:66: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:67: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:69: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:70: warning: initialization discards qualifiers from pointer target type The mismatch in question was introduced by commit-id 9c5a4eec79b3eb8876d2e7fddfa1e040a7650e55. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add support for SH7721 CPU subtype.Yoshihiro Shimoda2008-01-2819-29/+68
| | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Provide a stubbed __set_fixmap() for nommu.Paul Mundt2008-01-281-0/+4
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Always use CONFIG_HZ for HZ.Paul Mundt2008-01-281-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the wdt forces HZ=1000 and sidesteps CONFIG_HZ completely. This is a remnant from when HZ was hardcoded and before CONFIG_HZ was introduced. Additionally, not all of the timers have this requirement these days, so it's also an artificial limitation. Just kill it off and use CONFIG_HZ directly. Reported-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: include/asm-sh/: Spelling fixes.Joe Perches2008-01-283-17/+17
| | | | | | | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: arch/sh/: Spelling fixes.Joe Perches2008-01-281-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>