Merge branch 'master' into for-next
Sync with Linus' tree to be able to apply pending patches that are based on newer code already present upstream.
This commit is contained in:
@@ -201,6 +201,9 @@ struct amba_pl011_data {
|
||||
bool (*dma_filter)(struct dma_chan *chan, void *filter_param);
|
||||
void *dma_rx_param;
|
||||
void *dma_tx_param;
|
||||
void (*init) (void);
|
||||
void (*exit) (void);
|
||||
void (*reset) (void);
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@@ -16,6 +16,7 @@
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/spinlock_types.h>
|
||||
|
||||
struct bgpio_pdata {
|
||||
int base;
|
||||
|
@@ -167,7 +167,7 @@ enum rq_flag_bits {
|
||||
(REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER)
|
||||
#define REQ_COMMON_MASK \
|
||||
(REQ_WRITE | REQ_FAILFAST_MASK | REQ_SYNC | REQ_META | REQ_DISCARD | \
|
||||
REQ_NOIDLE | REQ_FLUSH | REQ_FUA)
|
||||
REQ_NOIDLE | REQ_FLUSH | REQ_FUA | REQ_SECURE)
|
||||
#define REQ_CLONE_MASK REQ_COMMON_MASK
|
||||
|
||||
#define REQ_RAHEAD (1 << __REQ_RAHEAD)
|
||||
|
@@ -169,7 +169,8 @@ extern void blk_trace_shutdown(struct request_queue *);
|
||||
extern int do_blk_trace_setup(struct request_queue *q, char *name,
|
||||
dev_t dev, struct block_device *bdev,
|
||||
struct blk_user_trace_setup *buts);
|
||||
extern void __trace_note_message(struct blk_trace *, const char *fmt, ...);
|
||||
extern __attribute__((format(printf, 2, 3)))
|
||||
void __trace_note_message(struct blk_trace *, const char *fmt, ...);
|
||||
|
||||
/**
|
||||
* blk_add_trace_msg - Add a (simple) message to the blktrace stream
|
||||
|
@@ -188,6 +188,7 @@ struct clocksource {
|
||||
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
|
||||
/* Watchdog related data, used by the framework */
|
||||
struct list_head wd_list;
|
||||
cycle_t cs_last;
|
||||
cycle_t wd_last;
|
||||
#endif
|
||||
} ____cacheline_aligned;
|
||||
|
@@ -467,6 +467,8 @@ asmlinkage long compat_sys_setsockopt(int fd, int level, int optname,
|
||||
char __user *optval, unsigned int optlen);
|
||||
asmlinkage long compat_sys_sendmsg(int fd, struct compat_msghdr __user *msg,
|
||||
unsigned flags);
|
||||
asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg,
|
||||
unsigned vlen, unsigned int flags);
|
||||
asmlinkage long compat_sys_recvmsg(int fd, struct compat_msghdr __user *msg,
|
||||
unsigned int flags);
|
||||
asmlinkage long compat_sys_recv(int fd, void __user *buf, size_t len,
|
||||
|
@@ -44,7 +44,7 @@
|
||||
#define CN_VAL_DRBD 0x1
|
||||
#define CN_KVP_IDX 0x9 /* HyperV KVP */
|
||||
|
||||
#define CN_NETLINK_USERS 9
|
||||
#define CN_NETLINK_USERS 10 /* Highest index + 1 */
|
||||
|
||||
/*
|
||||
* Maximum connector's message size.
|
||||
|
@@ -653,13 +653,13 @@ static inline int device_is_registered(struct device *dev)
|
||||
|
||||
static inline void device_enable_async_suspend(struct device *dev)
|
||||
{
|
||||
if (!dev->power.in_suspend)
|
||||
if (!dev->power.is_prepared)
|
||||
dev->power.async_suspend = true;
|
||||
}
|
||||
|
||||
static inline void device_disable_async_suspend(struct device *dev)
|
||||
{
|
||||
if (!dev->power.in_suspend)
|
||||
if (!dev->power.is_prepared)
|
||||
dev->power.async_suspend = false;
|
||||
}
|
||||
|
||||
|
@@ -2,8 +2,16 @@
|
||||
#include <linux/fs.h>
|
||||
|
||||
#ifdef CONFIG_CGROUP_DEVICE
|
||||
extern int devcgroup_inode_permission(struct inode *inode, int mask);
|
||||
extern int __devcgroup_inode_permission(struct inode *inode, int mask);
|
||||
extern int devcgroup_inode_mknod(int mode, dev_t dev);
|
||||
static inline int devcgroup_inode_permission(struct inode *inode, int mask)
|
||||
{
|
||||
if (likely(!inode->i_rdev))
|
||||
return 0;
|
||||
if (!S_ISBLK(inode->i_mode) && !S_ISCHR(inode->i_mode))
|
||||
return 0;
|
||||
return __devcgroup_inode_permission(inode, mask);
|
||||
}
|
||||
#else
|
||||
static inline int devcgroup_inode_permission(struct inode *inode, int mask)
|
||||
{ return 0; }
|
||||
|
@@ -117,10 +117,10 @@
|
||||
/* drbdsetup XY resize -d Z
|
||||
* you are free to reduce the device size to nothing, if you want to.
|
||||
* the upper limit with 64bit kernel, enough ram and flexible meta data
|
||||
* is 16 TB, currently. */
|
||||
* is 1 PiB, currently. */
|
||||
/* DRBD_MAX_SECTORS */
|
||||
#define DRBD_DISK_SIZE_SECT_MIN 0
|
||||
#define DRBD_DISK_SIZE_SECT_MAX (16 * (2LLU << 30))
|
||||
#define DRBD_DISK_SIZE_SECT_MAX (1 * (2LLU << 40))
|
||||
#define DRBD_DISK_SIZE_SECT_DEF 0 /* = disabled = no user size... */
|
||||
|
||||
#define DRBD_ON_IO_ERROR_DEF EP_PASS_ON
|
||||
|
@@ -268,7 +268,7 @@ struct ethtool_pauseparam {
|
||||
__u32 cmd; /* ETHTOOL_{G,S}PAUSEPARAM */
|
||||
|
||||
/* If the link is being auto-negotiated (via ethtool_cmd.autoneg
|
||||
* being true) the user may set 'autonet' here non-zero to have the
|
||||
* being true) the user may set 'autoneg' here non-zero to have the
|
||||
* pause parameters be auto-negotiated too. In such a case, the
|
||||
* {rx,tx}_pause values below determine what capabilities are
|
||||
* advertised.
|
||||
@@ -811,7 +811,7 @@ bool ethtool_invalid_flags(struct net_device *dev, u32 data, u32 supported);
|
||||
* @get_tx_csum: Deprecated as redundant. Report whether transmit checksums
|
||||
* are turned on or off.
|
||||
* @set_tx_csum: Deprecated in favour of generic netdev features. Turn
|
||||
* transmit checksums on or off. Returns a egative error code or zero.
|
||||
* transmit checksums on or off. Returns a negative error code or zero.
|
||||
* @get_sg: Deprecated as redundant. Report whether scatter-gather is
|
||||
* enabled.
|
||||
* @set_sg: Deprecated in favour of generic netdev features. Turn
|
||||
@@ -1087,7 +1087,7 @@ struct ethtool_ops {
|
||||
/* The following are all involved in forcing a particular link
|
||||
* mode for the device for setting things. When getting the
|
||||
* devices settings, these indicate the current mode and whether
|
||||
* it was foced up into this mode or autonegotiated.
|
||||
* it was forced up into this mode or autonegotiated.
|
||||
*/
|
||||
|
||||
/* The forced speed, 10Mb, 100Mb, gigabit, 2.5Gb, 10GbE. */
|
||||
|
@@ -638,6 +638,7 @@ struct address_space {
|
||||
struct prio_tree_root i_mmap; /* tree of private and shared mappings */
|
||||
struct list_head i_mmap_nonlinear;/*list VM_NONLINEAR mappings */
|
||||
struct mutex i_mmap_mutex; /* protect tree, count, list */
|
||||
/* Protected by tree_lock together with the radix tree */
|
||||
unsigned long nrpages; /* number of total pages */
|
||||
pgoff_t writeback_index;/* writeback starts here */
|
||||
const struct address_space_operations *a_ops; /* methods */
|
||||
@@ -743,7 +744,7 @@ struct inode {
|
||||
|
||||
spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */
|
||||
unsigned int i_flags;
|
||||
unsigned int i_state;
|
||||
unsigned long i_state;
|
||||
#ifdef CONFIG_SECURITY
|
||||
void *i_security;
|
||||
#endif
|
||||
|
@@ -204,6 +204,8 @@ extern bool __fscache_check_page_write(struct fscache_cookie *, struct page *);
|
||||
extern void __fscache_wait_on_page_write(struct fscache_cookie *, struct page *);
|
||||
extern bool __fscache_maybe_release_page(struct fscache_cookie *, struct page *,
|
||||
gfp_t);
|
||||
extern void __fscache_uncache_all_inode_pages(struct fscache_cookie *,
|
||||
struct inode *);
|
||||
|
||||
/**
|
||||
* fscache_register_netfs - Register a filesystem as desiring caching services
|
||||
@@ -643,4 +645,23 @@ bool fscache_maybe_release_page(struct fscache_cookie *cookie,
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* fscache_uncache_all_inode_pages - Uncache all an inode's pages
|
||||
* @cookie: The cookie representing the inode's cache object.
|
||||
* @inode: The inode to uncache pages from.
|
||||
*
|
||||
* Uncache all the pages in an inode that are marked PG_fscache, assuming them
|
||||
* to be associated with the given cookie.
|
||||
*
|
||||
* This function may sleep. It will wait for pages that are being written out
|
||||
* and will wait whilst the PG_fscache mark is removed by the cache.
|
||||
*/
|
||||
static inline
|
||||
void fscache_uncache_all_inode_pages(struct fscache_cookie *cookie,
|
||||
struct inode *inode)
|
||||
{
|
||||
if (fscache_cookie_valid(cookie))
|
||||
__fscache_uncache_all_inode_pages(cookie, inode);
|
||||
}
|
||||
|
||||
#endif /* _LINUX_FSCACHE_H */
|
||||
|
@@ -24,12 +24,6 @@
|
||||
* See mpc8610fb_set_par(), map_video_memory(), and unmap_video_memory()
|
||||
*/
|
||||
#define MEM_ALLOC_THRESHOLD (1024*768*4+32)
|
||||
/* Minimum value that the pixel clock can be set to in pico seconds
|
||||
* This is determined by platform clock/3 where the minimum platform
|
||||
* clock is 533MHz. This gives 5629 pico seconds.
|
||||
*/
|
||||
#define MIN_PIX_CLK 5629
|
||||
#define MAX_PIX_CLK 96096
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
|
@@ -3,6 +3,17 @@
|
||||
|
||||
/* see Documentation/gpio.txt */
|
||||
|
||||
/* make these flag values available regardless of GPIO kconfig options */
|
||||
#define GPIOF_DIR_OUT (0 << 0)
|
||||
#define GPIOF_DIR_IN (1 << 0)
|
||||
|
||||
#define GPIOF_INIT_LOW (0 << 1)
|
||||
#define GPIOF_INIT_HIGH (1 << 1)
|
||||
|
||||
#define GPIOF_IN (GPIOF_DIR_IN)
|
||||
#define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW)
|
||||
#define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH)
|
||||
|
||||
#ifdef CONFIG_GENERIC_GPIO
|
||||
#include <asm/gpio.h>
|
||||
|
||||
|
153
include/linux/i2c/adp8870.h
Normal file
153
include/linux/i2c/adp8870.h
Normal file
@@ -0,0 +1,153 @@
|
||||
/*
|
||||
* Definitions and platform data for Analog Devices
|
||||
* Backlight drivers ADP8870
|
||||
*
|
||||
* Copyright 2009-2010 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_I2C_ADP8870_H
|
||||
#define __LINUX_I2C_ADP8870_H
|
||||
|
||||
#define ID_ADP8870 8870
|
||||
|
||||
#define ADP8870_MAX_BRIGHTNESS 0x7F
|
||||
#define FLAG_OFFT_SHIFT 8
|
||||
|
||||
/*
|
||||
* LEDs subdevice platform data
|
||||
*/
|
||||
|
||||
#define ADP8870_LED_DIS_BLINK (0 << FLAG_OFFT_SHIFT)
|
||||
#define ADP8870_LED_OFFT_600ms (1 << FLAG_OFFT_SHIFT)
|
||||
#define ADP8870_LED_OFFT_1200ms (2 << FLAG_OFFT_SHIFT)
|
||||
#define ADP8870_LED_OFFT_1800ms (3 << FLAG_OFFT_SHIFT)
|
||||
|
||||
#define ADP8870_LED_ONT_200ms 0
|
||||
#define ADP8870_LED_ONT_600ms 1
|
||||
#define ADP8870_LED_ONT_800ms 2
|
||||
#define ADP8870_LED_ONT_1200ms 3
|
||||
|
||||
#define ADP8870_LED_D7 (7)
|
||||
#define ADP8870_LED_D6 (6)
|
||||
#define ADP8870_LED_D5 (5)
|
||||
#define ADP8870_LED_D4 (4)
|
||||
#define ADP8870_LED_D3 (3)
|
||||
#define ADP8870_LED_D2 (2)
|
||||
#define ADP8870_LED_D1 (1)
|
||||
|
||||
/*
|
||||
* Backlight subdevice platform data
|
||||
*/
|
||||
|
||||
#define ADP8870_BL_D7 (1 << 6)
|
||||
#define ADP8870_BL_D6 (1 << 5)
|
||||
#define ADP8870_BL_D5 (1 << 4)
|
||||
#define ADP8870_BL_D4 (1 << 3)
|
||||
#define ADP8870_BL_D3 (1 << 2)
|
||||
#define ADP8870_BL_D2 (1 << 1)
|
||||
#define ADP8870_BL_D1 (1 << 0)
|
||||
|
||||
#define ADP8870_FADE_T_DIS 0 /* Fade Timer Disabled */
|
||||
#define ADP8870_FADE_T_300ms 1 /* 0.3 Sec */
|
||||
#define ADP8870_FADE_T_600ms 2
|
||||
#define ADP8870_FADE_T_900ms 3
|
||||
#define ADP8870_FADE_T_1200ms 4
|
||||
#define ADP8870_FADE_T_1500ms 5
|
||||
#define ADP8870_FADE_T_1800ms 6
|
||||
#define ADP8870_FADE_T_2100ms 7
|
||||
#define ADP8870_FADE_T_2400ms 8
|
||||
#define ADP8870_FADE_T_2700ms 9
|
||||
#define ADP8870_FADE_T_3000ms 10
|
||||
#define ADP8870_FADE_T_3500ms 11
|
||||
#define ADP8870_FADE_T_4000ms 12
|
||||
#define ADP8870_FADE_T_4500ms 13
|
||||
#define ADP8870_FADE_T_5000ms 14
|
||||
#define ADP8870_FADE_T_5500ms 15 /* 5.5 Sec */
|
||||
|
||||
#define ADP8870_FADE_LAW_LINEAR 0
|
||||
#define ADP8870_FADE_LAW_SQUARE 1
|
||||
#define ADP8870_FADE_LAW_CUBIC1 2
|
||||
#define ADP8870_FADE_LAW_CUBIC2 3
|
||||
|
||||
#define ADP8870_BL_AMBL_FILT_80ms 0 /* Light sensor filter time */
|
||||
#define ADP8870_BL_AMBL_FILT_160ms 1
|
||||
#define ADP8870_BL_AMBL_FILT_320ms 2
|
||||
#define ADP8870_BL_AMBL_FILT_640ms 3
|
||||
#define ADP8870_BL_AMBL_FILT_1280ms 4
|
||||
#define ADP8870_BL_AMBL_FILT_2560ms 5
|
||||
#define ADP8870_BL_AMBL_FILT_5120ms 6
|
||||
#define ADP8870_BL_AMBL_FILT_10240ms 7 /* 10.24 sec */
|
||||
|
||||
/*
|
||||
* Blacklight current 0..30mA
|
||||
*/
|
||||
#define ADP8870_BL_CUR_mA(I) ((I * 127) / 30)
|
||||
|
||||
/*
|
||||
* L2 comparator current 0..1106uA
|
||||
*/
|
||||
#define ADP8870_L2_COMP_CURR_uA(I) ((I * 255) / 1106)
|
||||
|
||||
/*
|
||||
* L3 comparator current 0..551uA
|
||||
*/
|
||||
#define ADP8870_L3_COMP_CURR_uA(I) ((I * 255) / 551)
|
||||
|
||||
/*
|
||||
* L4 comparator current 0..275uA
|
||||
*/
|
||||
#define ADP8870_L4_COMP_CURR_uA(I) ((I * 255) / 275)
|
||||
|
||||
/*
|
||||
* L5 comparator current 0..138uA
|
||||
*/
|
||||
#define ADP8870_L5_COMP_CURR_uA(I) ((I * 255) / 138)
|
||||
|
||||
struct adp8870_backlight_platform_data {
|
||||
u8 bl_led_assign; /* 1 = Backlight 0 = Individual LED */
|
||||
u8 pwm_assign; /* 1 = Enables PWM mode */
|
||||
|
||||
u8 bl_fade_in; /* Backlight Fade-In Timer */
|
||||
u8 bl_fade_out; /* Backlight Fade-Out Timer */
|
||||
u8 bl_fade_law; /* fade-on/fade-off transfer characteristic */
|
||||
|
||||
u8 en_ambl_sens; /* 1 = enable ambient light sensor */
|
||||
u8 abml_filt; /* Light sensor filter time */
|
||||
|
||||
u8 l1_daylight_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l1_daylight_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l2_bright_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l2_bright_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l3_office_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l3_office_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l4_indoor_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l4_indor_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l5_dark_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
u8 l5_dark_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */
|
||||
|
||||
u8 l2_trip; /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */
|
||||
u8 l2_hyst; /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */
|
||||
u8 l3_trip; /* use L3_COMP_CURR_uA(I) 0 <= I <= 551 uA */
|
||||
u8 l3_hyst; /* use L3_COMP_CURR_uA(I) 0 <= I <= 551 uA */
|
||||
u8 l4_trip; /* use L4_COMP_CURR_uA(I) 0 <= I <= 275 uA */
|
||||
u8 l4_hyst; /* use L4_COMP_CURR_uA(I) 0 <= I <= 275 uA */
|
||||
u8 l5_trip; /* use L5_COMP_CURR_uA(I) 0 <= I <= 138 uA */
|
||||
u8 l5_hyst; /* use L6_COMP_CURR_uA(I) 0 <= I <= 138 uA */
|
||||
|
||||
/**
|
||||
* Independent Current Sinks / LEDS
|
||||
* Sinks not assigned to the Backlight can be exposed to
|
||||
* user space using the LEDS CLASS interface
|
||||
*/
|
||||
|
||||
int num_leds;
|
||||
struct led_info *leds;
|
||||
u8 led_fade_in; /* LED Fade-In Timer */
|
||||
u8 led_fade_out; /* LED Fade-Out Timer */
|
||||
u8 led_fade_law; /* fade-on/fade-off transfer characteristic */
|
||||
u8 led_on_time;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_I2C_ADP8870_H */
|
@@ -62,6 +62,7 @@ struct tpacket_auxdata {
|
||||
__u16 tp_mac;
|
||||
__u16 tp_net;
|
||||
__u16 tp_vlan_tci;
|
||||
__u16 tp_padding;
|
||||
};
|
||||
|
||||
/* Rx ring - header status */
|
||||
@@ -101,6 +102,7 @@ struct tpacket2_hdr {
|
||||
__u32 tp_sec;
|
||||
__u32 tp_nsec;
|
||||
__u16 tp_vlan_tci;
|
||||
__u16 tp_padding;
|
||||
};
|
||||
|
||||
#define TPACKET2_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket2_hdr)) + sizeof(struct sockaddr_ll))
|
||||
|
@@ -225,7 +225,7 @@ static inline int vlan_hwaccel_receive_skb(struct sk_buff *skb,
|
||||
}
|
||||
|
||||
/**
|
||||
* __vlan_put_tag - regular VLAN tag inserting
|
||||
* vlan_insert_tag - regular VLAN tag inserting
|
||||
* @skb: skbuff to tag
|
||||
* @vlan_tci: VLAN TCI to insert
|
||||
*
|
||||
@@ -234,8 +234,10 @@ static inline int vlan_hwaccel_receive_skb(struct sk_buff *skb,
|
||||
*
|
||||
* Following the skb_unshare() example, in case of error, the calling function
|
||||
* doesn't have to worry about freeing the original skb.
|
||||
*
|
||||
* Does not change skb->protocol so this function can be used during receive.
|
||||
*/
|
||||
static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci)
|
||||
static inline struct sk_buff *vlan_insert_tag(struct sk_buff *skb, u16 vlan_tci)
|
||||
{
|
||||
struct vlan_ethhdr *veth;
|
||||
|
||||
@@ -255,8 +257,25 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci)
|
||||
/* now, the TCI */
|
||||
veth->h_vlan_TCI = htons(vlan_tci);
|
||||
|
||||
skb->protocol = htons(ETH_P_8021Q);
|
||||
return skb;
|
||||
}
|
||||
|
||||
/**
|
||||
* __vlan_put_tag - regular VLAN tag inserting
|
||||
* @skb: skbuff to tag
|
||||
* @vlan_tci: VLAN TCI to insert
|
||||
*
|
||||
* Inserts the VLAN tag into @skb as part of the payload
|
||||
* Returns a VLAN tagged skb. If a new skb is created, @skb is freed.
|
||||
*
|
||||
* Following the skb_unshare() example, in case of error, the calling function
|
||||
* doesn't have to worry about freeing the original skb.
|
||||
*/
|
||||
static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci)
|
||||
{
|
||||
skb = vlan_insert_tag(skb, vlan_tci);
|
||||
if (skb)
|
||||
skb->protocol = htons(ETH_P_8021Q);
|
||||
return skb;
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#ifndef __SH_KEYSC_H__
|
||||
#define __SH_KEYSC_H__
|
||||
|
||||
#define SH_KEYSC_MAXKEYS 49
|
||||
#define SH_KEYSC_MAXKEYS 64
|
||||
|
||||
struct sh_keysc_info {
|
||||
enum { SH_KEYSC_MODE_1, SH_KEYSC_MODE_2, SH_KEYSC_MODE_3,
|
||||
|
@@ -414,6 +414,7 @@ enum
|
||||
TASKLET_SOFTIRQ,
|
||||
SCHED_SOFTIRQ,
|
||||
HRTIMER_SOFTIRQ,
|
||||
RCU_SOFTIRQ, /* Preferable RCU should always be the last softirq */
|
||||
|
||||
NR_SOFTIRQS
|
||||
};
|
||||
|
@@ -1024,7 +1024,6 @@ struct journal_s
|
||||
|
||||
/* Filing buffers */
|
||||
extern void jbd2_journal_unfile_buffer(journal_t *, struct journal_head *);
|
||||
extern void __jbd2_journal_unfile_buffer(struct journal_head *);
|
||||
extern void __jbd2_journal_refile_buffer(struct journal_head *);
|
||||
extern void jbd2_journal_refile_buffer(journal_t *, struct journal_head *);
|
||||
extern void __jbd2_journal_file_buffer(struct journal_head *, transaction_t *, int);
|
||||
@@ -1165,7 +1164,6 @@ extern void jbd2_journal_release_jbd_inode(journal_t *journal, struct jbd2_in
|
||||
*/
|
||||
struct journal_head *jbd2_journal_add_journal_head(struct buffer_head *bh);
|
||||
struct journal_head *jbd2_journal_grab_journal_head(struct buffer_head *bh);
|
||||
void jbd2_journal_remove_journal_head(struct buffer_head *bh);
|
||||
void jbd2_journal_put_journal_head(struct journal_head *jh);
|
||||
|
||||
/*
|
||||
|
@@ -671,8 +671,8 @@ struct sysinfo {
|
||||
|
||||
#ifdef __CHECKER__
|
||||
#define BUILD_BUG_ON_NOT_POWER_OF_2(n)
|
||||
#define BUILD_BUG_ON_ZERO(e)
|
||||
#define BUILD_BUG_ON_NULL(e)
|
||||
#define BUILD_BUG_ON_ZERO(e) (0)
|
||||
#define BUILD_BUG_ON_NULL(e) ((void*)0)
|
||||
#define BUILD_BUG_ON(condition)
|
||||
#else /* __CHECKER__ */
|
||||
|
||||
|
@@ -45,7 +45,7 @@ static inline int request_module_nowait(const char *name, ...) { return -ENOSYS;
|
||||
#endif
|
||||
|
||||
|
||||
struct key;
|
||||
struct cred;
|
||||
struct file;
|
||||
|
||||
enum umh_wait {
|
||||
@@ -62,7 +62,7 @@ struct subprocess_info {
|
||||
char **envp;
|
||||
enum umh_wait wait;
|
||||
int retval;
|
||||
int (*init)(struct subprocess_info *info);
|
||||
int (*init)(struct subprocess_info *info, struct cred *new);
|
||||
void (*cleanup)(struct subprocess_info *info);
|
||||
void *data;
|
||||
};
|
||||
@@ -73,7 +73,7 @@ struct subprocess_info *call_usermodehelper_setup(char *path, char **argv,
|
||||
|
||||
/* Set various pieces of state into the subprocess_info structure */
|
||||
void call_usermodehelper_setfns(struct subprocess_info *info,
|
||||
int (*init)(struct subprocess_info *info),
|
||||
int (*init)(struct subprocess_info *info, struct cred *new),
|
||||
void (*cleanup)(struct subprocess_info *info),
|
||||
void *data);
|
||||
|
||||
@@ -87,7 +87,7 @@ void call_usermodehelper_freeinfo(struct subprocess_info *info);
|
||||
static inline int
|
||||
call_usermodehelper_fns(char *path, char **argv, char **envp,
|
||||
enum umh_wait wait,
|
||||
int (*init)(struct subprocess_info *info),
|
||||
int (*init)(struct subprocess_info *info, struct cred *new),
|
||||
void (*cleanup)(struct subprocess_info *), void *data)
|
||||
{
|
||||
struct subprocess_info *info;
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#ifndef _LINUX_KMSG_DUMP_H
|
||||
#define _LINUX_KMSG_DUMP_H
|
||||
|
||||
#include <linux/errno.h>
|
||||
#include <linux/list.h>
|
||||
|
||||
enum kmsg_dump_reason {
|
||||
|
@@ -32,15 +32,17 @@ enum kobj_ns_type {
|
||||
|
||||
/*
|
||||
* Callbacks so sysfs can determine namespaces
|
||||
* @current_ns: return calling task's namespace
|
||||
* @grab_current_ns: return a new reference to calling task's namespace
|
||||
* @netlink_ns: return namespace to which a sock belongs (right?)
|
||||
* @initial_ns: return the initial namespace (i.e. init_net_ns)
|
||||
* @drop_ns: drops a reference to namespace
|
||||
*/
|
||||
struct kobj_ns_type_operations {
|
||||
enum kobj_ns_type type;
|
||||
const void *(*current_ns)(void);
|
||||
void *(*grab_current_ns)(void);
|
||||
const void *(*netlink_ns)(struct sock *sk);
|
||||
const void *(*initial_ns)(void);
|
||||
void (*drop_ns)(void *);
|
||||
};
|
||||
|
||||
int kobj_ns_type_register(const struct kobj_ns_type_operations *ops);
|
||||
@@ -48,9 +50,9 @@ int kobj_ns_type_registered(enum kobj_ns_type type);
|
||||
const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent);
|
||||
const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj);
|
||||
|
||||
const void *kobj_ns_current(enum kobj_ns_type type);
|
||||
void *kobj_ns_grab_current(enum kobj_ns_type type);
|
||||
const void *kobj_ns_netlink(enum kobj_ns_type type, struct sock *sk);
|
||||
const void *kobj_ns_initial(enum kobj_ns_type type);
|
||||
void kobj_ns_exit(enum kobj_ns_type type, const void *ns);
|
||||
void kobj_ns_drop(enum kobj_ns_type type, void *ns);
|
||||
|
||||
#endif /* _LINUX_KOBJECT_NS_H */
|
||||
|
@@ -84,6 +84,7 @@ int task_in_mem_cgroup(struct task_struct *task, const struct mem_cgroup *mem);
|
||||
|
||||
extern struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page);
|
||||
extern struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p);
|
||||
extern struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm);
|
||||
|
||||
static inline
|
||||
int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup)
|
||||
@@ -246,6 +247,11 @@ static inline struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline int mm_match_cgroup(struct mm_struct *mm, struct mem_cgroup *mem)
|
||||
{
|
||||
return 1;
|
||||
|
@@ -3,4 +3,11 @@
|
||||
struct ds1wm_driver_data {
|
||||
int active_high;
|
||||
int clock_rate;
|
||||
/* in milliseconds, the amount of time to */
|
||||
/* sleep following a reset pulse. Zero */
|
||||
/* should work if your bus devices recover*/
|
||||
/* time respects the 1-wire spec since the*/
|
||||
/* ds1wm implements the precise timings of*/
|
||||
/* a reset pulse/presence detect sequence.*/
|
||||
unsigned int reset_recover_delay;
|
||||
};
|
||||
|
@@ -647,6 +647,13 @@ typedef struct pglist_data {
|
||||
#endif
|
||||
#define nid_page_nr(nid, pagenr) pgdat_page_nr(NODE_DATA(nid),(pagenr))
|
||||
|
||||
#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
|
||||
|
||||
#define node_end_pfn(nid) ({\
|
||||
pg_data_t *__pgdat = NODE_DATA(nid);\
|
||||
__pgdat->node_start_pfn + __pgdat->node_spanned_pages;\
|
||||
})
|
||||
|
||||
#include <linux/memory_hotplug.h>
|
||||
|
||||
extern struct mutex zonelists_mutex;
|
||||
|
@@ -2555,7 +2555,7 @@ extern void netdev_class_remove_file(struct class_attribute *class_attr);
|
||||
|
||||
extern struct kobj_ns_type_operations net_ns_type_operations;
|
||||
|
||||
extern char *netdev_drivername(const struct net_device *dev, char *buffer, int len);
|
||||
extern const char *netdev_drivername(const struct net_device *dev);
|
||||
|
||||
extern void linkwatch_run_queue(void);
|
||||
|
||||
|
@@ -18,6 +18,9 @@ enum ip_conntrack_info {
|
||||
/* >= this indicates reply direction */
|
||||
IP_CT_IS_REPLY,
|
||||
|
||||
IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY,
|
||||
IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY,
|
||||
IP_CT_NEW_REPLY = IP_CT_NEW + IP_CT_IS_REPLY,
|
||||
/* Number of distinct IP_CT types (no NEW in reply dirn). */
|
||||
IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1
|
||||
};
|
||||
|
@@ -92,6 +92,9 @@ extern int nfs_pageio_add_request(struct nfs_pageio_descriptor *,
|
||||
struct nfs_page *);
|
||||
extern void nfs_pageio_complete(struct nfs_pageio_descriptor *desc);
|
||||
extern void nfs_pageio_cond_complete(struct nfs_pageio_descriptor *, pgoff_t);
|
||||
extern bool nfs_generic_pg_test(struct nfs_pageio_descriptor *desc,
|
||||
struct nfs_page *prev,
|
||||
struct nfs_page *req);
|
||||
extern int nfs_wait_on_request(struct nfs_page *);
|
||||
extern void nfs_unlock_request(struct nfs_page *req);
|
||||
extern int nfs_set_page_tag_locked(struct nfs_page *req);
|
||||
|
@@ -158,7 +158,6 @@ struct nfs_seqid;
|
||||
|
||||
/* nfs41 sessions channel attributes */
|
||||
struct nfs4_channel_attrs {
|
||||
u32 headerpadsz;
|
||||
u32 max_rqst_sz;
|
||||
u32 max_resp_sz;
|
||||
u32 max_resp_sz_cached;
|
||||
|
@@ -1537,6 +1537,7 @@
|
||||
#define PCI_DEVICE_ID_RICOH_RL5C476 0x0476
|
||||
#define PCI_DEVICE_ID_RICOH_RL5C478 0x0478
|
||||
#define PCI_DEVICE_ID_RICOH_R5C822 0x0822
|
||||
#define PCI_DEVICE_ID_RICOH_R5CE823 0xe823
|
||||
#define PCI_DEVICE_ID_RICOH_R5C832 0x0832
|
||||
#define PCI_DEVICE_ID_RICOH_R5C843 0x0843
|
||||
|
||||
|
@@ -259,6 +259,9 @@ extern void __bad_size_call_parameter(void);
|
||||
* Special handling for cmpxchg_double. cmpxchg_double is passed two
|
||||
* percpu variables. The first has to be aligned to a double word
|
||||
* boundary and the second has to follow directly thereafter.
|
||||
* We enforce this on all architectures even if they don't support
|
||||
* a double cmpxchg instruction, since it's a cheap requirement, and it
|
||||
* avoids breaking the requirement for architectures with the instruction.
|
||||
*/
|
||||
#define __pcpu_double_call_return_bool(stem, pcp1, pcp2, ...) \
|
||||
({ \
|
||||
|
@@ -425,7 +425,8 @@ struct dev_pm_info {
|
||||
pm_message_t power_state;
|
||||
unsigned int can_wakeup:1;
|
||||
unsigned int async_suspend:1;
|
||||
unsigned int in_suspend:1; /* Owned by the PM core */
|
||||
bool is_prepared:1; /* Owned by the PM core */
|
||||
bool is_suspended:1; /* Ditto */
|
||||
spinlock_t lock;
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
struct list_head entry;
|
||||
|
@@ -808,7 +808,7 @@ enum cpu_idle_type {
|
||||
* when BITS_PER_LONG <= 32 are pretty high and the returns do not justify the
|
||||
* increased costs.
|
||||
*/
|
||||
#if BITS_PER_LONG > 32
|
||||
#if 0 /* BITS_PER_LONG > 32 -- currently broken: it increases power usage under light load */
|
||||
# define SCHED_LOAD_RESOLUTION 10
|
||||
# define scale_load(w) ((w) << SCHED_LOAD_RESOLUTION)
|
||||
# define scale_load_down(w) ((w) >> SCHED_LOAD_RESOLUTION)
|
||||
|
@@ -28,6 +28,7 @@
|
||||
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/preempt.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
typedef struct {
|
||||
unsigned sequence;
|
||||
|
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <linux/swap.h>
|
||||
#include <linux/mempolicy.h>
|
||||
#include <linux/pagemap.h>
|
||||
#include <linux/percpu_counter.h>
|
||||
|
||||
/* inode in-kernel data */
|
||||
@@ -45,7 +46,27 @@ static inline struct shmem_inode_info *SHMEM_I(struct inode *inode)
|
||||
return container_of(inode, struct shmem_inode_info, vfs_inode);
|
||||
}
|
||||
|
||||
/*
|
||||
* Functions in mm/shmem.c called directly from elsewhere:
|
||||
*/
|
||||
extern int init_tmpfs(void);
|
||||
extern int shmem_fill_super(struct super_block *sb, void *data, int silent);
|
||||
extern struct file *shmem_file_setup(const char *name,
|
||||
loff_t size, unsigned long flags);
|
||||
extern int shmem_zero_setup(struct vm_area_struct *);
|
||||
extern int shmem_lock(struct file *file, int lock, struct user_struct *user);
|
||||
extern struct page *shmem_read_mapping_page_gfp(struct address_space *mapping,
|
||||
pgoff_t index, gfp_t gfp_mask);
|
||||
extern void shmem_truncate_range(struct inode *inode, loff_t start, loff_t end);
|
||||
extern int shmem_unuse(swp_entry_t entry, struct page *page);
|
||||
extern void mem_cgroup_get_shmem_target(struct inode *inode, pgoff_t pgoff,
|
||||
struct page **pagep, swp_entry_t *ent);
|
||||
|
||||
static inline struct page *shmem_read_mapping_page(
|
||||
struct address_space *mapping, pgoff_t index)
|
||||
{
|
||||
return shmem_read_mapping_page_gfp(mapping, index,
|
||||
mapping_gfp_mask(mapping));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -1256,6 +1256,11 @@ static inline void skb_reserve(struct sk_buff *skb, int len)
|
||||
skb->tail += len;
|
||||
}
|
||||
|
||||
static inline void skb_reset_mac_len(struct sk_buff *skb)
|
||||
{
|
||||
skb->mac_len = skb->network_header - skb->mac_header;
|
||||
}
|
||||
|
||||
#ifdef NET_SKBUFF_DATA_USES_OFFSET
|
||||
static inline unsigned char *skb_transport_header(const struct sk_buff *skb)
|
||||
{
|
||||
|
@@ -85,12 +85,15 @@ int smp_call_function_any(const struct cpumask *mask,
|
||||
* Generic and arch helpers
|
||||
*/
|
||||
#ifdef CONFIG_USE_GENERIC_SMP_HELPERS
|
||||
void __init call_function_init(void);
|
||||
void generic_smp_call_function_single_interrupt(void);
|
||||
void generic_smp_call_function_interrupt(void);
|
||||
void ipi_call_lock(void);
|
||||
void ipi_call_unlock(void);
|
||||
void ipi_call_lock_irq(void);
|
||||
void ipi_call_unlock_irq(void);
|
||||
#else
|
||||
static inline void call_function_init(void) { }
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -134,7 +137,7 @@ static inline void smp_send_reschedule(int cpu) { }
|
||||
#define smp_prepare_boot_cpu() do {} while (0)
|
||||
#define smp_call_function_many(mask, func, info, wait) \
|
||||
(up_smp_call_function(func, info))
|
||||
static inline void init_call_single_data(void) { }
|
||||
static inline void call_function_init(void) { }
|
||||
|
||||
static inline int
|
||||
smp_call_function_any(const struct cpumask *mask, smp_call_func_t func,
|
||||
|
4
include/linux/sunrpc/gss_krb5_enctypes.h
Normal file
4
include/linux/sunrpc/gss_krb5_enctypes.h
Normal file
@@ -0,0 +1,4 @@
|
||||
/*
|
||||
* Dumb way to share this static piece of information with nfsd
|
||||
*/
|
||||
#define KRB5_SUPPORTED_ENCTYPES "18,17,16,23,3,1,2"
|
@@ -84,7 +84,8 @@ struct rpc_task {
|
||||
#endif
|
||||
unsigned char tk_priority : 2,/* Task priority */
|
||||
tk_garb_retry : 2,
|
||||
tk_cred_retry : 2;
|
||||
tk_cred_retry : 2,
|
||||
tk_rebind_retry : 2;
|
||||
};
|
||||
#define tk_xprt tk_client->cl_xprt
|
||||
|
||||
|
@@ -300,16 +300,6 @@ static inline void scan_unevictable_unregister_node(struct node *node)
|
||||
extern int kswapd_run(int nid);
|
||||
extern void kswapd_stop(int nid);
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
/* linux/mm/shmem.c */
|
||||
extern int shmem_unuse(swp_entry_t entry, struct page *page);
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
#ifdef CONFIG_CGROUP_MEM_RES_CTLR
|
||||
extern void mem_cgroup_get_shmem_target(struct inode *inode, pgoff_t pgoff,
|
||||
struct page **pagep, swp_entry_t *ent);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SWAP
|
||||
/* linux/mm/page_io.c */
|
||||
extern int swap_readpage(struct page *);
|
||||
@@ -358,6 +348,7 @@ struct backing_dev_info;
|
||||
extern struct mm_struct *swap_token_mm;
|
||||
extern void grab_swap_token(struct mm_struct *);
|
||||
extern void __put_swap_token(struct mm_struct *);
|
||||
extern void disable_swap_token(struct mem_cgroup *memcg);
|
||||
|
||||
static inline int has_swap_token(struct mm_struct *mm)
|
||||
{
|
||||
@@ -370,11 +361,6 @@ static inline void put_swap_token(struct mm_struct *mm)
|
||||
__put_swap_token(mm);
|
||||
}
|
||||
|
||||
static inline void disable_swap_token(void)
|
||||
{
|
||||
put_swap_token(swap_token_mm);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CGROUP_MEM_RES_CTLR
|
||||
extern void
|
||||
mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout);
|
||||
@@ -500,7 +486,7 @@ static inline int has_swap_token(struct mm_struct *mm)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void disable_swap_token(void)
|
||||
static inline void disable_swap_token(struct mem_cgroup *memcg)
|
||||
{
|
||||
}
|
||||
|
||||
|
@@ -177,9 +177,6 @@ struct sysfs_dirent *sysfs_get_dirent(struct sysfs_dirent *parent_sd,
|
||||
struct sysfs_dirent *sysfs_get(struct sysfs_dirent *sd);
|
||||
void sysfs_put(struct sysfs_dirent *sd);
|
||||
|
||||
/* Called to clear a ns tag when it is no longer valid */
|
||||
void sysfs_exit_ns(enum kobj_ns_type type, const void *tag);
|
||||
|
||||
int __must_check sysfs_init(void);
|
||||
|
||||
#else /* CONFIG_SYSFS */
|
||||
@@ -338,10 +335,6 @@ static inline void sysfs_put(struct sysfs_dirent *sd)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void sysfs_exit_ns(int type, const void *tag)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int __must_check sysfs_init(void)
|
||||
{
|
||||
return 0;
|
||||
|
@@ -60,7 +60,7 @@ int arch_update_cpu_topology(void);
|
||||
* (in whatever arch specific measurement units returned by node_distance())
|
||||
* then switch on zone reclaim on boot.
|
||||
*/
|
||||
#define RECLAIM_DISTANCE 20
|
||||
#define RECLAIM_DISTANCE 30
|
||||
#endif
|
||||
#ifndef PENALTY_FOR_NODE_WITH_CPUS
|
||||
#define PENALTY_FOR_NODE_WITH_CPUS (1)
|
||||
|
@@ -9,7 +9,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef UTS_NODENAME
|
||||
#define UTS_NODENAME "(none)" /* set by sethostname() */
|
||||
#define UTS_NODENAME CONFIG_DEFAULT_HOSTNAME /* set by sethostname() */
|
||||
#endif
|
||||
|
||||
#ifndef UTS_DOMAINNAME
|
||||
|
Reference in New Issue
Block a user