#include #include "ncp_fs_i.h" #include "ncp_fs_sb.h" #undef NCPFS_PARANOIA #ifdef NCPFS_PARANOIA #define ncp_vdbg(fmt, ...) \ pr_debug(fmt, ##__VA_ARGS__) #else #define ncp_vdbg(fmt, ...) \ do { \ if (0) \ pr_debug(fmt, ##__VA_ARGS__); \ } while (0) #endif #ifndef DEBUG_NCP #define DEBUG_NCP 0 #endif #if DEBUG_NCP > 0 && !defined(DEBUG) #define DEBUG #endif #define ncp_dbg(level, fmt, ...) \ do { \ if (level <= DEBUG_NCP) \ pr_debug(fmt, ##__VA_ARGS__); \ } while (0) #define NCP_MAX_RPC_TIMEOUT (6*HZ) struct ncp_entry_info { struct nw_info_struct i; ino_t ino; int opened; int access; unsigned int volume; __u8 file_handle[6]; }; static inline struct ncp_server *NCP_SBP(const struct super_block *sb) { return sb->s_fs_info; } #define NCP_SERVER(inode) NCP_SBP((inode)->i_sb) static inline struct ncp_inode_info *NCP_FINFO(const struct inode *inode) { return container_of(inode, struct ncp_inode_info, vfs_inode); } /* linux/fs/ncpfs/inode.c */ int ncp_notify_change(struct dentry *, struct iattr *); struct inode *ncp_iget(struct super_block *, struct ncp_entry_info *); void ncp_update_inode(struct inode *, struct ncp_entry_info *); void ncp_update_inode2(struct inode *, struct ncp_entry_info *); /* linux/fs/ncpfs/dir.c */ extern const struct inode_operations ncp_dir_inode_operations; extern const struct file_operations ncp_dir_operations; extern const struct dentry_operations ncp_dentry_operations; int ncp_conn_logged_in(struct super_block *); int ncp_date_dos2unix(__le16 time, __le16 date); void ncp_date_unix2dos(int unix_date, __le16 * time, __le16 * date); /* linux/fs/ncpfs/ioctl.c */ long ncp_ioctl(struct file *, unsigned int, unsigned long); long ncp_compat_ioctl(struct file *, unsigned int, unsigned long); /* linux/fs/ncpfs/sock.c */ int ncp_request2(struct ncp_server *server, int function, void* reply, int max_reply_size); static inline int ncp_request(struct ncp_server *server, int function) { return ncp_request2(server, function, server->packet, server->packet_size); } int ncp_connect(struct ncp_server *server); int ncp_disconnect(struct ncp_server *server); void ncp_lock_server(struct ncp_server *server); void ncp_unlock_server(struct ncp_server *server); /* linux/fs/ncpfs/symlink.c */ #if defined(CONFIG_NCPFS_EXTRAS) || defined(CONFIG_NCPFS_NFS_NS) extern const struct address_space_operations ncp_symlink_aops; int ncp_symlink(struct inode*, struct dentry*, const char*); #endif /* linux/fs/ncpfs/file.c */ extern const struct inode_operations ncp_file_inode_operations; extern const struct file_operations ncp_file_operations; int ncp_make_open(struct inode *, int); /* linux/fs/ncpfs/mmap.c */ int ncp_mmap(struct file *, struct vm_area_struct *); /* linux/fs/ncpfs/ncplib_kernel.c */ int ncp_make_closed(struct inode *); #include "ncplib_kernel.h" ?id=304664eab93f9e95a8d28fbd9702ede88bb10cc5'>soc/tegra
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2014-07-11 09:52:41 +0200
committerThierry Reding <treding@nvidia.com>2014-07-17 13:36:41 +0200
commit304664eab93f9e95a8d28fbd9702ede88bb10cc5 (patch)
tree9ce11babe79ed88006a40ad994ef30e2f1a55d14 /include/soc/tegra
parenta0524acc94c91c72c2968a76eddc6f3afe82f9f2 (diff)
ARM: tegra: Use a function to get the chip ID
Instead of using a simple variable access to get at the Tegra chip ID, use a function so that we can run additional code. This can be used to determine where the chip ID is being accessed without being available. That in turn will be handy for resolving boot sequence dependencies in order to convert more code to regular initcalls rather than a sequence fixed by Tegra SoC setup code. Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'include/soc/tegra')