From e34e3048733c9ca38398a5ebc1e51c9c81e78fd5 Mon Sep 17 00:00:00 2001 From: Yasuyuki KOZAKAI Date: Mon, 25 Apr 2005 12:00:04 -0700 Subject: [PATCH] --- yaml --- r: 445 b: refs/heads/master c: f649a3bfd1b0ad8872312ed1c223d69b74406e1f h: refs/heads/master i: 443: 453bac89c323f60d8c19a2ff8e818447bcd95670 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-pxa/sleep.S | 56 +----- trunk/drivers/i2c/busses/i2c-mpc.c | 4 +- trunk/drivers/serial/mpsc.c | 14 +- trunk/drivers/serial/mpsc.h | 10 +- trunk/fs/isofs/compress.c | 21 +- trunk/fs/isofs/dir.c | 13 +- trunk/fs/isofs/export.c | 6 +- trunk/fs/isofs/inode.c | 19 +- trunk/fs/isofs/isofs.h | 190 ------------------ trunk/fs/isofs/joliet.c | 6 +- trunk/fs/isofs/namei.c | 13 +- trunk/fs/isofs/rock.c | 8 +- trunk/fs/isofs/util.c | 5 +- trunk/include/asm-arm/arch-s3c2410/regs-iis.h | 10 - trunk/include/asm-arm/arch-s3c2410/regs-mem.h | 8 - trunk/include/asm-arm/arch-s3c2410/regs-spi.h | 2 - .../include/asm-arm/arch-s3c2410/uncompress.h | 6 +- trunk/include/asm-arm/string.h | 17 +- trunk/include/linux/iso_fs.h | 147 ++++++++++++++ trunk/include/linux/iso_fs_i.h | 27 +++ trunk/include/linux/iso_fs_sb.h | 34 ++++ trunk/net/bluetooth/af_bluetooth.c | 1 + trunk/net/bluetooth/bnep/sock.c | 1 + trunk/net/bluetooth/cmtp/capi.c | 1 + trunk/net/bluetooth/cmtp/core.c | 1 + trunk/net/bluetooth/cmtp/sock.c | 1 + trunk/net/bluetooth/hci_conn.c | 1 + trunk/net/bluetooth/hci_core.c | 1 + trunk/net/bluetooth/hci_event.c | 1 + trunk/net/bluetooth/hci_sock.c | 1 + trunk/net/bluetooth/hidp/core.c | 1 + trunk/net/bluetooth/hidp/sock.c | 1 + trunk/net/bluetooth/l2cap.c | 1 + trunk/net/bluetooth/rfcomm/sock.c | 1 + trunk/net/bluetooth/sco.c | 1 + trunk/net/core/rtnetlink.c | 1 + trunk/net/core/scm.c | 1 + trunk/net/core/sock.c | 1 + trunk/net/ipv4/af_inet.c | 1 + trunk/net/ipv4/netfilter/ip_conntrack_ftp.c | 4 +- trunk/net/ipv6/af_inet6.c | 1 + trunk/net/netlink/af_netlink.c | 1 + trunk/net/unix/af_unix.c | 1 + 44 files changed, 336 insertions(+), 307 deletions(-) delete mode 100644 trunk/fs/isofs/isofs.h create mode 100644 trunk/include/linux/iso_fs_i.h create mode 100644 trunk/include/linux/iso_fs_sb.h diff --git a/[refs] b/[refs] index 18448b7a23a0..e5693243470e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b453257f057b834fdf9f4a6ad6133598b79bd982 +refs/heads/master: f649a3bfd1b0ad8872312ed1c223d69b74406e1f diff --git a/trunk/arch/arm/mach-pxa/sleep.S b/trunk/arch/arm/mach-pxa/sleep.S index 5786ccad938c..16cad2c2497c 100644 --- a/trunk/arch/arm/mach-pxa/sleep.S +++ b/trunk/arch/arm/mach-pxa/sleep.S @@ -18,11 +18,6 @@ #include -#ifdef CONFIG_PXA27x // workaround for Errata 50 -#define MDREFR_KDIV 0x200a4000 // all banks -#define CCCR_SLEEP 0x00000107 // L=7 2N=2 A=0 PPDIS=0 CPDIS=0 -#endif - .text /* @@ -33,9 +28,7 @@ ENTRY(pxa_cpu_suspend) -#ifndef CONFIG_IWMMXT mra r2, r3, acc0 -#endif stmfd sp!, {r2 - r12, lr} @ save registers on stack @ get coprocessor registers @@ -68,23 +61,14 @@ ENTRY(pxa_cpu_suspend) @ prepare value for sleep mode mov r1, #3 @ sleep mode - @ prepare pointer to physical address 0 (virtual mapping in generic.c) - mov r2, #UNCACHED_PHYS_0 - - @ prepare SDRAM refresh settings + @ prepare to put SDRAM into self-refresh manually ldr r4, =MDREFR ldr r5, [r4] - - @ enable SDRAM self-refresh mode orr r5, r5, #MDREFR_SLFRSH -#ifdef CONFIG_PXA27x - @ set SDCLKx divide-by-2 bits (this is part of a workaround for Errata 50) - ldr r6, =MDREFR_KDIV - orr r5, r5, r6 -#endif + @ prepare pointer to physical address 0 (virtual mapping in generic.c) + mov r2, #UNCACHED_PHYS_0 -#ifdef CONFIG_PXA25x @ Intel PXA255 Specification Update notes problems @ about suspending with PXBus operating above 133MHz @ (see Errata 31, GPIO output signals, ... unpredictable in sleep @@ -116,18 +100,6 @@ ENTRY(pxa_cpu_suspend) mov r0, #0 mcr p14, 0, r0, c6, c0, 0 orr r0, r0, #2 @ initiate change bit -#endif -#ifdef CONFIG_PXA27x - @ Intel PXA270 Specification Update notes problems sleeping - @ with core operating above 91 MHz - @ (see Errata 50, ...processor does not exit from sleep...) - - ldr r6, =CCCR - ldr r8, [r6] @ keep original value for resume - - ldr r7, =CCCR_SLEEP @ prepare CCCR sleep value - mov r0, #0x2 @ prepare value for CLKCFG -#endif @ align execution to a cache line b 1f @@ -139,7 +111,6 @@ ENTRY(pxa_cpu_suspend) @ All needed values are now in registers. @ These last instructions should be in cache -#if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x) @ initiate the frequency change... str r7, [r6] mcr p14, 0, r0, c6, c0, 0 @@ -147,27 +118,14 @@ ENTRY(pxa_cpu_suspend) @ restore the original cpu speed value for resume str r8, [r6] - @ need 6 13-MHz cycles before changing PWRMODE - @ just set frequency to 91-MHz... 6*91/13 = 42 - - mov r0, #42 -10: subs r0, r0, #1 - bne 10b -#endif - - @ Do not reorder... - @ Intel PXA270 Specification Update notes problems performing - @ external accesses after SDRAM is put in self-refresh mode - @ (see Errata 39 ...hangs when entering self-refresh mode) + @ put SDRAM into self-refresh + str r5, [r4] @ force address lines low by reading at physical address 0 ldr r3, [r2] - @ put SDRAM into self-refresh - str r5, [r4] - @ enter sleep mode - mcr p14, 0, r1, c7, c0, 0 @ PWRMODE + mcr p14, 0, r1, c7, c0, 0 20: b 20b @ loop waiting for sleep @@ -230,9 +188,7 @@ resume_after_mmu: bl cpu_xscale_proc_init #endif ldmfd sp!, {r2, r3} -#ifndef CONFIG_IWMMXT mar acc0, r2, r3 -#endif ldmfd sp!, {r4 - r12, pc} @ return to caller diff --git a/trunk/drivers/i2c/busses/i2c-mpc.c b/trunk/drivers/i2c/busses/i2c-mpc.c index 6f33496d31c3..75b8d867dae1 100644 --- a/trunk/drivers/i2c/busses/i2c-mpc.c +++ b/trunk/drivers/i2c/busses/i2c-mpc.c @@ -55,7 +55,7 @@ #define CSR_RXAK 0x01 struct mpc_i2c { - void __iomem *base; + char *base; u32 interrupt; wait_queue_head_t queue; struct i2c_adapter adap; @@ -444,7 +444,7 @@ static int fsl_i2c_probe(struct device *device) fail_add: if (i2c->irq != 0) - free_irq(i2c->irq, NULL); + free_irq(i2c->irq, 0); fail_irq: iounmap(i2c->base); fail_map: diff --git a/trunk/drivers/serial/mpsc.c b/trunk/drivers/serial/mpsc.c index a8314aee2ab8..d0dfc3cf9245 100644 --- a/trunk/drivers/serial/mpsc.c +++ b/trunk/drivers/serial/mpsc.c @@ -329,8 +329,8 @@ mpsc_sdma_stop(struct mpsc_port_info *pi) mpsc_sdma_cmd(pi, SDMA_SDCM_AR | SDMA_SDCM_AT); /* Clear the SDMA current and first TX and RX pointers */ - mpsc_sdma_set_tx_ring(pi, NULL); - mpsc_sdma_set_rx_ring(pi, NULL); + mpsc_sdma_set_tx_ring(pi, 0); + mpsc_sdma_set_rx_ring(pi, 0); /* Disable interrupts */ mpsc_sdma_intr_mask(pi, 0xf); @@ -1540,8 +1540,8 @@ mpsc_shared_unmap_regs(void) MPSC_SDMA_INTR_REG_BLOCK_SIZE); } - mpsc_shared_regs.mpsc_routing_base = NULL; - mpsc_shared_regs.sdma_intr_base = NULL; + mpsc_shared_regs.mpsc_routing_base = 0; + mpsc_shared_regs.sdma_intr_base = 0; mpsc_shared_regs.mpsc_routing_base_p = 0; mpsc_shared_regs.sdma_intr_base_p = 0; @@ -1678,9 +1678,9 @@ mpsc_drv_unmap_regs(struct mpsc_port_info *pi) release_mem_region(pi->brg_base_p, MPSC_BRG_REG_BLOCK_SIZE); } - pi->mpsc_base = NULL; - pi->sdma_base = NULL; - pi->brg_base = NULL; + pi->mpsc_base = 0; + pi->sdma_base = 0; + pi->brg_base = 0; pi->mpsc_base_p = 0; pi->sdma_base_p = 0; diff --git a/trunk/drivers/serial/mpsc.h b/trunk/drivers/serial/mpsc.h index 678dbcf06c8f..1f7294b7095f 100644 --- a/trunk/drivers/serial/mpsc.h +++ b/trunk/drivers/serial/mpsc.h @@ -83,8 +83,8 @@ struct mpsc_shared_regs { phys_addr_t mpsc_routing_base_p; phys_addr_t sdma_intr_base_p; - void __iomem *mpsc_routing_base; - void __iomem *sdma_intr_base; + void *mpsc_routing_base; + void *sdma_intr_base; u32 MPSC_MRR_m; u32 MPSC_RCRR_m; @@ -120,9 +120,9 @@ struct mpsc_port_info { phys_addr_t brg_base_p; /* Virtual addresses of various blocks of registers (from platform) */ - void __iomem *mpsc_base; - void __iomem *sdma_base; - void __iomem *brg_base; + void *mpsc_base; + void *sdma_base; + void *brg_base; /* Descriptor ring and buffer allocations */ void *dma_region; diff --git a/trunk/fs/isofs/compress.c b/trunk/fs/isofs/compress.c index 34a44e451689..fb42c3f3bf0d 100644 --- a/trunk/fs/isofs/compress.c +++ b/trunk/fs/isofs/compress.c @@ -18,12 +18,29 @@ #include #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include + +#include +#include +#include -#include "isofs.h" #include "zisofs.h" /* This should probably be global. */ diff --git a/trunk/fs/isofs/dir.c b/trunk/fs/isofs/dir.c index 6030956b894b..14d86de6637d 100644 --- a/trunk/fs/isofs/dir.c +++ b/trunk/fs/isofs/dir.c @@ -10,9 +10,20 @@ * * isofs directory handling functions */ +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include "isofs.h" +#include + +#include static int isofs_readdir(struct file *, void *, filldir_t); diff --git a/trunk/fs/isofs/export.c b/trunk/fs/isofs/export.c index 4af856a7fda7..e4252c960871 100644 --- a/trunk/fs/isofs/export.c +++ b/trunk/fs/isofs/export.c @@ -13,7 +13,11 @@ * fs/exportfs/expfs.c. */ -#include "isofs.h" +#include +#include +#include +#include +#include static struct dentry * isofs_export_iget(struct super_block *sb, diff --git a/trunk/fs/isofs/inode.c b/trunk/fs/isofs/inode.c index abd7b12eeca7..b9256e65e144 100644 --- a/trunk/fs/isofs/inode.c +++ b/trunk/fs/isofs/inode.c @@ -12,18 +12,29 @@ */ #include -#include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include #include #include -#include -#include +#include +#include +#include #include +#include +#include -#include "isofs.h" #include "zisofs.h" #define BEQUIET diff --git a/trunk/fs/isofs/isofs.h b/trunk/fs/isofs/isofs.h deleted file mode 100644 index 9ce7b51fb614..000000000000 --- a/trunk/fs/isofs/isofs.h +++ /dev/null @@ -1,190 +0,0 @@ -#include -#include -#include -#include - -enum isofs_file_format { - isofs_file_normal = 0, - isofs_file_sparse = 1, - isofs_file_compressed = 2, -}; - -/* - * iso fs inode data in memory - */ -struct iso_inode_info { - unsigned long i_iget5_block; - unsigned long i_iget5_offset; - unsigned int i_first_extent; - unsigned char i_file_format; - unsigned char i_format_parm[3]; - unsigned long i_next_section_block; - unsigned long i_next_section_offset; - off_t i_section_size; - struct inode vfs_inode; -}; - -/* - * iso9660 super-block data in memory - */ -struct isofs_sb_info { - unsigned long s_ninodes; - unsigned long s_nzones; - unsigned long s_firstdatazone; - unsigned long s_log_zone_size; - unsigned long s_max_size; - - unsigned char s_high_sierra; /* A simple flag */ - unsigned char s_mapping; - int s_rock_offset; /* offset of SUSP fields within SU area */ - unsigned char s_rock; - unsigned char s_joliet_level; - unsigned char s_utf8; - unsigned char s_cruft; /* Broken disks with high - byte of length containing - junk */ - unsigned char s_unhide; - unsigned char s_nosuid; - unsigned char s_nodev; - unsigned char s_nocompress; - - mode_t s_mode; - gid_t s_gid; - uid_t s_uid; - struct nls_table *s_nls_iocharset; /* Native language support table */ -}; - -static inline struct isofs_sb_info *ISOFS_SB(struct super_block *sb) -{ - return sb->s_fs_info; -} - -static inline struct iso_inode_info *ISOFS_I(struct inode *inode) -{ - return container_of(inode, struct iso_inode_info, vfs_inode); -} - -static inline int isonum_711(char *p) -{ - return *(u8 *)p; -} -static inline int isonum_712(char *p) -{ - return *(s8 *)p; -} -static inline unsigned int isonum_721(char *p) -{ - return le16_to_cpu(get_unaligned((__le16 *)p)); -} -static inline unsigned int isonum_722(char *p) -{ - return be16_to_cpu(get_unaligned((__le16 *)p)); -} -static inline unsigned int isonum_723(char *p) -{ - /* Ignore bigendian datum due to broken mastering programs */ - return le16_to_cpu(get_unaligned((__le16 *)p)); -} -static inline unsigned int isonum_731(char *p) -{ - return le32_to_cpu(get_unaligned((__le32 *)p)); -} -static inline unsigned int isonum_732(char *p) -{ - return be32_to_cpu(get_unaligned((__le32 *)p)); -} -static inline unsigned int isonum_733(char *p) -{ - /* Ignore bigendian datum due to broken mastering programs */ - return le32_to_cpu(get_unaligned((__le32 *)p)); -} -extern int iso_date(char *, int); - -struct inode; /* To make gcc happy */ - -extern int parse_rock_ridge_inode(struct iso_directory_record *, struct inode *); -extern int get_rock_ridge_filename(struct iso_directory_record *, char *, struct inode *); -extern int isofs_name_translate(struct iso_directory_record *, char *, struct inode *); - -int get_joliet_filename(struct iso_directory_record *, unsigned char *, struct inode *); -int get_acorn_filename(struct iso_directory_record *, char *, struct inode *); - -extern struct dentry *isofs_lookup(struct inode *, struct dentry *, struct nameidata *); -extern struct buffer_head *isofs_bread(struct inode *, sector_t); -extern int isofs_get_blocks(struct inode *, sector_t, struct buffer_head **, unsigned long); - -extern struct inode *isofs_iget(struct super_block *sb, - unsigned long block, - unsigned long offset); - -/* Because the inode number is no longer relevant to finding the - * underlying meta-data for an inode, we are free to choose a more - * convenient 32-bit number as the inode number. The inode numbering - * scheme was recommended by Sergey Vlasov and Eric Lammerts. */ -static inline unsigned long isofs_get_ino(unsigned long block, - unsigned long offset, - unsigned long bufbits) -{ - return (block << (bufbits - 5)) | (offset >> 5); -} - -/* Every directory can have many redundant directory entries scattered - * throughout the directory tree. First there is the directory entry - * with the name of the directory stored in the parent directory. - * Then, there is the "." directory entry stored in the directory - * itself. Finally, there are possibly many ".." directory entries - * stored in all the subdirectories. - * - * In order for the NFS get_parent() method to work and for the - * general consistency of the dcache, we need to make sure the - * "i_iget5_block" and "i_iget5_offset" all point to exactly one of - * the many redundant entries for each directory. We normalize the - * block and offset by always making them point to the "." directory. - * - * Notice that we do not use the entry for the directory with the name - * that is located in the parent directory. Even though choosing this - * first directory is more natural, it is much easier to find the "." - * entry in the NFS get_parent() method because it is implicitly - * encoded in the "extent + ext_attr_length" fields of _all_ the - * redundant entries for the directory. Thus, it can always be - * reached regardless of which directory entry you have in hand. - * - * This works because the "." entry is simply the first directory - * record when you start reading the file that holds all the directory - * records, and this file starts at "extent + ext_attr_length" blocks. - * Because the "." entry is always the first entry listed in the - * directories file, the normalized "offset" value is always 0. - * - * You should pass the directory entry in "de". On return, "block" - * and "offset" will hold normalized values. Only directories are - * affected making it safe to call even for non-directory file - * types. */ -static inline void -isofs_normalize_block_and_offset(struct iso_directory_record* de, - unsigned long *block, - unsigned long *offset) -{ - /* Only directories are normalized. */ - if (de->flags[0] & 2) { - *offset = 0; - *block = (unsigned long)isonum_733(de->extent) - + (unsigned long)isonum_711(de->ext_attr_length); - } -} - -extern struct inode_operations isofs_dir_inode_operations; -extern struct file_operations isofs_dir_operations; -extern struct address_space_operations isofs_symlink_aops; -extern struct export_operations isofs_export_ops; - -/* The following macros are used to check for memory leaks. */ -#ifdef LEAK_CHECK -#define free_s leak_check_free_s -#define malloc leak_check_malloc -#define sb_bread leak_check_bread -#define brelse leak_check_brelse -extern void * leak_check_malloc(unsigned int size); -extern void leak_check_free_s(void * obj, int size); -extern struct buffer_head * leak_check_bread(struct super_block *sb, int block); -extern void leak_check_brelse(struct buffer_head * bh); -#endif /* LEAK_CHECK */ diff --git a/trunk/fs/isofs/joliet.c b/trunk/fs/isofs/joliet.c index 2931de7f1a6a..86c50e22fc87 100644 --- a/trunk/fs/isofs/joliet.c +++ b/trunk/fs/isofs/joliet.c @@ -6,9 +6,11 @@ * Joliet: Microsoft's Unicode extensions to iso9660 */ -#include +#include #include -#include "isofs.h" +#include +#include +#include /* * Convert Unicode 16 to UTF8 or ASCII. diff --git a/trunk/fs/isofs/namei.c b/trunk/fs/isofs/namei.c index 690edf37173c..9569fc44102d 100644 --- a/trunk/fs/isofs/namei.c +++ b/trunk/fs/isofs/namei.c @@ -6,9 +6,20 @@ * (C) 1991 Linus Torvalds - minix filesystem */ +#include +#include +#include +#include +#include +#include +#include +#include #include /* Joliet? */ #include -#include "isofs.h" +#include +#include + +#include /* * ok, we cannot use strncmp, as the name is not in our data space. diff --git a/trunk/fs/isofs/rock.c b/trunk/fs/isofs/rock.c index 089e79c65585..8bdd3e409543 100644 --- a/trunk/fs/isofs/rock.c +++ b/trunk/fs/isofs/rock.c @@ -6,11 +6,17 @@ * Rock Ridge Extensions to iso9660 */ +#include +#include +#include +#include +#include #include #include #include +#include +#include -#include "isofs.h" #include "rock.h" /* These functions are designed to read the system areas of a directory record diff --git a/trunk/fs/isofs/util.c b/trunk/fs/isofs/util.c index 01e1ee7a998b..3f6d9c1ac95a 100644 --- a/trunk/fs/isofs/util.c +++ b/trunk/fs/isofs/util.c @@ -2,7 +2,9 @@ * linux/fs/isofs/util.c */ -#include "isofs.h" +#include +#include +#include /* * We have to convert from a MM/DD/YY format to the Unix ctime format. @@ -78,3 +80,4 @@ int iso_date(char * p, int flag) } return crtime; } + diff --git a/trunk/include/asm-arm/arch-s3c2410/regs-iis.h b/trunk/include/asm-arm/arch-s3c2410/regs-iis.h index 385b07d510da..7ae8e1f45bc1 100644 --- a/trunk/include/asm-arm/arch-s3c2410/regs-iis.h +++ b/trunk/include/asm-arm/arch-s3c2410/regs-iis.h @@ -14,7 +14,6 @@ * 26-06-2003 BJD Finished off definitions for register addresses * 12-03-2004 BJD Updated include protection * 07-03-2005 BJD Added FIFO size flags and S3C2440 MPLL - * 05-04-2005 LCVR Added IISFCON definitions for the S3C2400 */ #ifndef __ASM_ARCH_REGS_IIS_H @@ -69,14 +68,5 @@ #define S3C2410_IISFCON_RXMASK (0x3f) #define S3C2410_IISFCON_RXSHIFT (0) -#define S3C2400_IISFCON_TXDMA (1<<11) -#define S3C2400_IISFCON_RXDMA (1<<10) -#define S3C2400_IISFCON_TXENABLE (1<<9) -#define S3C2400_IISFCON_RXENABLE (1<<8) -#define S3C2400_IISFCON_TXMASK (0x07 << 4) -#define S3C2400_IISFCON_TXSHIFT (4) -#define S3C2400_IISFCON_RXMASK (0x07) -#define S3C2400_IISFCON_RXSHIFT (0) - #define S3C2410_IISFIFO (0x10) #endif /* __ASM_ARCH_REGS_IIS_H */ diff --git a/trunk/include/asm-arm/arch-s3c2410/regs-mem.h b/trunk/include/asm-arm/arch-s3c2410/regs-mem.h index a2d7d0cec042..1a1328ac0d79 100644 --- a/trunk/include/asm-arm/arch-s3c2410/regs-mem.h +++ b/trunk/include/asm-arm/arch-s3c2410/regs-mem.h @@ -12,7 +12,6 @@ * Changelog: * 29-Sep-2004 BJD Initial include for Linux * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA - * 04-Apr-2005 LCVR Added S3C2400 DRAM/BANKSIZE_MASK definitions * */ @@ -184,12 +183,6 @@ #define S3C2410_REFRESH_TRP_3clk (1<<20) #define S3C2410_REFRESH_TRP_4clk (2<<20) -#define S3C2400_REFRESH_DRAM_TRP_MASK (3<<20) -#define S3C2400_REFRESH_DRAM_TRP_1_5clk (0<<20) -#define S3C2400_REFRESH_DRAM_TRP_2_5clk (1<<20) -#define S3C2400_REFRESH_DRAM_TRP_3_5clk (2<<20) -#define S3C2400_REFRESH_DRAM_TRP_4_5clk (3<<20) - #define S3C2410_REFRESH_TSRC_MASK (3<<18) #define S3C2410_REFRESH_TSRC_4clk (0<<18) #define S3C2410_REFRESH_TSRC_5clk (1<<18) @@ -212,7 +205,6 @@ #define S3C2410_BANKSIZE_4M (0x5 << 0) #define S3C2410_BANKSIZE_2M (0x4 << 0) #define S3C2410_BANKSIZE_MASK (0x7 << 0) -#define S3C2400_BANKSIZE_MASK (0x4 << 0) #define S3C2410_BANKSIZE_SCLK_EN (1<<4) #define S3C2410_BANKSIZE_SCKE_EN (1<<5) #define S3C2410_BANKSIZE_BURST (1<<7) diff --git a/trunk/include/asm-arm/arch-s3c2410/regs-spi.h b/trunk/include/asm-arm/arch-s3c2410/regs-spi.h index 338217858c73..cb502a88158b 100644 --- a/trunk/include/asm-arm/arch-s3c2410/regs-spi.h +++ b/trunk/include/asm-arm/arch-s3c2410/regs-spi.h @@ -12,7 +12,6 @@ * 20-04-2004 KF Created file * 04-10-2004 BJD Removed VA address (no longer mapped) * tidied file for submission - * 03-04-2005 LCVR Added S3C2400_SPPIN_nCS definition */ #ifndef __ASM_ARCH_REGS_SPI_H @@ -47,7 +46,6 @@ #define S3C2410_SPPIN_ENMUL (1<<2) /* Multi Master Error detect */ #define S3C2410_SPPIN_RESERVED (1<<1) -#define S3C2400_SPPIN_nCS (1<<1) /* SPI Card Select */ #define S3C2410_SPPIN_KEEP (1<<0) /* Master Out keep */ diff --git a/trunk/include/asm-arm/arch-s3c2410/uncompress.h b/trunk/include/asm-arm/arch-s3c2410/uncompress.h index d7a4a8354fa9..ad4252e27799 100644 --- a/trunk/include/asm-arm/arch-s3c2410/uncompress.h +++ b/trunk/include/asm-arm/arch-s3c2410/uncompress.h @@ -16,7 +16,6 @@ * 12-Oct-2004 BJD Take account of debug uart configuration * 15-Nov-2004 BJD Fixed uart configuration * 22-Feb-2005 BJD Added watchdog to uncompress - * 04-Apr-2005 LCVR Added support to S3C2400 (no cpuid at GSTATUS1) */ #ifndef __ASM_ARCH_UNCOMPRESS_H @@ -70,12 +69,9 @@ uart_rd(unsigned int reg) static void putc(char ch) { - int cpuid = S3C2410_GSTATUS1_2410; + int cpuid = *((volatile unsigned int *)S3C2410_GSTATUS1); -#ifndef CONFIG_CPU_S3C2400 - cpuid = *((volatile unsigned int *)S3C2410_GSTATUS1); cpuid &= S3C2410_GSTATUS1_IDMASK; -#endif if (ch == '\n') putc('\r'); /* expand newline to \r\n */ diff --git a/trunk/include/asm-arm/string.h b/trunk/include/asm-arm/string.h index e50c4a39b699..2a8ab162412f 100644 --- a/trunk/include/asm-arm/string.h +++ b/trunk/include/asm-arm/string.h @@ -29,22 +29,15 @@ extern void __memzero(void *ptr, __kernel_size_t n); #define memset(p,v,n) \ ({ \ - void *__p = (p); size_t __n = n; \ - if ((__n) != 0) { \ + if ((n) != 0) { \ if (__builtin_constant_p((v)) && (v) == 0) \ - __memzero((__p),(__n)); \ + __memzero((p),(n)); \ else \ - memset((__p),(v),(__n)); \ + memset((p),(v),(n)); \ } \ - (__p); \ + (p); \ }) -#define memzero(p,n) \ - ({ \ - void *__p = (p); size_t __n = n; \ - if ((__n) != 0) \ - __memzero((__p),(__n)); \ - (__p); \ - }) +#define memzero(p,n) ({ if ((n) != 0) __memzero((p),(n)); (p); }) #endif diff --git a/trunk/include/linux/iso_fs.h b/trunk/include/linux/iso_fs.h index 47967878bfef..099039d4b10d 100644 --- a/trunk/include/linux/iso_fs.h +++ b/trunk/include/linux/iso_fs.h @@ -1,3 +1,4 @@ + #ifndef _ISOFS_FS_H #define _ISOFS_FS_H @@ -162,4 +163,150 @@ struct iso_directory_record { #define ISOFS_SUPER_MAGIC 0x9660 +#ifdef __KERNEL__ +/* Number conversion inlines, named after the section in ISO 9660 + they correspond to. */ + +#include +#include +#include +#include + +static inline struct isofs_sb_info *ISOFS_SB(struct super_block *sb) +{ + return sb->s_fs_info; +} + +static inline struct iso_inode_info *ISOFS_I(struct inode *inode) +{ + return container_of(inode, struct iso_inode_info, vfs_inode); +} + +static inline int isonum_711(char *p) +{ + return *(u8 *)p; +} +static inline int isonum_712(char *p) +{ + return *(s8 *)p; +} +static inline unsigned int isonum_721(char *p) +{ + return le16_to_cpu(get_unaligned((__le16 *)p)); +} +static inline unsigned int isonum_722(char *p) +{ + return be16_to_cpu(get_unaligned((__le16 *)p)); +} +static inline unsigned int isonum_723(char *p) +{ + /* Ignore bigendian datum due to broken mastering programs */ + return le16_to_cpu(get_unaligned((__le16 *)p)); +} +static inline unsigned int isonum_731(char *p) +{ + return le32_to_cpu(get_unaligned((__le32 *)p)); +} +static inline unsigned int isonum_732(char *p) +{ + return be32_to_cpu(get_unaligned((__le32 *)p)); +} +static inline unsigned int isonum_733(char *p) +{ + /* Ignore bigendian datum due to broken mastering programs */ + return le32_to_cpu(get_unaligned((__le32 *)p)); +} +extern int iso_date(char *, int); + +struct inode; /* To make gcc happy */ + +extern int parse_rock_ridge_inode(struct iso_directory_record *, struct inode *); +extern int get_rock_ridge_filename(struct iso_directory_record *, char *, struct inode *); +extern int isofs_name_translate(struct iso_directory_record *, char *, struct inode *); + +int get_joliet_filename(struct iso_directory_record *, unsigned char *, struct inode *); +int get_acorn_filename(struct iso_directory_record *, char *, struct inode *); + +extern struct dentry *isofs_lookup(struct inode *, struct dentry *, struct nameidata *); +extern struct buffer_head *isofs_bread(struct inode *, sector_t); +extern int isofs_get_blocks(struct inode *, sector_t, struct buffer_head **, unsigned long); + +extern struct inode *isofs_iget(struct super_block *sb, + unsigned long block, + unsigned long offset); + +/* Because the inode number is no longer relevant to finding the + * underlying meta-data for an inode, we are free to choose a more + * convenient 32-bit number as the inode number. The inode numbering + * scheme was recommended by Sergey Vlasov and Eric Lammerts. */ +static inline unsigned long isofs_get_ino(unsigned long block, + unsigned long offset, + unsigned long bufbits) +{ + return (block << (bufbits - 5)) | (offset >> 5); +} + +/* Every directory can have many redundant directory entries scattered + * throughout the directory tree. First there is the directory entry + * with the name of the directory stored in the parent directory. + * Then, there is the "." directory entry stored in the directory + * itself. Finally, there are possibly many ".." directory entries + * stored in all the subdirectories. + * + * In order for the NFS get_parent() method to work and for the + * general consistency of the dcache, we need to make sure the + * "i_iget5_block" and "i_iget5_offset" all point to exactly one of + * the many redundant entries for each directory. We normalize the + * block and offset by always making them point to the "." directory. + * + * Notice that we do not use the entry for the directory with the name + * that is located in the parent directory. Even though choosing this + * first directory is more natural, it is much easier to find the "." + * entry in the NFS get_parent() method because it is implicitly + * encoded in the "extent + ext_attr_length" fields of _all_ the + * redundant entries for the directory. Thus, it can always be + * reached regardless of which directory entry you have in hand. + * + * This works because the "." entry is simply the first directory + * record when you start reading the file that holds all the directory + * records, and this file starts at "extent + ext_attr_length" blocks. + * Because the "." entry is always the first entry listed in the + * directories file, the normalized "offset" value is always 0. + * + * You should pass the directory entry in "de". On return, "block" + * and "offset" will hold normalized values. Only directories are + * affected making it safe to call even for non-directory file + * types. */ +static inline void +isofs_normalize_block_and_offset(struct iso_directory_record* de, + unsigned long *block, + unsigned long *offset) +{ + /* Only directories are normalized. */ + if (de->flags[0] & 2) { + *offset = 0; + *block = (unsigned long)isonum_733(de->extent) + + (unsigned long)isonum_711(de->ext_attr_length); + } +} + +extern struct inode_operations isofs_dir_inode_operations; +extern struct file_operations isofs_dir_operations; +extern struct address_space_operations isofs_symlink_aops; +extern struct export_operations isofs_export_ops; + +/* The following macros are used to check for memory leaks. */ +#ifdef LEAK_CHECK +#define free_s leak_check_free_s +#define malloc leak_check_malloc +#define sb_bread leak_check_bread +#define brelse leak_check_brelse +extern void * leak_check_malloc(unsigned int size); +extern void leak_check_free_s(void * obj, int size); +extern struct buffer_head * leak_check_bread(struct super_block *sb, int block); +extern void leak_check_brelse(struct buffer_head * bh); +#endif /* LEAK_CHECK */ + +#endif /* __KERNEL__ */ + #endif diff --git a/trunk/include/linux/iso_fs_i.h b/trunk/include/linux/iso_fs_i.h new file mode 100644 index 000000000000..59065e939eaa --- /dev/null +++ b/trunk/include/linux/iso_fs_i.h @@ -0,0 +1,27 @@ +#ifndef _ISO_FS_I +#define _ISO_FS_I + +#include + +enum isofs_file_format { + isofs_file_normal = 0, + isofs_file_sparse = 1, + isofs_file_compressed = 2, +}; + +/* + * iso fs inode data in memory + */ +struct iso_inode_info { + unsigned long i_iget5_block; + unsigned long i_iget5_offset; + unsigned int i_first_extent; + unsigned char i_file_format; + unsigned char i_format_parm[3]; + unsigned long i_next_section_block; + unsigned long i_next_section_offset; + off_t i_section_size; + struct inode vfs_inode; +}; + +#endif diff --git a/trunk/include/linux/iso_fs_sb.h b/trunk/include/linux/iso_fs_sb.h new file mode 100644 index 000000000000..043b97b55b8d --- /dev/null +++ b/trunk/include/linux/iso_fs_sb.h @@ -0,0 +1,34 @@ +#ifndef _ISOFS_FS_SB +#define _ISOFS_FS_SB + +/* + * iso9660 super-block data in memory + */ +struct isofs_sb_info { + unsigned long s_ninodes; + unsigned long s_nzones; + unsigned long s_firstdatazone; + unsigned long s_log_zone_size; + unsigned long s_max_size; + + unsigned char s_high_sierra; /* A simple flag */ + unsigned char s_mapping; + int s_rock_offset; /* offset of SUSP fields within SU area */ + unsigned char s_rock; + unsigned char s_joliet_level; + unsigned char s_utf8; + unsigned char s_cruft; /* Broken disks with high + byte of length containing + junk */ + unsigned char s_unhide; + unsigned char s_nosuid; + unsigned char s_nodev; + unsigned char s_nocompress; + + mode_t s_mode; + gid_t s_gid; + uid_t s_uid; + struct nls_table *s_nls_iocharset; /* Native language support table */ +}; + +#endif diff --git a/trunk/net/bluetooth/af_bluetooth.c b/trunk/net/bluetooth/af_bluetooth.c index 12b43345b54f..1650c6bf6997 100644 --- a/trunk/net/bluetooth/af_bluetooth.c +++ b/trunk/net/bluetooth/af_bluetooth.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/bnep/sock.c b/trunk/net/bluetooth/bnep/sock.c index 9778c6acd53b..9a8d99a39b6d 100644 --- a/trunk/net/bluetooth/bnep/sock.c +++ b/trunk/net/bluetooth/bnep/sock.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/cmtp/capi.c b/trunk/net/bluetooth/cmtp/capi.c index b2e7e38531c6..1e5c030b72ad 100644 --- a/trunk/net/bluetooth/cmtp/capi.c +++ b/trunk/net/bluetooth/cmtp/capi.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/cmtp/core.c b/trunk/net/bluetooth/cmtp/core.c index 2e341de3e763..20ce04f2be8b 100644 --- a/trunk/net/bluetooth/cmtp/core.c +++ b/trunk/net/bluetooth/cmtp/core.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/cmtp/sock.c b/trunk/net/bluetooth/cmtp/sock.c index beb045bf5714..4c7f9e20dade 100644 --- a/trunk/net/bluetooth/cmtp/sock.c +++ b/trunk/net/bluetooth/cmtp/sock.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/hci_conn.c b/trunk/net/bluetooth/hci_conn.c index a31244e58888..71762d7e9970 100644 --- a/trunk/net/bluetooth/hci_conn.c +++ b/trunk/net/bluetooth/hci_conn.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/hci_core.c b/trunk/net/bluetooth/hci_core.c index fb5524365bc2..860dba7bdd89 100644 --- a/trunk/net/bluetooth/hci_core.c +++ b/trunk/net/bluetooth/hci_core.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/hci_event.c b/trunk/net/bluetooth/hci_event.c index c4b592b4ef10..8ccba8ee9979 100644 --- a/trunk/net/bluetooth/hci_event.c +++ b/trunk/net/bluetooth/hci_event.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/hci_sock.c b/trunk/net/bluetooth/hci_sock.c index ebdcce5e7ca0..c9792ba75122 100644 --- a/trunk/net/bluetooth/hci_sock.c +++ b/trunk/net/bluetooth/hci_sock.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/hidp/core.c b/trunk/net/bluetooth/hidp/core.c index affbc55462e8..2cf98ceabcc7 100644 --- a/trunk/net/bluetooth/hidp/core.c +++ b/trunk/net/bluetooth/hidp/core.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/hidp/sock.c b/trunk/net/bluetooth/hidp/sock.c index f8986f881431..fabb36d4666b 100644 --- a/trunk/net/bluetooth/hidp/sock.c +++ b/trunk/net/bluetooth/hidp/sock.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/l2cap.c b/trunk/net/bluetooth/l2cap.c index 32fccfb5bfa5..c12babcf0b3c 100644 --- a/trunk/net/bluetooth/l2cap.c +++ b/trunk/net/bluetooth/l2cap.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/rfcomm/sock.c b/trunk/net/bluetooth/rfcomm/sock.c index f3f6355a2786..640028a2183c 100644 --- a/trunk/net/bluetooth/rfcomm/sock.c +++ b/trunk/net/bluetooth/rfcomm/sock.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/bluetooth/sco.c b/trunk/net/bluetooth/sco.c index 746c11fc017e..3e750ef09e60 100644 --- a/trunk/net/bluetooth/sco.c +++ b/trunk/net/bluetooth/sco.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/core/rtnetlink.c b/trunk/net/core/rtnetlink.c index d8c198e42f90..44dfaf8f04af 100644 --- a/trunk/net/core/rtnetlink.c +++ b/trunk/net/core/rtnetlink.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/core/scm.c b/trunk/net/core/scm.c index e887d19be506..a2ebf30f6aa8 100644 --- a/trunk/net/core/scm.c +++ b/trunk/net/core/scm.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/core/sock.c b/trunk/net/core/sock.c index 5c2f72fa1013..4df4fa3c5de0 100644 --- a/trunk/net/core/sock.c +++ b/trunk/net/core/sock.c @@ -97,6 +97,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/ipv4/af_inet.c b/trunk/net/ipv4/af_inet.c index cdad47642ae7..c34dab67e461 100644 --- a/trunk/net/ipv4/af_inet.c +++ b/trunk/net/ipv4/af_inet.c @@ -73,6 +73,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/ipv4/netfilter/ip_conntrack_ftp.c b/trunk/net/ipv4/netfilter/ip_conntrack_ftp.c index 12b88cbb11db..dd86503aa788 100644 --- a/trunk/net/ipv4/netfilter/ip_conntrack_ftp.c +++ b/trunk/net/ipv4/netfilter/ip_conntrack_ftp.c @@ -252,7 +252,7 @@ static int find_pattern(const char *data, size_t dlen, } /* Look up to see if we're just after a \n. */ -static int find_nl_seq(u16 seq, const struct ip_ct_ftp_master *info, int dir) +static int find_nl_seq(u32 seq, const struct ip_ct_ftp_master *info, int dir) { unsigned int i; @@ -263,7 +263,7 @@ static int find_nl_seq(u16 seq, const struct ip_ct_ftp_master *info, int dir) } /* We don't update if it's older than what we have. */ -static void update_nl_seq(u16 nl_seq, struct ip_ct_ftp_master *info, int dir) +static void update_nl_seq(u32 nl_seq, struct ip_ct_ftp_master *info, int dir) { unsigned int i, oldest = NUM_SEQ_TO_REMEMBER; diff --git a/trunk/net/ipv6/af_inet6.c b/trunk/net/ipv6/af_inet6.c index 2b193e3df49a..53a6680d540f 100644 --- a/trunk/net/ipv6/af_inet6.c +++ b/trunk/net/ipv6/af_inet6.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/trunk/net/netlink/af_netlink.c b/trunk/net/netlink/af_netlink.c index 29a5fd231eac..1d5905c90cd4 100644 --- a/trunk/net/netlink/af_netlink.c +++ b/trunk/net/netlink/af_netlink.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include diff --git a/trunk/net/unix/af_unix.c b/trunk/net/unix/af_unix.c index c478fc8db776..acc73fe68698 100644 --- a/trunk/net/unix/af_unix.c +++ b/trunk/net/unix/af_unix.c @@ -85,6 +85,7 @@ #include #include #include +#include #include #include #include