Merge branch 'perf/urgent' into perf/core
Merge in all pending fixes, before pulling the latest development bits from Arnaldo - which will involve merge conflicts. Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -437,11 +437,9 @@ void acpi_remove_dir(struct acpi_device *);
|
||||
*/
|
||||
struct acpi_bus_type {
|
||||
struct list_head list;
|
||||
struct bus_type *bus;
|
||||
/* For general devices under the bus */
|
||||
const char *name;
|
||||
bool (*match)(struct device *dev);
|
||||
int (*find_device) (struct device *, acpi_handle *);
|
||||
/* For bridges, such as PCI root bridge, IDE controller */
|
||||
int (*find_bridge) (struct device *, acpi_handle *);
|
||||
void (*setup)(struct device *);
|
||||
void (*cleanup)(struct device *);
|
||||
};
|
||||
|
||||
@@ -235,6 +235,9 @@ extern void acpi_processor_unregister_performance(struct
|
||||
if a _PPC object exists, rmmod is disallowed then */
|
||||
int acpi_processor_notify_smm(struct module *calling_module);
|
||||
|
||||
/* parsing the _P* objects. */
|
||||
extern int acpi_processor_get_performance_info(struct acpi_processor *pr);
|
||||
|
||||
/* for communication between multiple parts of the processor kernel module */
|
||||
DECLARE_PER_CPU(struct acpi_processor *, processors);
|
||||
extern struct acpi_processor_errata errata;
|
||||
|
||||
@@ -443,12 +443,12 @@ struct drm_crtc {
|
||||
* @dpms: set power state (see drm_crtc_funcs above)
|
||||
* @save: save connector state
|
||||
* @restore: restore connector state
|
||||
* @reset: reset connector after state has been invalidate (e.g. resume)
|
||||
* @reset: reset connector after state has been invalidated (e.g. resume)
|
||||
* @detect: is this connector active?
|
||||
* @fill_modes: fill mode list for this connector
|
||||
* @set_property: property for this connector may need update
|
||||
* @set_property: property for this connector may need an update
|
||||
* @destroy: make object go away
|
||||
* @force: notify the driver the connector is forced on
|
||||
* @force: notify the driver that the connector is forced on
|
||||
*
|
||||
* Each CRTC may have one or more connectors attached to it. The functions
|
||||
* below allow the core DRM code to control connectors, enumerate available modes,
|
||||
|
||||
@@ -6,9 +6,8 @@
|
||||
#define ECRYPTFS_VERSION_MINOR 0x04
|
||||
#define ECRYPTFS_SUPPORTED_FILE_VERSION 0x03
|
||||
/* These flags indicate which features are supported by the kernel
|
||||
* module; userspace tools such as the mount helper read
|
||||
* ECRYPTFS_VERSIONING_MASK from a sysfs handle in order to determine
|
||||
* how to behave. */
|
||||
* module; userspace tools such as the mount helper read the feature
|
||||
* bits from a sysfs handle in order to determine how to behave. */
|
||||
#define ECRYPTFS_VERSIONING_PASSPHRASE 0x00000001
|
||||
#define ECRYPTFS_VERSIONING_PUBKEY 0x00000002
|
||||
#define ECRYPTFS_VERSIONING_PLAINTEXT_PASSTHROUGH 0x00000004
|
||||
@@ -19,13 +18,6 @@
|
||||
#define ECRYPTFS_VERSIONING_HMAC 0x00000080
|
||||
#define ECRYPTFS_VERSIONING_FILENAME_ENCRYPTION 0x00000100
|
||||
#define ECRYPTFS_VERSIONING_GCM 0x00000200
|
||||
#define ECRYPTFS_VERSIONING_MASK (ECRYPTFS_VERSIONING_PASSPHRASE \
|
||||
| ECRYPTFS_VERSIONING_PLAINTEXT_PASSTHROUGH \
|
||||
| ECRYPTFS_VERSIONING_PUBKEY \
|
||||
| ECRYPTFS_VERSIONING_XATTR \
|
||||
| ECRYPTFS_VERSIONING_MULTKEY \
|
||||
| ECRYPTFS_VERSIONING_DEVMISC \
|
||||
| ECRYPTFS_VERSIONING_FILENAME_ENCRYPTION)
|
||||
#define ECRYPTFS_MAX_PASSWORD_LENGTH 64
|
||||
#define ECRYPTFS_MAX_PASSPHRASE_BYTES ECRYPTFS_MAX_PASSWORD_LENGTH
|
||||
#define ECRYPTFS_SALT_SIZE 8
|
||||
|
||||
@@ -1825,6 +1825,8 @@ struct file_system_type {
|
||||
struct lock_class_key i_mutex_dir_key;
|
||||
};
|
||||
|
||||
#define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME)
|
||||
|
||||
extern struct dentry *mount_ns(struct file_system_type *fs_type, int flags,
|
||||
void *data, int (*fill_super)(struct super_block *, void *, int));
|
||||
extern struct dentry *mount_bdev(struct file_system_type *fs_type,
|
||||
|
||||
@@ -118,10 +118,8 @@
|
||||
|
||||
#ifdef CONFIG_PREEMPT_COUNT
|
||||
# define preemptible() (preempt_count() == 0 && !irqs_disabled())
|
||||
# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1)
|
||||
#else
|
||||
# define preemptible() 0
|
||||
# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_GENERIC_HARDIRQS)
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
/* 2^31 + 2^29 - 2^25 + 2^22 - 2^19 - 2^16 + 1 */
|
||||
#define GOLDEN_RATIO_PRIME_32 0x9e370001UL
|
||||
@@ -31,7 +32,7 @@
|
||||
#error Wordsize not 32 or 64
|
||||
#endif
|
||||
|
||||
static inline u64 hash_64(u64 val, unsigned int bits)
|
||||
static __always_inline u64 hash_64(u64 val, unsigned int bits)
|
||||
{
|
||||
u64 hash = val;
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* For key_map array */
|
||||
#define MXT_NUM_GPIO 4
|
||||
|
||||
/* Orient */
|
||||
#define MXT_NORMAL 0x0
|
||||
#define MXT_DIAGONAL 0x1
|
||||
@@ -39,6 +42,8 @@ struct mxt_platform_data {
|
||||
unsigned int voltage;
|
||||
unsigned char orient;
|
||||
unsigned long irqflags;
|
||||
bool is_tp;
|
||||
const unsigned int key_map[MXT_NUM_GPIO];
|
||||
};
|
||||
|
||||
#endif /* __LINUX_ATMEL_MXT_TS_H */
|
||||
|
||||
@@ -73,8 +73,6 @@ struct idr {
|
||||
*/
|
||||
|
||||
void *idr_find_slowpath(struct idr *idp, int id);
|
||||
int idr_pre_get(struct idr *idp, gfp_t gfp_mask);
|
||||
int idr_get_new_above(struct idr *idp, void *ptr, int starting_id, int *id);
|
||||
void idr_preload(gfp_t gfp_mask);
|
||||
int idr_alloc(struct idr *idp, void *ptr, int start, int end, gfp_t gfp_mask);
|
||||
int idr_for_each(struct idr *idp,
|
||||
@@ -99,7 +97,7 @@ static inline void idr_preload_end(void)
|
||||
|
||||
/**
|
||||
* idr_find - return pointer for given id
|
||||
* @idp: idr handle
|
||||
* @idr: idr handle
|
||||
* @id: lookup key
|
||||
*
|
||||
* Return the pointer given the id it has been registered with. A %NULL
|
||||
@@ -119,19 +117,6 @@ static inline void *idr_find(struct idr *idr, int id)
|
||||
return idr_find_slowpath(idr, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* idr_get_new - allocate new idr entry
|
||||
* @idp: idr handle
|
||||
* @ptr: pointer you want associated with the id
|
||||
* @id: pointer to the allocated handle
|
||||
*
|
||||
* Simple wrapper around idr_get_new_above() w/ @starting_id of zero.
|
||||
*/
|
||||
static inline int idr_get_new(struct idr *idp, void *ptr, int *id)
|
||||
{
|
||||
return idr_get_new_above(idp, ptr, 0, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* idr_for_each_entry - iterate over an idr's elements of a given type
|
||||
* @idp: idr handle
|
||||
@@ -143,7 +128,56 @@ static inline int idr_get_new(struct idr *idp, void *ptr, int *id)
|
||||
entry != NULL; \
|
||||
++id, entry = (typeof(entry))idr_get_next((idp), &(id)))
|
||||
|
||||
void __idr_remove_all(struct idr *idp); /* don't use */
|
||||
/*
|
||||
* Don't use the following functions. These exist only to suppress
|
||||
* deprecated warnings on EXPORT_SYMBOL()s.
|
||||
*/
|
||||
int __idr_pre_get(struct idr *idp, gfp_t gfp_mask);
|
||||
int __idr_get_new_above(struct idr *idp, void *ptr, int starting_id, int *id);
|
||||
void __idr_remove_all(struct idr *idp);
|
||||
|
||||
/**
|
||||
* idr_pre_get - reserve resources for idr allocation
|
||||
* @idp: idr handle
|
||||
* @gfp_mask: memory allocation flags
|
||||
*
|
||||
* Part of old alloc interface. This is going away. Use
|
||||
* idr_preload[_end]() and idr_alloc() instead.
|
||||
*/
|
||||
static inline int __deprecated idr_pre_get(struct idr *idp, gfp_t gfp_mask)
|
||||
{
|
||||
return __idr_pre_get(idp, gfp_mask);
|
||||
}
|
||||
|
||||
/**
|
||||
* idr_get_new_above - allocate new idr entry above or equal to a start id
|
||||
* @idp: idr handle
|
||||
* @ptr: pointer you want associated with the id
|
||||
* @starting_id: id to start search at
|
||||
* @id: pointer to the allocated handle
|
||||
*
|
||||
* Part of old alloc interface. This is going away. Use
|
||||
* idr_preload[_end]() and idr_alloc() instead.
|
||||
*/
|
||||
static inline int __deprecated idr_get_new_above(struct idr *idp, void *ptr,
|
||||
int starting_id, int *id)
|
||||
{
|
||||
return __idr_get_new_above(idp, ptr, starting_id, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* idr_get_new - allocate new idr entry
|
||||
* @idp: idr handle
|
||||
* @ptr: pointer you want associated with the id
|
||||
* @id: pointer to the allocated handle
|
||||
*
|
||||
* Part of old alloc interface. This is going away. Use
|
||||
* idr_preload[_end]() and idr_alloc() instead.
|
||||
*/
|
||||
static inline int __deprecated idr_get_new(struct idr *idp, void *ptr, int *id)
|
||||
{
|
||||
return __idr_get_new_above(idp, ptr, 0, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* idr_remove_all - remove all ids from the given idr tree
|
||||
|
||||
@@ -227,14 +227,17 @@ struct st_sensor_data {
|
||||
};
|
||||
|
||||
#ifdef CONFIG_IIO_BUFFER
|
||||
irqreturn_t st_sensors_trigger_handler(int irq, void *p);
|
||||
|
||||
int st_sensors_get_buffer_element(struct iio_dev *indio_dev, u8 *buf);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IIO_TRIGGER
|
||||
int st_sensors_allocate_trigger(struct iio_dev *indio_dev,
|
||||
const struct iio_trigger_ops *trigger_ops);
|
||||
|
||||
void st_sensors_deallocate_trigger(struct iio_dev *indio_dev);
|
||||
|
||||
irqreturn_t st_sensors_trigger_handler(int irq, void *p);
|
||||
|
||||
int st_sensors_get_buffer_element(struct iio_dev *indio_dev, u8 *buf);
|
||||
#else
|
||||
static inline int st_sensors_allocate_trigger(struct iio_dev *indio_dev,
|
||||
const struct iio_trigger_ops *trigger_ops)
|
||||
|
||||
@@ -854,6 +854,8 @@ type_pf_tresize(struct ip_set *set, bool retried)
|
||||
retry:
|
||||
ret = 0;
|
||||
htable_bits++;
|
||||
pr_debug("attempt to resize set %s from %u to %u, t %p\n",
|
||||
set->name, orig->htable_bits, htable_bits, orig);
|
||||
if (!htable_bits) {
|
||||
/* In case we have plenty of memory :-) */
|
||||
pr_warning("Cannot increase the hashsize of set %s further\n",
|
||||
@@ -873,7 +875,7 @@ retry:
|
||||
data = ahash_tdata(n, j);
|
||||
m = hbucket(t, HKEY(data, h->initval, htable_bits));
|
||||
ret = type_pf_elem_tadd(m, data, AHASH_MAX(h), 0,
|
||||
type_pf_data_timeout(data));
|
||||
ip_set_timeout_get(type_pf_data_timeout(data)));
|
||||
if (ret < 0) {
|
||||
read_unlock_bh(&set->lock);
|
||||
ahash_destroy(t);
|
||||
|
||||
@@ -199,6 +199,8 @@ enum regulator_type {
|
||||
* output when using regulator_set_voltage_sel_regmap
|
||||
* @enable_reg: Register for control when using regmap enable/disable ops
|
||||
* @enable_mask: Mask for control when using regmap enable/disable ops
|
||||
* @bypass_reg: Register for control when using regmap set_bypass
|
||||
* @bypass_mask: Mask for control when using regmap set_bypass
|
||||
*
|
||||
* @enable_time: Time taken for initial enable of regulator (in uS).
|
||||
*/
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/cgroup.h>
|
||||
#include <linux/errno.h>
|
||||
|
||||
/*
|
||||
* The core object. the cgroup that wishes to account for some
|
||||
|
||||
@@ -24,6 +24,9 @@ struct smpboot_thread_data;
|
||||
* parked (cpu offline)
|
||||
* @unpark: Optional unpark function, called when the thread is
|
||||
* unparked (cpu online)
|
||||
* @pre_unpark: Optional unpark function, called before the thread is
|
||||
* unparked (cpu online). This is not guaranteed to be
|
||||
* called on the target cpu of the thread. Careful!
|
||||
* @selfparking: Thread is not parked by the park function.
|
||||
* @thread_comm: The base name of the thread
|
||||
*/
|
||||
@@ -37,6 +40,7 @@ struct smp_hotplug_thread {
|
||||
void (*cleanup)(unsigned int cpu, bool online);
|
||||
void (*park)(unsigned int cpu);
|
||||
void (*unpark)(unsigned int cpu);
|
||||
void (*pre_unpark)(unsigned int cpu);
|
||||
bool selfparking;
|
||||
const char *thread_comm;
|
||||
};
|
||||
|
||||
@@ -60,7 +60,7 @@ struct usb_configuration;
|
||||
* @name: For diagnostics, identifies the function.
|
||||
* @strings: tables of strings, keyed by identifiers assigned during bind()
|
||||
* and by language IDs provided in control requests
|
||||
* @descriptors: Table of full (or low) speed descriptors, using interface and
|
||||
* @fs_descriptors: Table of full (or low) speed descriptors, using interface and
|
||||
* string identifiers assigned during @bind(). If this pointer is null,
|
||||
* the function will not be available at full speed (or at low speed).
|
||||
* @hs_descriptors: Table of high speed descriptors, using interface and
|
||||
@@ -290,6 +290,7 @@ enum {
|
||||
* after function notifications
|
||||
* @resume: Notifies configuration when the host restarts USB traffic,
|
||||
* before function notifications
|
||||
* @gadget_driver: Gadget driver controlling this driver
|
||||
*
|
||||
* Devices default to reporting self powered operation. Devices which rely
|
||||
* on bus powered operation should report this in their @bind method.
|
||||
|
||||
@@ -1045,6 +1045,10 @@ static inline bool tcp_prequeue(struct sock *sk, struct sk_buff *skb)
|
||||
if (sysctl_tcp_low_latency || !tp->ucopy.task)
|
||||
return false;
|
||||
|
||||
if (skb->len <= tcp_hdrlen(skb) &&
|
||||
skb_queue_len(&tp->ucopy.prequeue) == 0)
|
||||
return false;
|
||||
|
||||
__skb_queue_tail(&tp->ucopy.prequeue, skb);
|
||||
tp->ucopy.memory += skb->truesize;
|
||||
if (tp->ucopy.memory > sk->sk_rcvbuf) {
|
||||
|
||||
@@ -107,10 +107,12 @@ struct acct_v3
|
||||
#define ACORE 0x08 /* ... dumped core */
|
||||
#define AXSIG 0x10 /* ... was killed by a signal */
|
||||
|
||||
#ifdef __BIG_ENDIAN
|
||||
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
||||
#define ACCT_BYTEORDER 0x80 /* accounting file is big endian */
|
||||
#else
|
||||
#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
||||
#define ACCT_BYTEORDER 0x00 /* accounting file is little endian */
|
||||
#else
|
||||
#error unspecified endianness
|
||||
#endif
|
||||
|
||||
#ifndef __KERNEL__
|
||||
|
||||
@@ -62,9 +62,9 @@ struct io_event {
|
||||
__s64 res2; /* secondary result */
|
||||
};
|
||||
|
||||
#if defined(__LITTLE_ENDIAN)
|
||||
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
||||
#define PADDED(x,y) x, y
|
||||
#elif defined(__BIG_ENDIAN)
|
||||
#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
||||
#define PADDED(x,y) y, x
|
||||
#else
|
||||
#error edit for your odd byteorder.
|
||||
|
||||
@@ -145,16 +145,18 @@ typedef struct mdp_superblock_s {
|
||||
__u32 failed_disks; /* 4 Number of failed disks */
|
||||
__u32 spare_disks; /* 5 Number of spare disks */
|
||||
__u32 sb_csum; /* 6 checksum of the whole superblock */
|
||||
#ifdef __BIG_ENDIAN
|
||||
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
||||
__u32 events_hi; /* 7 high-order of superblock update count */
|
||||
__u32 events_lo; /* 8 low-order of superblock update count */
|
||||
__u32 cp_events_hi; /* 9 high-order of checkpoint update count */
|
||||
__u32 cp_events_lo; /* 10 low-order of checkpoint update count */
|
||||
#else
|
||||
#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
||||
__u32 events_lo; /* 7 low-order of superblock update count */
|
||||
__u32 events_hi; /* 8 high-order of superblock update count */
|
||||
__u32 cp_events_lo; /* 9 low-order of checkpoint update count */
|
||||
__u32 cp_events_hi; /* 10 high-order of checkpoint update count */
|
||||
#else
|
||||
#error unspecified endianness
|
||||
#endif
|
||||
__u32 recovery_cp; /* 11 recovery checkpoint sector count */
|
||||
/* There are only valid for minor_version > 90 */
|
||||
|
||||
@@ -51,7 +51,10 @@
|
||||
#define PORT_8250_CIR 23 /* CIR infrared port, has its own driver */
|
||||
#define PORT_XR17V35X 24 /* Exar XR17V35x UARTs */
|
||||
#define PORT_BRCM_TRUMANAGE 25
|
||||
#define PORT_MAX_8250 25 /* max port ID */
|
||||
#define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */
|
||||
#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
|
||||
#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
|
||||
#define PORT_MAX_8250 28 /* max port ID */
|
||||
|
||||
/*
|
||||
* ARM specific type numbers. These are not currently guaranteed
|
||||
|
||||
Reference in New Issue
Block a user