mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 05:29:04 -04:00
Merge branch 'upstream-fixes'
This commit is contained in:
commit
725b2805fd
859 changed files with 14729 additions and 8283 deletions
|
|
@ -81,7 +81,7 @@ static inline int generic_fls64(__u64 x)
|
|||
{
|
||||
__u32 h = x >> 32;
|
||||
if (h)
|
||||
return fls(x) + 32;
|
||||
return fls(h) + 32;
|
||||
return fls(x);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ extern struct config_item *config_group_find_obj(struct config_group *, const ch
|
|||
|
||||
|
||||
struct configfs_attribute {
|
||||
char *ca_name;
|
||||
const char *ca_name;
|
||||
struct module *ca_owner;
|
||||
mode_t ca_mode;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/threads.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
typedef struct { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
|
||||
extern cpumask_t _unused_cpumask_arg_;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
#include <linux/spinlock.h>
|
||||
#include <linux/cache.h>
|
||||
#include <linux/rcupdate.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
struct nameidata;
|
||||
struct vfsmount;
|
||||
|
|
@ -108,7 +107,9 @@ struct dentry {
|
|||
struct dentry_operations *d_op;
|
||||
struct super_block *d_sb; /* The root of the dentry tree */
|
||||
void *d_fsdata; /* fs-specific data */
|
||||
#ifdef CONFIG_PROFILING
|
||||
struct dcookie_struct *d_cookie; /* cookie, if any */
|
||||
#endif
|
||||
int d_mounted;
|
||||
unsigned char d_iname[DNAME_INLINE_LEN_MIN]; /* small names */
|
||||
};
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ typedef struct video_spu {
|
|||
|
||||
typedef struct video_spu_palette { /* SPU Palette information */
|
||||
int length;
|
||||
uint8_t *palette;
|
||||
uint8_t __user *palette;
|
||||
} video_spu_palette_t;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ struct elevator_queue
|
|||
extern void elv_dispatch_sort(request_queue_t *, struct request *);
|
||||
extern void elv_add_request(request_queue_t *, struct request *, int, int);
|
||||
extern void __elv_add_request(request_queue_t *, struct request *, int, int);
|
||||
extern void elv_insert(request_queue_t *, struct request *, int);
|
||||
extern int elv_merge(request_queue_t *, struct request **, struct bio *);
|
||||
extern void elv_merge_requests(request_queue_t *, struct request *,
|
||||
struct request *);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#include <linux/signal.h>
|
||||
#include <linux/time.h>
|
||||
#include <linux/user.h>
|
||||
#include <linux/ptrace.h>
|
||||
|
||||
struct elf_siginfo
|
||||
{
|
||||
|
|
|
|||
|
|
@ -100,6 +100,9 @@ extern s32 i2c_smbus_write_block_data(struct i2c_client * client,
|
|||
/* Returns the number of read bytes */
|
||||
extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
|
||||
u8 command, u8 *values);
|
||||
extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
|
||||
u8 command, u8 length,
|
||||
u8 *values);
|
||||
|
||||
/*
|
||||
* A driver is capable of handling one or more physical devices present on
|
||||
|
|
|
|||
|
|
@ -1115,9 +1115,11 @@ static inline struct i2o_message *i2o_msg_get(struct i2o_controller *c)
|
|||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
mmsg->mfa = readl(c->in_port);
|
||||
if (mmsg->mfa == I2O_QUEUE_EMPTY) {
|
||||
if (unlikely(mmsg->mfa >= c->in_queue.len)) {
|
||||
mempool_free(mmsg, c->in_msg.mempool);
|
||||
return ERR_PTR(-EBUSY);
|
||||
if(mmsg->mfa == I2O_QUEUE_EMPTY)
|
||||
return ERR_PTR(-EBUSY);
|
||||
return ERR_PTR(-EFAULT);
|
||||
}
|
||||
|
||||
return &mmsg->msg;
|
||||
|
|
|
|||
|
|
@ -582,7 +582,6 @@ typedef struct ide_drive_s {
|
|||
unsigned noprobe : 1; /* from: hdx=noprobe */
|
||||
unsigned removable : 1; /* 1 if need to do check_media_change */
|
||||
unsigned attach : 1; /* needed for removable devices */
|
||||
unsigned is_flash : 1; /* 1 if probed as flash */
|
||||
unsigned forced_geom : 1; /* 1 if hdx=c,h,s was given at boot */
|
||||
unsigned no_unmask : 1; /* disallow setting unmask bit */
|
||||
unsigned no_io_32bit : 1; /* disallow enabling 32bit I/O */
|
||||
|
|
@ -1006,7 +1005,6 @@ extern ide_hwif_t ide_hwifs[]; /* master data repository */
|
|||
extern int noautodma;
|
||||
|
||||
extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs);
|
||||
extern int __ide_end_request (ide_drive_t *drive, struct request *rq, int uptodate, int nrsecs);
|
||||
|
||||
/*
|
||||
* This is used on exit from the driver to designate the next irq handler
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ struct ioc3_driver_data {
|
|||
int id; /* IOC3 sequence number */
|
||||
/* PCI mapping */
|
||||
unsigned long pma; /* physical address */
|
||||
struct __iomem ioc3 *vma; /* pointer to registers */
|
||||
struct ioc3 __iomem *vma; /* pointer to registers */
|
||||
struct pci_dev *pdev; /* PCI device */
|
||||
/* IRQ stuff */
|
||||
int dual_irq; /* set if separate IRQs are used */
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
#define jfs_debug jbd_debug
|
||||
#else
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/buffer_head.h>
|
||||
#include <linux/journal-head.h>
|
||||
#include <linux/stddef.h>
|
||||
|
|
@ -238,7 +239,6 @@ typedef struct journal_superblock_s
|
|||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/sched.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
#define JBD_ASSERTIONS
|
||||
#ifdef JBD_ASSERTIONS
|
||||
|
|
@ -618,6 +618,7 @@ struct transaction_s
|
|||
* @j_wbuf: array of buffer_heads for journal_commit_transaction
|
||||
* @j_wbufsize: maximum number of buffer_heads allowed in j_wbuf, the
|
||||
* number that will fit in j_blocksize
|
||||
* @j_last_sync_writer: most recent pid which did a synchronous write
|
||||
* @j_private: An opaque pointer to fs-private information.
|
||||
*/
|
||||
|
||||
|
|
@ -807,6 +808,8 @@ struct journal_s
|
|||
struct buffer_head **j_wbuf;
|
||||
int j_wbufsize;
|
||||
|
||||
pid_t j_last_sync_writer;
|
||||
|
||||
/*
|
||||
* An opaque pointer to fs-private information. ext3 puts its
|
||||
* superblock pointer here
|
||||
|
|
|
|||
|
|
@ -151,6 +151,11 @@ extern unsigned int keymap_count;
|
|||
|
||||
static inline void con_schedule_flip(struct tty_struct *t)
|
||||
{
|
||||
unsigned long flags;
|
||||
spin_lock_irqsave(&t->buf.lock, flags);
|
||||
if (t->buf.tail != NULL)
|
||||
t->buf.tail->active = 0;
|
||||
spin_unlock_irqrestore(&t->buf.lock, flags);
|
||||
schedule_work(&t->buf.work);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,9 +34,11 @@ struct list_head {
|
|||
#define LIST_HEAD(name) \
|
||||
struct list_head name = LIST_HEAD_INIT(name)
|
||||
|
||||
#define INIT_LIST_HEAD(ptr) do { \
|
||||
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
|
||||
} while (0)
|
||||
static inline void INIT_LIST_HEAD(struct list_head *list)
|
||||
{
|
||||
list->next = list;
|
||||
list->prev = list;
|
||||
}
|
||||
|
||||
/*
|
||||
* Insert a new entry between two known consecutive entries.
|
||||
|
|
@ -534,7 +536,11 @@ struct hlist_node {
|
|||
#define HLIST_HEAD_INIT { .first = NULL }
|
||||
#define HLIST_HEAD(name) struct hlist_head name = { .first = NULL }
|
||||
#define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL)
|
||||
#define INIT_HLIST_NODE(ptr) ((ptr)->next = NULL, (ptr)->pprev = NULL)
|
||||
static inline void INIT_HLIST_NODE(struct hlist_node *h)
|
||||
{
|
||||
h->next = NULL;
|
||||
h->pprev = NULL;
|
||||
}
|
||||
|
||||
static inline int hlist_unhashed(const struct hlist_node *h)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ struct nlm_rqst {
|
|||
struct nlm_args a_args; /* arguments */
|
||||
struct nlm_res a_res; /* result */
|
||||
struct nlm_wait * a_block;
|
||||
unsigned int a_retries; /* Retry count */
|
||||
char a_owner[NLMCLNT_OHSIZE];
|
||||
};
|
||||
|
||||
|
|
@ -148,7 +149,6 @@ struct nlm_rqst * nlmclnt_alloc_call(void);
|
|||
int nlmclnt_prepare_block(struct nlm_rqst *req, struct nlm_host *host, struct file_lock *fl);
|
||||
void nlmclnt_finish_block(struct nlm_rqst *req);
|
||||
long nlmclnt_block(struct nlm_rqst *req, long timeout);
|
||||
int nlmclnt_cancel(struct nlm_host *, struct file_lock *);
|
||||
u32 nlmclnt_grant(struct nlm_lock *);
|
||||
void nlmclnt_recovery(struct nlm_host *, u32);
|
||||
int nlmclnt_reclaim(struct nlm_host *, struct file_lock *);
|
||||
|
|
|
|||
|
|
@ -303,7 +303,7 @@ struct page {
|
|||
*/
|
||||
#define put_page_testzero(p) \
|
||||
({ \
|
||||
BUG_ON(page_count(p) == 0); \
|
||||
BUG_ON(atomic_read(&(p)->_count) == -1);\
|
||||
atomic_add_negative(-1, &(p)->_count); \
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -21,24 +21,35 @@ struct mmc_command {
|
|||
u32 arg;
|
||||
u32 resp[4];
|
||||
unsigned int flags; /* expected response type */
|
||||
#define MMC_RSP_NONE (0 << 0)
|
||||
#define MMC_RSP_SHORT (1 << 0)
|
||||
#define MMC_RSP_LONG (2 << 0)
|
||||
#define MMC_RSP_MASK (3 << 0)
|
||||
#define MMC_RSP_CRC (1 << 3) /* expect valid crc */
|
||||
#define MMC_RSP_BUSY (1 << 4) /* card may send busy */
|
||||
#define MMC_RSP_OPCODE (1 << 5) /* response contains opcode */
|
||||
#define MMC_RSP_PRESENT (1 << 0)
|
||||
#define MMC_RSP_136 (1 << 1) /* 136 bit response */
|
||||
#define MMC_RSP_CRC (1 << 2) /* expect valid crc */
|
||||
#define MMC_RSP_BUSY (1 << 3) /* card may send busy */
|
||||
#define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */
|
||||
#define MMC_CMD_MASK (3 << 5) /* command type */
|
||||
#define MMC_CMD_AC (0 << 5)
|
||||
#define MMC_CMD_ADTC (1 << 5)
|
||||
#define MMC_CMD_BC (2 << 5)
|
||||
#define MMC_CMD_BCR (3 << 5)
|
||||
|
||||
/*
|
||||
* These are the response types, and correspond to valid bit
|
||||
* patterns of the above flags. One additional valid pattern
|
||||
* is all zeros, which means we don't expect a response.
|
||||
*/
|
||||
#define MMC_RSP_R1 (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE)
|
||||
#define MMC_RSP_R1B (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
|
||||
#define MMC_RSP_R2 (MMC_RSP_LONG|MMC_RSP_CRC)
|
||||
#define MMC_RSP_R3 (MMC_RSP_SHORT)
|
||||
#define MMC_RSP_R6 (MMC_RSP_SHORT|MMC_RSP_CRC)
|
||||
#define MMC_RSP_NONE (0)
|
||||
#define MMC_RSP_R1 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
|
||||
#define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
|
||||
#define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC)
|
||||
#define MMC_RSP_R3 (MMC_RSP_PRESENT)
|
||||
#define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC)
|
||||
|
||||
#define mmc_resp_type(cmd) ((cmd)->flags & (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE))
|
||||
|
||||
/*
|
||||
* These are the command types.
|
||||
*/
|
||||
#define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_TYPE)
|
||||
|
||||
unsigned int retries; /* max number of retries */
|
||||
unsigned int error; /* command error */
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
/* SD commands type argument response */
|
||||
/* class 8 */
|
||||
/* This is basically the same command as for MMC with some quirks. */
|
||||
#define SD_SEND_RELATIVE_ADDR 3 /* ac R6 */
|
||||
#define SD_SEND_RELATIVE_ADDR 3 /* bcr R6 */
|
||||
|
||||
/* Application commands */
|
||||
#define SD_APP_SET_BUS_WIDTH 6 /* ac [1:0] bus width R1 */
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
#include <asm/unaligned.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
#ifdef CONFIG_MTD_MAP_BANK_WIDTH_1
|
||||
#define map_bankwidth(map) 1
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ struct namespace {
|
|||
|
||||
extern int copy_namespace(int, struct task_struct *);
|
||||
extern void __put_namespace(struct namespace *namespace);
|
||||
extern struct namespace *dup_namespace(struct task_struct *, struct fs_struct *);
|
||||
|
||||
static inline void put_namespace(struct namespace *namespace)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#ifndef _IPT_CONNBYTES_H
|
||||
#define _IPT_CONNBYTES_H
|
||||
|
||||
#include <net/netfilter/xt_connbytes.h>
|
||||
#include <linux/netfilter/xt_connbytes.h>
|
||||
#define ipt_connbytes_what xt_connbytes_what
|
||||
|
||||
#define IPT_CONNBYTES_PKTS XT_CONNBYTES_PACKETS
|
||||
#define IPT_CONNBYTES_PKTS XT_CONNBYTES_PKTS
|
||||
#define IPT_CONNBYTES_BYTES XT_CONNBYTES_BYTES
|
||||
#define IPT_CONNBYTES_AVGPKT XT_CONNBYTES_AVGPKT
|
||||
|
||||
|
|
|
|||
|
|
@ -27,16 +27,22 @@ struct ipt_policy_spec
|
|||
reqid:1;
|
||||
};
|
||||
|
||||
union ipt_policy_addr
|
||||
{
|
||||
struct in_addr a4;
|
||||
struct in6_addr a6;
|
||||
};
|
||||
|
||||
struct ipt_policy_elem
|
||||
{
|
||||
u_int32_t saddr;
|
||||
u_int32_t smask;
|
||||
u_int32_t daddr;
|
||||
u_int32_t dmask;
|
||||
u_int32_t spi;
|
||||
u_int32_t reqid;
|
||||
u_int8_t proto;
|
||||
u_int8_t mode;
|
||||
union ipt_policy_addr saddr;
|
||||
union ipt_policy_addr smask;
|
||||
union ipt_policy_addr daddr;
|
||||
union ipt_policy_addr dmask;
|
||||
u_int32_t spi;
|
||||
u_int32_t reqid;
|
||||
u_int8_t proto;
|
||||
u_int8_t mode;
|
||||
|
||||
struct ipt_policy_spec match;
|
||||
struct ipt_policy_spec invert;
|
||||
|
|
|
|||
|
|
@ -27,16 +27,22 @@ struct ip6t_policy_spec
|
|||
reqid:1;
|
||||
};
|
||||
|
||||
union ip6t_policy_addr
|
||||
{
|
||||
struct in_addr a4;
|
||||
struct in6_addr a6;
|
||||
};
|
||||
|
||||
struct ip6t_policy_elem
|
||||
{
|
||||
struct in6_addr saddr;
|
||||
struct in6_addr smask;
|
||||
struct in6_addr daddr;
|
||||
struct in6_addr dmask;
|
||||
u_int32_t spi;
|
||||
u_int32_t reqid;
|
||||
u_int8_t proto;
|
||||
u_int8_t mode;
|
||||
union ip6t_policy_addr saddr;
|
||||
union ip6t_policy_addr smask;
|
||||
union ip6t_policy_addr daddr;
|
||||
union ip6t_policy_addr dmask;
|
||||
u_int32_t spi;
|
||||
u_int32_t reqid;
|
||||
u_int8_t proto;
|
||||
u_int8_t mode;
|
||||
|
||||
struct ip6t_policy_spec match;
|
||||
struct ip6t_policy_spec invert;
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@
|
|||
#include <linux/threads.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/numa.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
typedef struct { DECLARE_BITMAP(bits, MAX_NUMNODES); } nodemask_t;
|
||||
extern nodemask_t _unused_nodemask_arg_;
|
||||
|
|
|
|||
|
|
@ -128,6 +128,11 @@ struct amiga_parport_state {
|
|||
unsigned char statusdir;/* ciab.ddrb & 7 */
|
||||
};
|
||||
|
||||
struct ip32_parport_state {
|
||||
unsigned int dcr;
|
||||
unsigned int ecr;
|
||||
};
|
||||
|
||||
struct parport_state {
|
||||
union {
|
||||
struct pc_parport_state pc;
|
||||
|
|
@ -135,6 +140,7 @@ struct parport_state {
|
|||
struct ax_parport_state ax;
|
||||
struct amiga_parport_state amiga;
|
||||
/* Atari has not state. */
|
||||
struct ip32_parport_state ip32;
|
||||
void *misc;
|
||||
} u;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1670,6 +1670,9 @@
|
|||
#define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060
|
||||
#define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061
|
||||
#define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062
|
||||
#define PCI_DEVICE_ID_SIIG_8S_20x_550 0x2080
|
||||
#define PCI_DEVICE_ID_SIIG_8S_20x_650 0x2081
|
||||
#define PCI_DEVICE_ID_SIIG_8S_20x_850 0x2082
|
||||
#define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050
|
||||
|
||||
#define PCI_VENDOR_ID_RADISYS 0x1331
|
||||
|
|
@ -1829,6 +1832,7 @@
|
|||
#define PCI_VENDOR_ID_AFAVLAB 0x14db
|
||||
#define PCI_DEVICE_ID_AFAVLAB_P028 0x2180
|
||||
#define PCI_DEVICE_ID_AFAVLAB_P030 0x2182
|
||||
#define PCI_SUBDEVICE_ID_AFAVLAB_P061 0x2150
|
||||
|
||||
#define PCI_VENDOR_ID_BROADCOM 0x14e4
|
||||
#define PCI_DEVICE_ID_TIGON3_5752 0x1600
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ struct pkt_ctrl_command {
|
|||
|
||||
struct packet_settings
|
||||
{
|
||||
__u8 size; /* packet size in (512 byte) sectors */
|
||||
__u32 size; /* packet size in (512 byte) sectors */
|
||||
__u8 fp; /* fixed packets */
|
||||
__u8 link_loss; /* the rest is specified
|
||||
* as per Mt Fuji */
|
||||
|
|
@ -169,8 +169,8 @@ struct packet_iosched
|
|||
#if (PAGE_SIZE % CD_FRAMESIZE) != 0
|
||||
#error "PAGE_SIZE must be a multiple of CD_FRAMESIZE"
|
||||
#endif
|
||||
#define PACKET_MAX_SIZE 32
|
||||
#define PAGES_PER_PACKET (PACKET_MAX_SIZE * CD_FRAMESIZE / PAGE_SIZE)
|
||||
#define PACKET_MAX_SIZE 128
|
||||
#define FRAMES_PER_PAGE (PAGE_SIZE / CD_FRAMESIZE)
|
||||
#define PACKET_MAX_SECTORS (PACKET_MAX_SIZE * CD_FRAMESIZE >> 9)
|
||||
|
||||
enum packet_data_state {
|
||||
|
|
@ -219,7 +219,7 @@ struct packet_data
|
|||
atomic_t io_errors; /* Number of read/write errors during IO */
|
||||
|
||||
struct bio *r_bios[PACKET_MAX_SIZE]; /* bios to use during data gathering */
|
||||
struct page *pages[PAGES_PER_PACKET];
|
||||
struct page *pages[PACKET_MAX_SIZE / FRAMES_PER_PAGE];
|
||||
|
||||
int cache_valid; /* If non-zero, the data for the zone defined */
|
||||
/* by the sector variable is completely cached */
|
||||
|
|
|
|||
|
|
@ -190,7 +190,6 @@ static __inline__ int DQUOT_OFF(struct super_block *sb)
|
|||
*/
|
||||
#define sb_dquot_ops (NULL)
|
||||
#define sb_quotactl_ops (NULL)
|
||||
#define sync_dquots_dev(dev,type) (NULL)
|
||||
#define DQUOT_INIT(inode) do { } while(0)
|
||||
#define DQUOT_DROP(inode) do { } while(0)
|
||||
#define DQUOT_ALLOC_INODE(inode) (0)
|
||||
|
|
|
|||
|
|
@ -240,11 +240,14 @@ extern int rcu_pending(int cpu);
|
|||
* This means that all preempt_disable code sequences, including NMI and
|
||||
* hardware-interrupt handlers, in progress on entry will have completed
|
||||
* before this primitive returns. However, this does not guarantee that
|
||||
* softirq handlers will have completed, since in some kernels
|
||||
* softirq handlers will have completed, since in some kernels, these
|
||||
* handlers can run in process context, and can block.
|
||||
*
|
||||
* This primitive provides the guarantees made by the (deprecated)
|
||||
* synchronize_kernel() API. In contrast, synchronize_rcu() only
|
||||
* guarantees that rcu_read_lock() sections will have completed.
|
||||
* In "classic RCU", these two guarantees happen to be one and
|
||||
* the same, but can differ in realtime RCU implementations.
|
||||
*/
|
||||
#define synchronize_sched() synchronize_rcu()
|
||||
|
||||
|
|
|
|||
|
|
@ -58,9 +58,13 @@ extern struct reiserfs_xattr_handler posix_acl_default_handler;
|
|||
extern struct reiserfs_xattr_handler posix_acl_access_handler;
|
||||
#else
|
||||
|
||||
#define reiserfs_get_acl NULL
|
||||
#define reiserfs_cache_default_acl(inode) 0
|
||||
|
||||
static inline struct posix_acl *reiserfs_get_acl(struct inode *inode, int type)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline int reiserfs_xattr_posix_acl_init(void)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1499,15 +1499,11 @@ static inline void security_sb_post_pivotroot (struct nameidata *old_nd,
|
|||
|
||||
static inline int security_inode_alloc (struct inode *inode)
|
||||
{
|
||||
if (unlikely (IS_PRIVATE (inode)))
|
||||
return 0;
|
||||
return security_ops->inode_alloc_security (inode);
|
||||
}
|
||||
|
||||
static inline void security_inode_free (struct inode *inode)
|
||||
{
|
||||
if (unlikely (IS_PRIVATE (inode)))
|
||||
return;
|
||||
security_ops->inode_free_security (inode);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ extern void cpu_idle(void);
|
|||
#include <linux/compiler.h>
|
||||
#include <linux/thread_info.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
/*
|
||||
* main cross-CPU interfaces, handles INIT, TLB flush, STOP, etc.
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ struct rpc_cred {
|
|||
|
||||
/* per-flavor data */
|
||||
};
|
||||
#define RPCAUTH_CRED_LOCKED 0x0001
|
||||
#define RPCAUTH_CRED_NEW 0x0001
|
||||
#define RPCAUTH_CRED_UPTODATE 0x0002
|
||||
|
||||
#define RPCAUTH_CRED_MAGIC 0x0f4aa4f0
|
||||
|
|
@ -83,9 +83,10 @@ struct rpc_auth {
|
|||
struct rpc_cred_cache * au_credcache;
|
||||
/* per-flavor data */
|
||||
};
|
||||
#define RPC_AUTH_PROC_CREDS 0x0010 /* process creds (including
|
||||
* uid/gid, fs[ug]id, gids)
|
||||
*/
|
||||
|
||||
/* Flags for rpcauth_lookupcred() */
|
||||
#define RPCAUTH_LOOKUP_NEW 0x01 /* Accept an uninitialised cred */
|
||||
#define RPCAUTH_LOOKUP_ROOTCREDS 0x02 /* This really ought to go! */
|
||||
|
||||
/*
|
||||
* Client authentication ops
|
||||
|
|
@ -105,6 +106,7 @@ struct rpc_authops {
|
|||
|
||||
struct rpc_credops {
|
||||
const char * cr_name; /* Name of the auth flavour */
|
||||
int (*cr_init)(struct rpc_auth *, struct rpc_cred *);
|
||||
void (*crdestroy)(struct rpc_cred *);
|
||||
|
||||
int (*crmatch)(struct auth_cred *, struct rpc_cred *, int);
|
||||
|
|
|
|||
|
|
@ -43,16 +43,20 @@ extern void mark_free_pages(struct zone *zone);
|
|||
/* kernel/power/swsusp.c */
|
||||
extern int software_suspend(void);
|
||||
|
||||
#if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE)
|
||||
extern int pm_prepare_console(void);
|
||||
extern void pm_restore_console(void);
|
||||
|
||||
#else
|
||||
static inline int pm_prepare_console(void) { return 0; }
|
||||
static inline void pm_restore_console(void) {}
|
||||
#endif /* defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) */
|
||||
#else
|
||||
static inline int software_suspend(void)
|
||||
{
|
||||
printk("Warning: fake suspend called\n");
|
||||
return -EPERM;
|
||||
}
|
||||
#endif
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
#ifdef CONFIG_SUSPEND_SMP
|
||||
extern void disable_nonboot_cpus(void);
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ struct tty_buffer {
|
|||
unsigned char *flag_buf_ptr;
|
||||
int used;
|
||||
int size;
|
||||
int active;
|
||||
/* Data points here */
|
||||
unsigned long data[0];
|
||||
};
|
||||
|
|
@ -64,6 +65,7 @@ struct tty_buffer {
|
|||
struct tty_bufhead {
|
||||
struct work_struct work;
|
||||
struct semaphore pty_sem;
|
||||
spinlock_t lock;
|
||||
struct tty_buffer *head; /* Queue head */
|
||||
struct tty_buffer *tail; /* Active buffer */
|
||||
struct tty_buffer *free; /* Free queue head */
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ _INLINE_ int tty_insert_flip_char(struct tty_struct *tty,
|
|||
unsigned char ch, char flag)
|
||||
{
|
||||
struct tty_buffer *tb = tty->buf.tail;
|
||||
if (tb && tb->used < tb->size) {
|
||||
if (tb && tb->active && tb->used < tb->size) {
|
||||
tb->flag_buf_ptr[tb->used] = flag;
|
||||
tb->char_buf_ptr[tb->used++] = ch;
|
||||
return 1;
|
||||
|
|
@ -27,6 +27,11 @@ _INLINE_ int tty_insert_flip_char(struct tty_struct *tty,
|
|||
|
||||
_INLINE_ void tty_schedule_flip(struct tty_struct *tty)
|
||||
{
|
||||
unsigned long flags;
|
||||
spin_lock_irqsave(&tty->buf.lock, flags);
|
||||
if (tty->buf.tail != NULL)
|
||||
tty->buf.tail->active = 0;
|
||||
spin_unlock_irqrestore(&tty->buf.lock, flags);
|
||||
schedule_delayed_work(&tty->buf.work, 1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -148,11 +148,11 @@ typedef __u16 __bitwise __fs16;
|
|||
#define UFS_USEEFT ((__u16)65535)
|
||||
|
||||
#define UFS_FSOK 0x7c269d38
|
||||
#define UFS_FSACTIVE ((char)0x00)
|
||||
#define UFS_FSCLEAN ((char)0x01)
|
||||
#define UFS_FSSTABLE ((char)0x02)
|
||||
#define UFS_FSOSF1 ((char)0x03) /* is this correct for DEC OSF/1? */
|
||||
#define UFS_FSBAD ((char)0xff)
|
||||
#define UFS_FSACTIVE ((__s8)0x00)
|
||||
#define UFS_FSCLEAN ((__s8)0x01)
|
||||
#define UFS_FSSTABLE ((__s8)0x02)
|
||||
#define UFS_FSOSF1 ((__s8)0x03) /* is this correct for DEC OSF/1? */
|
||||
#define UFS_FSBAD ((__s8)0xff)
|
||||
|
||||
/* From here to next blank line, s_flags for ufs_sb_info */
|
||||
/* directory entry encoding */
|
||||
|
|
@ -502,8 +502,7 @@ struct ufs_super_block {
|
|||
/*
|
||||
* Convert cylinder group to base address of its global summary info.
|
||||
*/
|
||||
#define fs_cs(indx) \
|
||||
s_csp[(indx) >> uspi->s_csshift][(indx) & ~uspi->s_csmask]
|
||||
#define fs_cs(indx) s_csp[(indx)]
|
||||
|
||||
/*
|
||||
* Cylinder group block for a file system.
|
||||
|
|
@ -913,6 +912,7 @@ extern int ufs_sync_inode (struct inode *);
|
|||
extern void ufs_delete_inode (struct inode *);
|
||||
extern struct buffer_head * ufs_getfrag (struct inode *, unsigned, int, int *);
|
||||
extern struct buffer_head * ufs_bread (struct inode *, unsigned, int, int *);
|
||||
extern int ufs_getfrag_block (struct inode *inode, sector_t fragment, struct buffer_head *bh_result, int create);
|
||||
|
||||
/* namei.c */
|
||||
extern struct file_operations ufs_dir_operations;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ struct ufs_csum;
|
|||
|
||||
struct ufs_sb_info {
|
||||
struct ufs_sb_private_info * s_uspi;
|
||||
struct ufs_csum * s_csp[UFS_MAXCSBUFS];
|
||||
struct ufs_csum * s_csp;
|
||||
unsigned s_bytesex;
|
||||
unsigned s_flags;
|
||||
struct buffer_head ** s_ucg;
|
||||
|
|
|
|||
|
|
@ -549,7 +549,7 @@ struct v4l2_framebuffer
|
|||
struct v4l2_clip
|
||||
{
|
||||
struct v4l2_rect c;
|
||||
struct v4l2_clip *next;
|
||||
struct v4l2_clip __user *next;
|
||||
};
|
||||
|
||||
struct v4l2_window
|
||||
|
|
@ -629,6 +629,7 @@ typedef __u64 v4l2_std_id;
|
|||
#define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000)
|
||||
#define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000)
|
||||
#define V4L2_STD_NTSC_443 ((v4l2_std_id)0x00004000)
|
||||
#define V4L2_STD_NTSC_M_KR ((v4l2_std_id)0x00008000)
|
||||
|
||||
#define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000)
|
||||
#define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000)
|
||||
|
|
@ -661,7 +662,8 @@ typedef __u64 v4l2_std_id;
|
|||
V4L2_STD_PAL_H |\
|
||||
V4L2_STD_PAL_I)
|
||||
#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\
|
||||
V4L2_STD_NTSC_M_JP)
|
||||
V4L2_STD_NTSC_M_JP |\
|
||||
V4L2_STD_NTSC_M_KR)
|
||||
#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\
|
||||
V4L2_STD_SECAM_K |\
|
||||
V4L2_STD_SECAM_K1)
|
||||
|
|
|
|||
Loading…
Reference in a new issue