Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 276796
b: refs/heads/master
c: 44b7f4b
h: refs/heads/master
v: v3
  • Loading branch information
Will Deacon authored and Ingo Molnar committed Dec 14, 2011
1 parent faec92f commit ed3aa89
Show file tree
Hide file tree
Showing 125 changed files with 838 additions and 1,380 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a36bfddd65b58dd8c8364dba919c04922e04f2f5
refs/heads/master: 44b7f4b98d8877e2a4427f2a2f2e42ae8227a58f
2 changes: 1 addition & 1 deletion trunk/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 2
SUBLEVEL = 0
EXTRAVERSION = -rc6
EXTRAVERSION = -rc5
NAME = Saber-toothed Squirrel

# *DOCUMENTATION*
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/kernel/unwind.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,12 @@ static const struct unwind_idx *unwind_find_origin(
const struct unwind_idx *start, const struct unwind_idx *stop)
{
pr_debug("%s(%p, %p)\n", __func__, start, stop);
while (start < stop) {
while (start < stop - 1) {
const struct unwind_idx *mid = start + ((stop - start) >> 1);

if (mid->addr_offset >= 0x40000000)
/* negative offset */
start = mid + 1;
start = mid;
else
/* positive offset */
stop = mid;
Expand Down
13 changes: 3 additions & 10 deletions trunk/arch/arm/mach-exynos/mct.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ struct mct_clock_event_device {
char name[10];
};

static DEFINE_PER_CPU(struct mct_clock_event_device, percpu_mct_tick);

static void exynos4_mct_write(unsigned int value, void *addr)
{
void __iomem *stat_addr;
Expand Down Expand Up @@ -262,9 +264,6 @@ static void exynos4_clockevent_init(void)
}

#ifdef CONFIG_LOCAL_TIMERS

static DEFINE_PER_CPU(struct mct_clock_event_device, percpu_mct_tick);

/* Clock event handling */
static void exynos4_mct_tick_stop(struct mct_clock_event_device *mevt)
{
Expand Down Expand Up @@ -429,13 +428,9 @@ int __cpuinit local_timer_setup(struct clock_event_device *evt)

void local_timer_stop(struct clock_event_device *evt)
{
unsigned int cpu = smp_processor_id();
evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt);
if (mct_int_type == MCT_INT_SPI)
if (cpu == 0)
remove_irq(evt->irq, &mct_tick0_event_irq);
else
remove_irq(evt->irq, &mct_tick1_event_irq);
disable_irq(evt->irq);
else
disable_percpu_irq(IRQ_MCT_LOCALTIMER);
}
Expand All @@ -448,7 +443,6 @@ static void __init exynos4_timer_resources(void)

clk_rate = clk_get_rate(mct_clk);

#ifdef CONFIG_LOCAL_TIMERS
if (mct_int_type == MCT_INT_PPI) {
int err;

Expand All @@ -458,7 +452,6 @@ static void __init exynos4_timer_resources(void)
WARN(err, "MCT: can't request IRQ %d (%d)\n",
IRQ_MCT_LOCALTIMER, err);
}
#endif /* CONFIG_LOCAL_TIMERS */
}

static void __init exynos4_timer_init(void)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-mx5/board-mx51_babbage.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ static void __init mx51_babbage_init(void)
{
iomux_v3_cfg_t usbh1stp = MX51_PAD_USBH1_STP__USBH1_STP;
iomux_v3_cfg_t power_key = NEW_PAD_CTRL(MX51_PAD_EIM_A27__GPIO2_21,
PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH);
PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | PAD_CTL_PUS_100K_UP);

imx51_soc_init();

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-mx5/board-mx53_evk.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ static inline void mx53_evk_fec_reset(void)
gpio_set_value(MX53_EVK_FEC_PHY_RST, 1);
}

static const struct fec_platform_data mx53_evk_fec_pdata __initconst = {
static struct fec_platform_data mx53_evk_fec_pdata = {
.phy = PHY_INTERFACE_MODE_RMII,
};

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-mx5/board-mx53_loco.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ static inline void mx53_loco_fec_reset(void)
gpio_set_value(LOCO_FEC_PHY_RST, 1);
}

static const struct fec_platform_data mx53_loco_fec_data __initconst = {
static struct fec_platform_data mx53_loco_fec_data = {
.phy = PHY_INTERFACE_MODE_RMII,
};

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-mx5/board-mx53_smd.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ static inline void mx53_smd_fec_reset(void)
gpio_set_value(SMD_FEC_PHY_RST, 1);
}

static const struct fec_platform_data mx53_smd_fec_data __initconst = {
static struct fec_platform_data mx53_smd_fec_data = {
.phy = PHY_INTERFACE_MODE_RMII,
};

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-omap2/board-rx51-peripherals.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ static struct platform_device rx51_charger_device = {
static void __init rx51_charger_init(void)
{
WARN_ON(gpio_request_one(RX51_USB_TRANSCEIVER_RST_GPIO,
GPIOF_OUT_INIT_HIGH, "isp1704_reset"));
GPIOF_OUT_INIT_LOW, "isp1704_reset"));

platform_device_register(&rx51_charger_device);
}
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/arm/mach-omap2/mcbsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,6 @@ static int omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
pdata->reg_size = 4;
pdata->has_ccr = true;
}
pdata->set_clk_src = omap2_mcbsp_set_clk_src;
if (id == 1)
pdata->mux_signal = omap2_mcbsp1_mux_rx_clk;

if (oh->class->rev == MCBSP_CONFIG_TYPE3) {
if (id == 2)
Expand Down Expand Up @@ -177,6 +174,9 @@ static int omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
name, oh->name);
return PTR_ERR(pdev);
}
pdata->set_clk_src = omap2_mcbsp_set_clk_src;
if (id == 1)
pdata->mux_signal = omap2_mcbsp1_mux_rx_clk;
omap_mcbsp_count++;
return 0;
}
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/arm/mach-s5pv210/mach-smdkv210.c
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,6 @@ static struct samsung_bl_gpio_info smdkv210_bl_gpio_info = {

static struct platform_pwm_backlight_data smdkv210_bl_data = {
.pwm_id = 3,
.pwm_period_ns = 1000,
};

static void __init smdkv210_map_io(void)
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/arm/plat-mxc/cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
* the CPU clock speed on the fly.
*/

#include <linux/module.h>
#include <linux/cpufreq.h>
#include <linux/clk.h>
#include <linux/err.h>
Expand Down
7 changes: 1 addition & 6 deletions trunk/arch/arm/plat-mxc/pwm.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@
#define MX3_PWMSAR 0x0C /* PWM Sample Register */
#define MX3_PWMPR 0x10 /* PWM Period Register */
#define MX3_PWMCR_PRESCALER(x) (((x - 1) & 0xFFF) << 4)
#define MX3_PWMCR_DOZEEN (1 << 24)
#define MX3_PWMCR_WAITEN (1 << 23)
#define MX3_PWMCR_DBGEN (1 << 22)
#define MX3_PWMCR_CLKSRC_IPG_HIGH (2 << 16)
#define MX3_PWMCR_CLKSRC_IPG (1 << 16)
#define MX3_PWMCR_EN (1 << 0)
Expand Down Expand Up @@ -80,9 +77,7 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns)
writel(duty_cycles, pwm->mmio_base + MX3_PWMSAR);
writel(period_cycles, pwm->mmio_base + MX3_PWMPR);

cr = MX3_PWMCR_PRESCALER(prescale) |
MX3_PWMCR_DOZEEN | MX3_PWMCR_WAITEN |
MX3_PWMCR_DBGEN | MX3_PWMCR_EN;
cr = MX3_PWMCR_PRESCALER(prescale) | MX3_PWMCR_EN;

if (cpu_is_mx25())
cr |= MX3_PWMCR_CLKSRC_IPG;
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/plat-samsung/dev-backlight.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/io.h>
#include <linux/pwm_backlight.h>
#include <linux/slab.h>

#include <plat/devs.h>
#include <plat/gpio-cfg.h>
Expand Down
6 changes: 4 additions & 2 deletions trunk/arch/sparc/kernel/ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -1181,11 +1181,13 @@ static int __devinit ds_probe(struct vio_dev *vdev,

dp->rcv_buf_len = 4096;

dp->ds_states = kmemdup(ds_states_template,
sizeof(ds_states_template), GFP_KERNEL);
dp->ds_states = kzalloc(sizeof(ds_states_template),
GFP_KERNEL);
if (!dp->ds_states)
goto out_free_rcv_buf;

memcpy(dp->ds_states, ds_states_template,
sizeof(ds_states_template));
dp->num_ds_states = ARRAY_SIZE(ds_states_template);

for (i = 0; i < dp->num_ds_states; i++)
Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/sparc/kernel/prom_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,12 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len
void *new_val;
int err;

new_val = kmemdup(val, len, GFP_KERNEL);
new_val = kmalloc(len, GFP_KERNEL);
if (!new_val)
return -ENOMEM;

memcpy(new_val, val, len);

err = -ENODEV;

mutex_lock(&of_set_property_mutex);
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/sparc/mm/btfixup.c
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,8 @@ void __init btfixup(void)
case 'i': /* INT */
if ((insn & 0xc1c00000) == 0x01000000) /* %HI */
set_addr(addr, q[1], fmangled, (insn & 0xffc00000) | (p[1] >> 10));
else if ((insn & 0x80002000) == 0x80002000) /* %LO */
else if ((insn & 0x80002000) == 0x80002000 &&
(insn & 0x01800000) != 0x01800000) /* %LO */
set_addr(addr, q[1], fmangled, (insn & 0xffffe000) | (p[1] & 0x3ff));
else {
prom_printf(insn_i, p, addr, insn);
Expand Down
18 changes: 3 additions & 15 deletions trunk/arch/x86/xen/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,21 +173,9 @@ static unsigned long __init xen_get_max_pages(void)
domid_t domid = DOMID_SELF;
int ret;

/*
* For the initial domain we use the maximum reservation as
* the maximum page.
*
* For guest domains the current maximum reservation reflects
* the current maximum rather than the static maximum. In this
* case the e820 map provided to us will cover the static
* maximum region.
*/
if (xen_initial_domain()) {
ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
if (ret > 0)
max_pages = ret;
}

ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
if (ret > 0)
max_pages = ret;
return min(max_pages, MAX_DOMAIN_PAGES);
}

Expand Down
23 changes: 12 additions & 11 deletions trunk/block/blk-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,14 +366,7 @@ void blk_drain_queue(struct request_queue *q, bool drain_all)
if (drain_all)
blk_throtl_drain(q);

/*
* This function might be called on a queue which failed
* driver init after queue creation. Some drivers
* (e.g. fd) get unhappy in such cases. Kick queue iff
* dispatch queue has something on it.
*/
if (!list_empty(&q->queue_head))
__blk_run_queue(q);
__blk_run_queue(q);

if (drain_all)
nr_rqs = q->rq.count[0] + q->rq.count[1];
Expand Down Expand Up @@ -474,7 +467,6 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
q->backing_dev_info.state = 0;
q->backing_dev_info.capabilities = BDI_CAP_MAP_COPY;
q->backing_dev_info.name = "block";
q->node = node_id;

err = bdi_init(&q->backing_dev_info);
if (err) {
Expand Down Expand Up @@ -559,7 +551,7 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
if (!uninit_q)
return NULL;

q = blk_init_allocated_queue(uninit_q, rfn, lock);
q = blk_init_allocated_queue_node(uninit_q, rfn, lock, node_id);
if (!q)
blk_cleanup_queue(uninit_q);

Expand All @@ -570,10 +562,19 @@ EXPORT_SYMBOL(blk_init_queue_node);
struct request_queue *
blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
spinlock_t *lock)
{
return blk_init_allocated_queue_node(q, rfn, lock, -1);
}
EXPORT_SYMBOL(blk_init_allocated_queue);

struct request_queue *
blk_init_allocated_queue_node(struct request_queue *q, request_fn_proc *rfn,
spinlock_t *lock, int node_id)
{
if (!q)
return NULL;

q->node = node_id;
if (blk_init_free_list(q))
return NULL;

Expand Down Expand Up @@ -603,7 +604,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,

return NULL;
}
EXPORT_SYMBOL(blk_init_allocated_queue);
EXPORT_SYMBOL(blk_init_allocated_queue_node);

int blk_get_queue(struct request_queue *q)
{
Expand Down
16 changes: 2 additions & 14 deletions trunk/block/cfq-iosched.c
Original file line number Diff line number Diff line change
Expand Up @@ -3184,7 +3184,7 @@ static int cfq_cic_link(struct cfq_data *cfqd, struct io_context *ioc,
}
}

if (ret && ret != -EEXIST)
if (ret)
printk(KERN_ERR "cfq: cic link failed!\n");

return ret;
Expand All @@ -3200,15 +3200,13 @@ cfq_get_io_context(struct cfq_data *cfqd, gfp_t gfp_mask)
{
struct io_context *ioc = NULL;
struct cfq_io_context *cic;
int ret;

might_sleep_if(gfp_mask & __GFP_WAIT);

ioc = get_io_context(gfp_mask, cfqd->queue->node);
if (!ioc)
return NULL;

retry:
cic = cfq_cic_lookup(cfqd, ioc);
if (cic)
goto out;
Expand All @@ -3217,12 +3215,7 @@ cfq_get_io_context(struct cfq_data *cfqd, gfp_t gfp_mask)
if (cic == NULL)
goto err;

ret = cfq_cic_link(cfqd, ioc, cic, gfp_mask);
if (ret == -EEXIST) {
/* someone has linked cic to ioc already */
cfq_cic_free(cic);
goto retry;
} else if (ret)
if (cfq_cic_link(cfqd, ioc, cic, gfp_mask))
goto err_free;

out:
Expand Down Expand Up @@ -4043,11 +4036,6 @@ static void *cfq_init_queue(struct request_queue *q)

if (blkio_alloc_blkg_stats(&cfqg->blkg)) {
kfree(cfqg);

spin_lock(&cic_index_lock);
ida_remove(&cic_index_ida, cfqd->cic_index);
spin_unlock(&cic_index_lock);

kfree(cfqd);
return NULL;
}
Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -2601,8 +2601,6 @@ static int fill_cmd(ctlr_info_t *h, CommandList_struct *c, __u8 cmd, void *buff,
c->Request.Timeout = 0;
c->Request.CDB[0] = BMIC_WRITE;
c->Request.CDB[6] = BMIC_CACHE_FLUSH;
c->Request.CDB[7] = (size >> 8) & 0xFF;
c->Request.CDB[8] = size & 0xFF;
break;
case TEST_UNIT_READY:
c->Request.CDBLen = 6;
Expand Down Expand Up @@ -4882,7 +4880,7 @@ static int cciss_request_irq(ctlr_info_t *h,
{
if (h->msix_vector || h->msi_vector) {
if (!request_irq(h->intr[h->intr_mode], msixhandler,
0, h->devname, h))
IRQF_DISABLED, h->devname, h))
return 0;
dev_err(&h->pdev->dev, "Unable to get msi irq %d"
" for %s\n", h->intr[h->intr_mode],
Expand All @@ -4891,7 +4889,7 @@ static int cciss_request_irq(ctlr_info_t *h,
}

if (!request_irq(h->intr[h->intr_mode], intxhandler,
IRQF_SHARED, h->devname, h))
IRQF_DISABLED, h->devname, h))
return 0;
dev_err(&h->pdev->dev, "Unable to get irq %d for %s\n",
h->intr[h->intr_mode], h->devname);
Expand Down
Loading

0 comments on commit ed3aa89

Please sign in to comment.