Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Bring in the 'net' tree so that we can get some ipv4/ipv6 bug fixes that some net-next work will build upon. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
+5
-3
@@ -297,10 +297,12 @@ enum {
|
||||
ATA_LOG_SATA_NCQ = 0x10,
|
||||
ATA_LOG_SATA_ID_DEV_DATA = 0x30,
|
||||
ATA_LOG_SATA_SETTINGS = 0x08,
|
||||
ATA_LOG_DEVSLP_MDAT = 0x30,
|
||||
ATA_LOG_DEVSLP_OFFSET = 0x30,
|
||||
ATA_LOG_DEVSLP_SIZE = 0x08,
|
||||
ATA_LOG_DEVSLP_MDAT = 0x00,
|
||||
ATA_LOG_DEVSLP_MDAT_MASK = 0x1F,
|
||||
ATA_LOG_DEVSLP_DETO = 0x31,
|
||||
ATA_LOG_DEVSLP_VALID = 0x37,
|
||||
ATA_LOG_DEVSLP_DETO = 0x01,
|
||||
ATA_LOG_DEVSLP_VALID = 0x07,
|
||||
ATA_LOG_DEVSLP_VALID_MASK = 0x80,
|
||||
|
||||
/* READ/WRITE LONG (obsolete) */
|
||||
|
||||
@@ -126,9 +126,9 @@ struct cpuidle_driver {
|
||||
struct module *owner;
|
||||
int refcnt;
|
||||
|
||||
unsigned int power_specified:1;
|
||||
/* set to 1 to use the core cpuidle time keeping (for all states). */
|
||||
unsigned int en_core_tk_irqen:1;
|
||||
/* states array must be ordered in decreasing power consumption */
|
||||
struct cpuidle_state states[CPUIDLE_STATE_MAX];
|
||||
int state_count;
|
||||
int safe_state_index;
|
||||
|
||||
@@ -652,8 +652,8 @@ struct ata_device {
|
||||
u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
|
||||
};
|
||||
|
||||
/* Identify Device Data Log (30h), SATA Settings (page 08h) */
|
||||
u8 sata_settings[ATA_SECT_SIZE];
|
||||
/* DEVSLP Timing Variables from Identify Device Data Log */
|
||||
u8 devslp_timing[ATA_LOG_DEVSLP_SIZE];
|
||||
|
||||
/* error history */
|
||||
int spdn_cnt;
|
||||
|
||||
@@ -272,8 +272,6 @@ struct abx500_bm_data {
|
||||
const struct abx500_fg_parameters *fg_params;
|
||||
};
|
||||
|
||||
extern struct abx500_bm_data ab8500_bm_data;
|
||||
|
||||
enum {
|
||||
NTC_EXTERNAL = 0,
|
||||
NTC_INTERNAL,
|
||||
|
||||
@@ -422,7 +422,10 @@ struct ab8500_chargalg_platform_data {
|
||||
struct ab8500_btemp;
|
||||
struct ab8500_gpadc;
|
||||
struct ab8500_fg;
|
||||
|
||||
#ifdef CONFIG_AB8500_BM
|
||||
extern struct abx500_bm_data ab8500_bm_data;
|
||||
|
||||
void ab8500_fg_reinit(void);
|
||||
void ab8500_charger_usb_state_changed(u8 bm_usb_state, u16 mA);
|
||||
struct ab8500_btemp *ab8500_btemp_get(void);
|
||||
@@ -434,31 +437,7 @@ int ab8500_fg_inst_curr_finalize(struct ab8500_fg *di, int *res);
|
||||
int ab8500_fg_inst_curr_done(struct ab8500_fg *di);
|
||||
|
||||
#else
|
||||
int ab8500_fg_inst_curr_done(struct ab8500_fg *di)
|
||||
{
|
||||
}
|
||||
static void ab8500_fg_reinit(void)
|
||||
{
|
||||
}
|
||||
static void ab8500_charger_usb_state_changed(u8 bm_usb_state, u16 mA)
|
||||
{
|
||||
}
|
||||
static struct ab8500_btemp *ab8500_btemp_get(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static int ab8500_btemp_get_batctrl_temp(struct ab8500_btemp *btemp)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
struct ab8500_fg *ab8500_fg_get(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static int ab8500_fg_inst_curr_blocking(struct ab8500_fg *dev)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
static struct abx500_bm_data ab8500_bm_data;
|
||||
|
||||
static inline int ab8500_fg_inst_curr_start(struct ab8500_fg *di)
|
||||
{
|
||||
|
||||
@@ -99,6 +99,9 @@ struct da9052 {
|
||||
u8 chip_id;
|
||||
|
||||
int chip_irq;
|
||||
|
||||
/* SOC I/O transfer related fixes for DA9052/53 */
|
||||
int (*fix_io) (struct da9052 *da9052, unsigned char reg);
|
||||
};
|
||||
|
||||
/* ADC API */
|
||||
@@ -113,32 +116,87 @@ static inline int da9052_reg_read(struct da9052 *da9052, unsigned char reg)
|
||||
ret = regmap_read(da9052->regmap, reg, &val);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (da9052->fix_io) {
|
||||
ret = da9052->fix_io(da9052, reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline int da9052_reg_write(struct da9052 *da9052, unsigned char reg,
|
||||
unsigned char val)
|
||||
{
|
||||
return regmap_write(da9052->regmap, reg, val);
|
||||
int ret;
|
||||
|
||||
ret = regmap_write(da9052->regmap, reg, val);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (da9052->fix_io) {
|
||||
ret = da9052->fix_io(da9052, reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline int da9052_group_read(struct da9052 *da9052, unsigned char reg,
|
||||
unsigned reg_cnt, unsigned char *val)
|
||||
{
|
||||
return regmap_bulk_read(da9052->regmap, reg, val, reg_cnt);
|
||||
int ret;
|
||||
|
||||
ret = regmap_bulk_read(da9052->regmap, reg, val, reg_cnt);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (da9052->fix_io) {
|
||||
ret = da9052->fix_io(da9052, reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline int da9052_group_write(struct da9052 *da9052, unsigned char reg,
|
||||
unsigned reg_cnt, unsigned char *val)
|
||||
{
|
||||
return regmap_raw_write(da9052->regmap, reg, val, reg_cnt);
|
||||
int ret;
|
||||
|
||||
ret = regmap_raw_write(da9052->regmap, reg, val, reg_cnt);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (da9052->fix_io) {
|
||||
ret = da9052->fix_io(da9052, reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline int da9052_reg_update(struct da9052 *da9052, unsigned char reg,
|
||||
unsigned char bit_mask,
|
||||
unsigned char reg_val)
|
||||
{
|
||||
return regmap_update_bits(da9052->regmap, reg, bit_mask, reg_val);
|
||||
int ret;
|
||||
|
||||
ret = regmap_update_bits(da9052->regmap, reg, bit_mask, reg_val);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (da9052->fix_io) {
|
||||
ret = da9052->fix_io(da9052, reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int da9052_device_init(struct da9052 *da9052, u8 chip_id);
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
#define DA9052_STATUS_C_REG 3
|
||||
#define DA9052_STATUS_D_REG 4
|
||||
|
||||
/* PARK REGISTER */
|
||||
#define DA9052_PARK_REGISTER DA9052_STATUS_D_REG
|
||||
|
||||
/* EVENT REGISTERS */
|
||||
#define DA9052_EVENT_A_REG 5
|
||||
#define DA9052_EVENT_B_REG 6
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
#define RTSX_SD_CARD 0
|
||||
#define RTSX_MS_CARD 1
|
||||
|
||||
#define CLK_TO_DIV_N 0
|
||||
#define DIV_N_TO_CLK 1
|
||||
|
||||
struct platform_device;
|
||||
|
||||
struct rtsx_slot {
|
||||
|
||||
@@ -158,10 +158,9 @@
|
||||
#define SG_TRANS_DATA (0x02 << 4)
|
||||
#define SG_LINK_DESC (0x03 << 4)
|
||||
|
||||
/* SD bank voltage */
|
||||
#define SD_IO_3V3 0
|
||||
#define SD_IO_1V8 1
|
||||
|
||||
/* Output voltage */
|
||||
#define OUTPUT_3V3 0
|
||||
#define OUTPUT_1V8 1
|
||||
|
||||
/* Card Clock Enable Register */
|
||||
#define SD_CLK_EN 0x04
|
||||
@@ -201,6 +200,20 @@
|
||||
#define CHANGE_CLK 0x01
|
||||
|
||||
/* LDO_CTL */
|
||||
#define BPP_ASIC_1V7 0x00
|
||||
#define BPP_ASIC_1V8 0x01
|
||||
#define BPP_ASIC_1V9 0x02
|
||||
#define BPP_ASIC_2V0 0x03
|
||||
#define BPP_ASIC_2V7 0x04
|
||||
#define BPP_ASIC_2V8 0x05
|
||||
#define BPP_ASIC_3V2 0x06
|
||||
#define BPP_ASIC_3V3 0x07
|
||||
#define BPP_REG_TUNED18 0x07
|
||||
#define BPP_TUNED18_SHIFT_8402 5
|
||||
#define BPP_TUNED18_SHIFT_8411 4
|
||||
#define BPP_PAD_MASK 0x04
|
||||
#define BPP_PAD_3V3 0x04
|
||||
#define BPP_PAD_1V8 0x00
|
||||
#define BPP_LDO_POWB 0x03
|
||||
#define BPP_LDO_ON 0x00
|
||||
#define BPP_LDO_SUSPEND 0x02
|
||||
@@ -688,7 +701,10 @@ struct pcr_ops {
|
||||
int (*disable_auto_blink)(struct rtsx_pcr *pcr);
|
||||
int (*card_power_on)(struct rtsx_pcr *pcr, int card);
|
||||
int (*card_power_off)(struct rtsx_pcr *pcr, int card);
|
||||
int (*switch_output_voltage)(struct rtsx_pcr *pcr,
|
||||
u8 voltage);
|
||||
unsigned int (*cd_deglitch)(struct rtsx_pcr *pcr);
|
||||
int (*conv_clk_and_div_n)(int clk, int dir);
|
||||
};
|
||||
|
||||
enum PDEV_STAT {PDEV_STAT_IDLE, PDEV_STAT_RUN};
|
||||
@@ -783,6 +799,7 @@ int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,
|
||||
u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk);
|
||||
int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card);
|
||||
int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card);
|
||||
int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage);
|
||||
unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr);
|
||||
void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr);
|
||||
|
||||
|
||||
@@ -199,11 +199,11 @@ struct module_use {
|
||||
struct module *source, *target;
|
||||
};
|
||||
|
||||
enum module_state
|
||||
{
|
||||
MODULE_STATE_LIVE,
|
||||
MODULE_STATE_COMING,
|
||||
MODULE_STATE_GOING,
|
||||
enum module_state {
|
||||
MODULE_STATE_LIVE, /* Normal state. */
|
||||
MODULE_STATE_COMING, /* Full formed, running module_init. */
|
||||
MODULE_STATE_GOING, /* Going away. */
|
||||
MODULE_STATE_UNFORMED, /* Still setting it up. */
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved.
|
||||
*
|
||||
* 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, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*/
|
||||
#include <linux/errno.h>
|
||||
|
||||
#ifdef CONFIG_IRAM_ALLOC
|
||||
|
||||
int __init iram_init(unsigned long base, unsigned long size);
|
||||
void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr);
|
||||
void iram_free(unsigned long dma_addr, unsigned int size);
|
||||
|
||||
#else
|
||||
|
||||
static inline int __init iram_init(unsigned long base, unsigned long size)
|
||||
{
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static inline void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void iram_free(unsigned long base, unsigned long size) {}
|
||||
|
||||
#endif
|
||||
@@ -45,7 +45,6 @@ extern long arch_ptrace(struct task_struct *child, long request,
|
||||
extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len);
|
||||
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
|
||||
extern void ptrace_disable(struct task_struct *);
|
||||
extern int ptrace_check_attach(struct task_struct *task, bool ignore_state);
|
||||
extern int ptrace_request(struct task_struct *child, long request,
|
||||
unsigned long addr, unsigned long data);
|
||||
extern void ptrace_notify(int exit_code);
|
||||
|
||||
@@ -135,7 +135,7 @@ do { \
|
||||
|
||||
#else
|
||||
# define down_read_nested(sem, subclass) down_read(sem)
|
||||
# define down_write_nest_lock(sem, nest_lock) down_read(sem)
|
||||
# define down_write_nest_lock(sem, nest_lock) down_write(sem)
|
||||
# define down_write_nested(sem, subclass) down_write(sem)
|
||||
#endif
|
||||
|
||||
|
||||
+11
-1
@@ -1810,6 +1810,7 @@ extern void thread_group_cputime_adjusted(struct task_struct *p, cputime_t *ut,
|
||||
#define PF_MEMALLOC 0x00000800 /* Allocating memory */
|
||||
#define PF_NPROC_EXCEEDED 0x00001000 /* set_user noticed that RLIMIT_NPROC was exceeded */
|
||||
#define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */
|
||||
#define PF_USED_ASYNC 0x00004000 /* used async_schedule*(), used by module init */
|
||||
#define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */
|
||||
#define PF_FROZEN 0x00010000 /* frozen for system suspend */
|
||||
#define PF_FSTRANS 0x00020000 /* inside a filesystem transaction */
|
||||
@@ -2713,7 +2714,16 @@ static inline void thread_group_cputime_init(struct signal_struct *sig)
|
||||
extern void recalc_sigpending_and_wake(struct task_struct *t);
|
||||
extern void recalc_sigpending(void);
|
||||
|
||||
extern void signal_wake_up(struct task_struct *t, int resume_stopped);
|
||||
extern void signal_wake_up_state(struct task_struct *t, unsigned int state);
|
||||
|
||||
static inline void signal_wake_up(struct task_struct *t, bool resume)
|
||||
{
|
||||
signal_wake_up_state(t, resume ? TASK_WAKEKILL : 0);
|
||||
}
|
||||
static inline void ptrace_signal_wake_up(struct task_struct *t, bool resume)
|
||||
{
|
||||
signal_wake_up_state(t, resume ? __TASK_TRACED : 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Wrappers for p->thread_info->cpu access. No-op on UP.
|
||||
|
||||
@@ -100,6 +100,7 @@ struct driver_info {
|
||||
#define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */
|
||||
|
||||
#define FLAG_POINTTOPOINT 0x1000 /* possibly use "usb%d" names */
|
||||
#define FLAG_NOARP 0x2000 /* device can't do ARP */
|
||||
|
||||
/*
|
||||
* Indicates to usbnet, that USB driver accumulates multiple IP packets.
|
||||
|
||||
Reference in New Issue
Block a user