mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 13:44:26 -04:00
Merge commit 'v2.6.33-rc6' into secretlab/next-spi
This commit is contained in:
commit
fb7899b1f0
782 changed files with 19860 additions and 6657 deletions
|
|
@ -80,7 +80,7 @@ char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
|
|||
void __acpi_unmap_table(char *map, unsigned long size);
|
||||
int early_acpi_boot_init(void);
|
||||
int acpi_boot_init (void);
|
||||
int acpi_boot_table_init (void);
|
||||
void acpi_boot_table_init (void);
|
||||
int acpi_mps_check (void);
|
||||
int acpi_numa_init (void);
|
||||
|
||||
|
|
@ -321,9 +321,9 @@ static inline int acpi_boot_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline int acpi_boot_table_init(void)
|
||||
static inline void acpi_boot_table_init(void)
|
||||
{
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
static inline int acpi_mps_check(void)
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ extern int prepare_binprm(struct linux_binprm *);
|
|||
extern int __must_check remove_arg_zero(struct linux_binprm *);
|
||||
extern int search_binary_handler(struct linux_binprm *,struct pt_regs *);
|
||||
extern int flush_old_exec(struct linux_binprm * bprm);
|
||||
extern void setup_new_exec(struct linux_binprm * bprm);
|
||||
|
||||
extern int suid_dumpable;
|
||||
#define SUID_DUMP_DISABLE 0 /* No setuid dumping */
|
||||
|
|
|
|||
|
|
@ -938,6 +938,8 @@ extern void blk_queue_io_opt(struct request_queue *q, unsigned int opt);
|
|||
extern void blk_set_default_limits(struct queue_limits *lim);
|
||||
extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
|
||||
sector_t offset);
|
||||
extern int bdev_stack_limits(struct queue_limits *t, struct block_device *bdev,
|
||||
sector_t offset);
|
||||
extern void disk_stack_limits(struct gendisk *disk, struct block_device *bdev,
|
||||
sector_t offset);
|
||||
extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b);
|
||||
|
|
@ -1148,8 +1150,11 @@ static inline int queue_discard_alignment(struct request_queue *q)
|
|||
static inline int queue_sector_discard_alignment(struct request_queue *q,
|
||||
sector_t sector)
|
||||
{
|
||||
return ((sector << 9) - q->limits.discard_alignment)
|
||||
& (q->limits.discard_granularity - 1);
|
||||
struct queue_limits *lim = &q->limits;
|
||||
unsigned int alignment = (sector << 9) & (lim->discard_granularity - 1);
|
||||
|
||||
return (lim->discard_granularity + lim->discard_alignment - alignment)
|
||||
& (lim->discard_granularity - 1);
|
||||
}
|
||||
|
||||
static inline unsigned int queue_discard_zeroes_data(struct request_queue *q)
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
|
||||
extern const char *drbd_buildtag(void);
|
||||
#define REL_VERSION "8.3.6"
|
||||
#define REL_VERSION "8.3.7"
|
||||
#define API_VERSION 88
|
||||
#define PRO_VERSION_MIN 86
|
||||
#define PRO_VERSION_MAX 91
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ NL_PACKET(disconnect, 6, )
|
|||
|
||||
NL_PACKET(resize, 7,
|
||||
NL_INT64( 29, T_MAY_IGNORE, resize_size)
|
||||
NL_BIT( 68, T_MAY_IGNORE, resize_force)
|
||||
)
|
||||
|
||||
NL_PACKET(syncer_conf, 8,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include <linux/fcntl.h>
|
||||
#include <linux/file.h>
|
||||
#include <linux/wait.h>
|
||||
|
||||
/*
|
||||
* CAREFUL: Check include/asm-generic/fcntl.h when defining
|
||||
|
|
@ -34,6 +35,9 @@ struct file *eventfd_fget(int fd);
|
|||
struct eventfd_ctx *eventfd_ctx_fdget(int fd);
|
||||
struct eventfd_ctx *eventfd_ctx_fileget(struct file *file);
|
||||
int eventfd_signal(struct eventfd_ctx *ctx, int n);
|
||||
ssize_t eventfd_ctx_read(struct eventfd_ctx *ctx, int no_wait, __u64 *cnt);
|
||||
int eventfd_ctx_remove_wait_queue(struct eventfd_ctx *ctx, wait_queue_t *wait,
|
||||
__u64 *cnt);
|
||||
|
||||
#else /* CONFIG_EVENTFD */
|
||||
|
||||
|
|
@ -61,6 +65,18 @@ static inline void eventfd_ctx_put(struct eventfd_ctx *ctx)
|
|||
|
||||
}
|
||||
|
||||
static inline ssize_t eventfd_ctx_read(struct eventfd_ctx *ctx, int no_wait,
|
||||
__u64 *cnt)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int eventfd_ctx_remove_wait_queue(struct eventfd_ctx *ctx,
|
||||
wait_queue_t *wait, __u64 *cnt)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_EVENTFD_H */
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ struct fw_cdev_initiate_bus_reset {
|
|||
* @immediate: If non-zero, immediate key to insert before pointer
|
||||
* @key: Upper 8 bits of root directory pointer
|
||||
* @data: Userspace pointer to contents of descriptor block
|
||||
* @length: Length of descriptor block data, in bytes
|
||||
* @length: Length of descriptor block data, in quadlets
|
||||
* @handle: Handle to the descriptor, written by the kernel
|
||||
*
|
||||
* Add a descriptor block and optionally a preceding immediate key to the local
|
||||
|
|
@ -394,6 +394,8 @@ struct fw_cdev_initiate_bus_reset {
|
|||
* If not 0, the @immediate field specifies an immediate key which will be
|
||||
* inserted before the root directory pointer.
|
||||
*
|
||||
* @immediate, @key, and @data array elements are CPU-endian quadlets.
|
||||
*
|
||||
* If successful, the kernel adds the descriptor and writes back a handle to the
|
||||
* kernel-side object to be used for later removal of the descriptor block and
|
||||
* immediate key.
|
||||
|
|
|
|||
|
|
@ -2463,7 +2463,7 @@ int proc_nr_files(struct ctl_table *table, int write,
|
|||
|
||||
int __init get_filesystem_list(char *buf);
|
||||
|
||||
#define ACC_MODE(x) ("\000\004\002\006"[(x)&O_ACCMODE])
|
||||
#define ACC_MODE(x) ("\004\002\006\006"[(x)&O_ACCMODE])
|
||||
#define OPEN_FMODE(flag) ((__force fmode_t)((flag + 1) & O_ACCMODE))
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
|
|||
|
|
@ -256,9 +256,9 @@ extern struct hd_struct *disk_map_sector_rcu(struct gendisk *disk,
|
|||
#define part_stat_read(part, field) \
|
||||
({ \
|
||||
typeof((part)->dkstats->field) res = 0; \
|
||||
int i; \
|
||||
for_each_possible_cpu(i) \
|
||||
res += per_cpu_ptr((part)->dkstats, i)->field; \
|
||||
unsigned int _cpu; \
|
||||
for_each_possible_cpu(_cpu) \
|
||||
res += per_cpu_ptr((part)->dkstats, _cpu)->field; \
|
||||
res; \
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -660,6 +660,7 @@ struct input_absinfo {
|
|||
#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */
|
||||
#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */
|
||||
#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */
|
||||
#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */
|
||||
|
||||
#define ABS_MAX 0x3f
|
||||
#define ABS_CNT (ABS_MAX+1)
|
||||
|
|
|
|||
|
|
@ -4,32 +4,6 @@
|
|||
#include <linux/radix-tree.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
||||
/*
|
||||
* This is the per-process anticipatory I/O scheduler state.
|
||||
*/
|
||||
struct as_io_context {
|
||||
spinlock_t lock;
|
||||
|
||||
void (*dtor)(struct as_io_context *aic); /* destructor */
|
||||
void (*exit)(struct as_io_context *aic); /* called on task exit */
|
||||
|
||||
unsigned long state;
|
||||
atomic_t nr_queued; /* queued reads & sync writes */
|
||||
atomic_t nr_dispatched; /* number of requests gone to the drivers */
|
||||
|
||||
/* IO History tracking */
|
||||
/* Thinktime */
|
||||
unsigned long last_end_request;
|
||||
unsigned long ttime_total;
|
||||
unsigned long ttime_samples;
|
||||
unsigned long ttime_mean;
|
||||
/* Layout pattern */
|
||||
unsigned int seek_samples;
|
||||
sector_t last_request_pos;
|
||||
u64 seek_total;
|
||||
sector_t seek_mean;
|
||||
};
|
||||
|
||||
struct cfq_queue;
|
||||
struct cfq_io_context {
|
||||
void *key;
|
||||
|
|
@ -78,7 +52,6 @@ struct io_context {
|
|||
unsigned long last_waited; /* Time last woken after wait for request */
|
||||
int nr_batch_requests; /* Number of requests left in the batch */
|
||||
|
||||
struct as_io_context *aic;
|
||||
struct radix_tree_root radix_root;
|
||||
struct hlist_head cic_list;
|
||||
void *ioc_data;
|
||||
|
|
|
|||
|
|
@ -734,6 +734,10 @@ struct sysinfo {
|
|||
/* Force a compilation error if condition is constant and true */
|
||||
#define MAYBE_BUILD_BUG_ON(cond) ((void)sizeof(char[1 - 2 * !!(cond)]))
|
||||
|
||||
/* Force a compilation error if a constant expression is not a power of 2 */
|
||||
#define BUILD_BUG_ON_NOT_POWER_OF_2(n) \
|
||||
BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0))
|
||||
|
||||
/* Force a compilation error if condition is true, but also produce a
|
||||
result (of value 0 and type size_t), so the expression can be used
|
||||
e.g. in a structure initializer (or where-ever else comma expressions
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ struct kfifo {
|
|||
/**
|
||||
* DECLARE_KFIFO - macro to declare a kfifo and the associated buffer
|
||||
* @name: name of the declared kfifo datatype
|
||||
* @size: size of the fifo buffer
|
||||
* @size: size of the fifo buffer. Must be a power of two.
|
||||
*
|
||||
* Note1: the macro can be used inside struct or union declaration
|
||||
* Note2: the macro creates two objects:
|
||||
|
|
@ -91,7 +91,7 @@ union { \
|
|||
/**
|
||||
* DEFINE_KFIFO - macro to define and initialize a kfifo
|
||||
* @name: name of the declared kfifo datatype
|
||||
* @size: size of the fifo buffer
|
||||
* @size: size of the fifo buffer. Must be a power of two.
|
||||
*
|
||||
* Note1: the macro can be used for global and local kfifo data type variables
|
||||
* Note2: the macro creates two objects:
|
||||
|
|
@ -104,15 +104,28 @@ union { \
|
|||
|
||||
#undef __kfifo_initializer
|
||||
|
||||
extern void kfifo_init(struct kfifo *fifo, unsigned char *buffer,
|
||||
extern void kfifo_init(struct kfifo *fifo, void *buffer,
|
||||
unsigned int size);
|
||||
extern __must_check int kfifo_alloc(struct kfifo *fifo, unsigned int size,
|
||||
gfp_t gfp_mask);
|
||||
extern void kfifo_free(struct kfifo *fifo);
|
||||
extern unsigned int kfifo_in(struct kfifo *fifo,
|
||||
const unsigned char *from, unsigned int len);
|
||||
const void *from, unsigned int len);
|
||||
extern __must_check unsigned int kfifo_out(struct kfifo *fifo,
|
||||
unsigned char *to, unsigned int len);
|
||||
void *to, unsigned int len);
|
||||
extern __must_check unsigned int kfifo_out_peek(struct kfifo *fifo,
|
||||
void *to, unsigned int len, unsigned offset);
|
||||
|
||||
/**
|
||||
* kfifo_initialized - Check if kfifo is initialized.
|
||||
* @fifo: fifo to check
|
||||
* Return %true if FIFO is initialized, otherwise %false.
|
||||
* Assumes the fifo was 0 before.
|
||||
*/
|
||||
static inline bool kfifo_initialized(struct kfifo *fifo)
|
||||
{
|
||||
return fifo->buffer != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* kfifo_reset - removes the entire FIFO contents
|
||||
|
|
@ -194,7 +207,7 @@ static inline __must_check unsigned int kfifo_avail(struct kfifo *fifo)
|
|||
* bytes copied.
|
||||
*/
|
||||
static inline unsigned int kfifo_in_locked(struct kfifo *fifo,
|
||||
const unsigned char *from, unsigned int n, spinlock_t *lock)
|
||||
const void *from, unsigned int n, spinlock_t *lock)
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned int ret;
|
||||
|
|
@ -219,7 +232,7 @@ static inline unsigned int kfifo_in_locked(struct kfifo *fifo,
|
|||
* @to buffer and returns the number of copied bytes.
|
||||
*/
|
||||
static inline __must_check unsigned int kfifo_out_locked(struct kfifo *fifo,
|
||||
unsigned char *to, unsigned int n, spinlock_t *lock)
|
||||
void *to, unsigned int n, spinlock_t *lock)
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned int ret;
|
||||
|
|
@ -228,13 +241,6 @@ static inline __must_check unsigned int kfifo_out_locked(struct kfifo *fifo,
|
|||
|
||||
ret = kfifo_out(fifo, to, n);
|
||||
|
||||
/*
|
||||
* optimization: if the FIFO is empty, set the indices to 0
|
||||
* so we don't wrap the next time
|
||||
*/
|
||||
if (kfifo_is_empty(fifo))
|
||||
kfifo_reset(fifo);
|
||||
|
||||
spin_unlock_irqrestore(lock, flags);
|
||||
|
||||
return ret;
|
||||
|
|
@ -242,11 +248,11 @@ static inline __must_check unsigned int kfifo_out_locked(struct kfifo *fifo,
|
|||
|
||||
extern void kfifo_skip(struct kfifo *fifo, unsigned int len);
|
||||
|
||||
extern __must_check unsigned int kfifo_from_user(struct kfifo *fifo,
|
||||
const void __user *from, unsigned int n);
|
||||
extern __must_check int kfifo_from_user(struct kfifo *fifo,
|
||||
const void __user *from, unsigned int n, unsigned *lenout);
|
||||
|
||||
extern __must_check unsigned int kfifo_to_user(struct kfifo *fifo,
|
||||
void __user *to, unsigned int n);
|
||||
extern __must_check int kfifo_to_user(struct kfifo *fifo,
|
||||
void __user *to, unsigned int n, unsigned *lenout);
|
||||
|
||||
/*
|
||||
* __kfifo_add_out internal helper function for updating the out offset
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
enum kmsg_dump_reason {
|
||||
KMSG_DUMP_OOPS,
|
||||
KMSG_DUMP_PANIC,
|
||||
KMSG_DUMP_KEXEC,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
#define MFD_TMIO_H
|
||||
|
||||
#include <linux/fb.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#define tmio_ioread8(addr) readb(addr)
|
||||
#define tmio_ioread16(addr) readw(addr)
|
||||
|
|
@ -18,11 +20,48 @@
|
|||
writew((val) >> 16, (addr) + 2); \
|
||||
} while (0)
|
||||
|
||||
#define CNF_CMD 0x04
|
||||
#define CNF_CTL_BASE 0x10
|
||||
#define CNF_INT_PIN 0x3d
|
||||
#define CNF_STOP_CLK_CTL 0x40
|
||||
#define CNF_GCLK_CTL 0x41
|
||||
#define CNF_SD_CLK_MODE 0x42
|
||||
#define CNF_PIN_STATUS 0x44
|
||||
#define CNF_PWR_CTL_1 0x48
|
||||
#define CNF_PWR_CTL_2 0x49
|
||||
#define CNF_PWR_CTL_3 0x4a
|
||||
#define CNF_CARD_DETECT_MODE 0x4c
|
||||
#define CNF_SD_SLOT 0x50
|
||||
#define CNF_EXT_GCLK_CTL_1 0xf0
|
||||
#define CNF_EXT_GCLK_CTL_2 0xf1
|
||||
#define CNF_EXT_GCLK_CTL_3 0xf9
|
||||
#define CNF_SD_LED_EN_1 0xfa
|
||||
#define CNF_SD_LED_EN_2 0xfe
|
||||
|
||||
#define SDCREN 0x2 /* Enable access to MMC CTL regs. (flag in COMMAND_REG)*/
|
||||
|
||||
#define sd_config_write8(base, shift, reg, val) \
|
||||
tmio_iowrite8((val), (base) + ((reg) << (shift)))
|
||||
#define sd_config_write16(base, shift, reg, val) \
|
||||
tmio_iowrite16((val), (base) + ((reg) << (shift)))
|
||||
#define sd_config_write32(base, shift, reg, val) \
|
||||
do { \
|
||||
tmio_iowrite16((val), (base) + ((reg) << (shift))); \
|
||||
tmio_iowrite16((val) >> 16, (base) + ((reg + 2) << (shift))); \
|
||||
} while (0)
|
||||
|
||||
int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base);
|
||||
int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base);
|
||||
void tmio_core_mmc_pwr(void __iomem *cnf, int shift, int state);
|
||||
void tmio_core_mmc_clk_div(void __iomem *cnf, int shift, int state);
|
||||
|
||||
/*
|
||||
* data for the MMC controller
|
||||
*/
|
||||
struct tmio_mmc_data {
|
||||
const unsigned int hclk;
|
||||
void (*set_pwr)(struct platform_device *host, int state);
|
||||
void (*set_clk_div)(struct platform_device *host, int state);
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -666,20 +666,20 @@
|
|||
#define WM8350_ISINK_FLASH_DUR_64MS (1 << 8)
|
||||
#define WM8350_ISINK_FLASH_DUR_96MS (2 << 8)
|
||||
#define WM8350_ISINK_FLASH_DUR_1024MS (3 << 8)
|
||||
#define WM8350_ISINK_FLASH_ON_INSTANT (0 << 4)
|
||||
#define WM8350_ISINK_FLASH_ON_0_25S (1 << 4)
|
||||
#define WM8350_ISINK_FLASH_ON_0_50S (2 << 4)
|
||||
#define WM8350_ISINK_FLASH_ON_1_00S (3 << 4)
|
||||
#define WM8350_ISINK_FLASH_ON_1_95S (1 << 4)
|
||||
#define WM8350_ISINK_FLASH_ON_3_91S (2 << 4)
|
||||
#define WM8350_ISINK_FLASH_ON_7_80S (3 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_INSTANT (0 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_0_25S (1 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_0_50S (2 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_1_00S (3 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_1_95S (1 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_3_91S (2 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_7_80S (3 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_INSTANT (0 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_0_25S (1 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_0_50S (2 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_1_00S (3 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_1_95S (1 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_3_91S (2 << 0)
|
||||
#define WM8350_ISINK_FLASH_ON_7_80S (3 << 0)
|
||||
#define WM8350_ISINK_FLASH_OFF_INSTANT (0 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_0_25S (1 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_0_50S (2 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_1_00S (3 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_1_95S (1 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_3_91S (2 << 4)
|
||||
#define WM8350_ISINK_FLASH_OFF_7_80S (3 << 4)
|
||||
|
||||
/*
|
||||
* Regulator Interrupts.
|
||||
|
|
|
|||
|
|
@ -1089,6 +1089,7 @@ extern void zone_pcp_update(struct zone *zone);
|
|||
|
||||
/* nommu.c */
|
||||
extern atomic_long_t mmap_pages_allocated;
|
||||
extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t);
|
||||
|
||||
/* prio_tree.c */
|
||||
void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old);
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ struct vm_region {
|
|||
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
|
||||
struct file *vm_file; /* the backing file or NULL */
|
||||
|
||||
atomic_t vm_usage; /* region usage count */
|
||||
int vm_usage; /* region usage count (access under nommu_region_sem) */
|
||||
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
|
||||
* this region */
|
||||
};
|
||||
|
|
@ -205,10 +205,12 @@ struct mm_struct {
|
|||
struct vm_area_struct * mmap; /* list of VMAs */
|
||||
struct rb_root mm_rb;
|
||||
struct vm_area_struct * mmap_cache; /* last find_vma result */
|
||||
#ifdef CONFIG_MMU
|
||||
unsigned long (*get_unmapped_area) (struct file *filp,
|
||||
unsigned long addr, unsigned long len,
|
||||
unsigned long pgoff, unsigned long flags);
|
||||
void (*unmap_area) (struct mm_struct *mm, unsigned long addr);
|
||||
#endif
|
||||
unsigned long mmap_base; /* base of mmap area */
|
||||
unsigned long task_size; /* size of task vm space */
|
||||
unsigned long cached_hole_size; /* if non-zero, the largest hole below free_area_cache */
|
||||
|
|
|
|||
17
include/linux/mtd/pismo.h
Normal file
17
include/linux/mtd/pismo.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* PISMO memory driver - http://www.pismoworld.org/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License.
|
||||
*/
|
||||
#ifndef __LINUX_MTD_PISMO_H
|
||||
#define __LINUX_MTD_PISMO_H
|
||||
|
||||
struct pismo_pdata {
|
||||
void (*set_vpp)(void *, int);
|
||||
void *vpp_data;
|
||||
phys_addr_t cs_addrs[5];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -253,6 +253,8 @@ extern struct page * read_cache_page_async(struct address_space *mapping,
|
|||
extern struct page * read_cache_page(struct address_space *mapping,
|
||||
pgoff_t index, filler_t *filler,
|
||||
void *data);
|
||||
extern struct page * read_cache_page_gfp(struct address_space *mapping,
|
||||
pgoff_t index, gfp_t gfp_mask);
|
||||
extern int read_cache_pages(struct address_space *mapping,
|
||||
struct list_head *pages, filler_t *filler, void *data);
|
||||
|
||||
|
|
|
|||
|
|
@ -814,9 +814,14 @@ extern int perf_event_overflow(struct perf_event *event, int nmi,
|
|||
*/
|
||||
static inline int is_software_event(struct perf_event *event)
|
||||
{
|
||||
return (event->attr.type != PERF_TYPE_RAW) &&
|
||||
(event->attr.type != PERF_TYPE_HARDWARE) &&
|
||||
(event->attr.type != PERF_TYPE_HW_CACHE);
|
||||
switch (event->attr.type) {
|
||||
case PERF_TYPE_SOFTWARE:
|
||||
case PERF_TYPE_TRACEPOINT:
|
||||
/* for now the breakpoint stuff also works as software event */
|
||||
case PERF_TYPE_BREAKPOINT:
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern atomic_t perf_swevent_enabled[PERF_COUNT_SW_MAX];
|
||||
|
|
|
|||
|
|
@ -485,6 +485,7 @@ void phy_driver_unregister(struct phy_driver *drv);
|
|||
int phy_driver_register(struct phy_driver *new_driver);
|
||||
void phy_prepare_link(struct phy_device *phydev,
|
||||
void (*adjust_link)(struct net_device *));
|
||||
void phy_state_machine(struct work_struct *work);
|
||||
void phy_start_machine(struct phy_device *phydev,
|
||||
void (*handler)(struct net_device *));
|
||||
void phy_stop_machine(struct phy_device *phydev);
|
||||
|
|
|
|||
|
|
@ -377,6 +377,8 @@ extern int sysctl_max_map_count;
|
|||
|
||||
#include <linux/aio.h>
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
extern void arch_pick_mmap_layout(struct mm_struct *mm);
|
||||
extern unsigned long
|
||||
arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
|
||||
unsigned long, unsigned long);
|
||||
|
|
@ -386,6 +388,9 @@ arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr,
|
|||
unsigned long flags);
|
||||
extern void arch_unmap_area(struct mm_struct *, unsigned long);
|
||||
extern void arch_unmap_area_topdown(struct mm_struct *, unsigned long);
|
||||
#else
|
||||
static inline void arch_pick_mmap_layout(struct mm_struct *mm) {}
|
||||
#endif
|
||||
|
||||
#if USE_SPLIT_PTLOCKS
|
||||
/*
|
||||
|
|
@ -1364,7 +1369,7 @@ struct task_struct {
|
|||
char comm[TASK_COMM_LEN]; /* executable name excluding path
|
||||
- access with [gs]et_task_comm (which lock
|
||||
it with task_lock())
|
||||
- initialized normally by flush_old_exec */
|
||||
- initialized normally by setup_new_exec */
|
||||
/* file system info */
|
||||
int link_count, total_link_count;
|
||||
#ifdef CONFIG_SYSVIPC
|
||||
|
|
@ -2491,8 +2496,6 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu)
|
|||
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
extern void arch_pick_mmap_layout(struct mm_struct *mm);
|
||||
|
||||
#ifdef CONFIG_TRACING
|
||||
extern void
|
||||
__trace_special(void *__tr, void *__data,
|
||||
|
|
|
|||
|
|
@ -136,25 +136,6 @@ static inline void serio_continue_rx(struct serio *serio)
|
|||
spin_unlock_irq(&serio->lock);
|
||||
}
|
||||
|
||||
/*
|
||||
* Use the following functions to pin serio's driver in process context
|
||||
*/
|
||||
static inline int serio_pin_driver(struct serio *serio)
|
||||
{
|
||||
return mutex_lock_interruptible(&serio->drv_mutex);
|
||||
}
|
||||
|
||||
static inline void serio_pin_driver_uninterruptible(struct serio *serio)
|
||||
{
|
||||
mutex_lock(&serio->drv_mutex);
|
||||
}
|
||||
|
||||
static inline void serio_unpin_driver(struct serio *serio)
|
||||
{
|
||||
mutex_unlock(&serio->drv_mutex);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -28,8 +28,12 @@ struct ad7879_platform_data {
|
|||
* 1 = 4, 2 = 8, 3 = 16 (median > averaging)
|
||||
*/
|
||||
u8 median;
|
||||
/* 1 = AUX/VBAT/GPIO set to GPIO Output */
|
||||
u8 gpio_output;
|
||||
/* Initial GPIO pin state (valid if gpio_output = 1) */
|
||||
u8 gpio_default;
|
||||
/* 1 = AUX/VBAT/GPIO export GPIO to gpiolib
|
||||
* requires CONFIG_GPIOLIB
|
||||
*/
|
||||
bool gpio_export;
|
||||
/* identifies the first GPIO number handled by this chip;
|
||||
* or, if negative, requests dynamic ID allocation.
|
||||
*/
|
||||
s32 gpio_base;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -72,7 +72,10 @@ static inline __must_check char *strstrip(char *str)
|
|||
}
|
||||
|
||||
#ifndef __HAVE_ARCH_STRSTR
|
||||
extern char * strstr(const char *,const char *);
|
||||
extern char * strstr(const char *, const char *);
|
||||
#endif
|
||||
#ifndef __HAVE_ARCH_STRNSTR
|
||||
extern char * strnstr(const char *, const char *, size_t);
|
||||
#endif
|
||||
#ifndef __HAVE_ARCH_STRLEN
|
||||
extern __kernel_size_t strlen(const char *);
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ int arch_update_cpu_topology(void);
|
|||
| 1*SD_WAKE_AFFINE \
|
||||
| 1*SD_SHARE_CPUPOWER \
|
||||
| 0*SD_POWERSAVINGS_BALANCE \
|
||||
| 0*SD_SHARE_PKG_RESOURCES \
|
||||
| 1*SD_SHARE_PKG_RESOURCES \
|
||||
| 0*SD_SERIALIZE \
|
||||
| 0*SD_PREFER_SIBLING \
|
||||
, \
|
||||
|
|
|
|||
|
|
@ -464,7 +464,7 @@ extern int tty_port_alloc_xmit_buf(struct tty_port *port);
|
|||
extern void tty_port_free_xmit_buf(struct tty_port *port);
|
||||
extern void tty_port_put(struct tty_port *port);
|
||||
|
||||
extern inline struct tty_port *tty_port_get(struct tty_port *port)
|
||||
static inline struct tty_port *tty_port_get(struct tty_port *port)
|
||||
{
|
||||
if (port)
|
||||
kref_get(&port->kref);
|
||||
|
|
@ -486,7 +486,7 @@ extern void tty_port_close(struct tty_port *port,
|
|||
struct tty_struct *tty, struct file *filp);
|
||||
extern int tty_port_open(struct tty_port *port,
|
||||
struct tty_struct *tty, struct file *filp);
|
||||
extern inline int tty_port_users(struct tty_port *port)
|
||||
static inline int tty_port_users(struct tty_port *port)
|
||||
{
|
||||
return port->count + port->blocked_open;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -192,6 +192,7 @@ struct usb_interface {
|
|||
unsigned needs_altsetting0:1; /* switch to altsetting 0 is pending */
|
||||
unsigned needs_binding:1; /* needs delayed unbind/rebind */
|
||||
unsigned reset_running:1;
|
||||
unsigned resetting_device:1; /* true: bandwidth alloc after reset */
|
||||
|
||||
struct device dev; /* interface specific device info */
|
||||
struct device *usb_dev;
|
||||
|
|
|
|||
Loading…
Reference in a new issue