Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 181233
b: refs/heads/master
c: da64c2a
h: refs/heads/master
i:
  181231: 6e3fd45
v: v3
  • Loading branch information
Paul Mundt committed Feb 25, 2010
1 parent dbd1f0b commit 410a370
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 20 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: 29463c28a553e1959ec45cc8ad9d2eb434663cdf
refs/heads/master: da64c2a8dee66ca03f4f3e15d84be7bedf73db3d
32 changes: 19 additions & 13 deletions trunk/drivers/clocksource/sh_cmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -603,18 +603,13 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)
p->irqaction.handler = sh_cmt_interrupt;
p->irqaction.dev_id = p;
p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL;
ret = setup_irq(irq, &p->irqaction);
if (ret) {
pr_err("sh_cmt: failed to request irq %d\n", irq);
goto err1;
}

/* get hold of clock */
p->clk = clk_get(&p->pdev->dev, cfg->clk);
if (IS_ERR(p->clk)) {
pr_err("sh_cmt: cannot get clock \"%s\"\n", cfg->clk);
ret = PTR_ERR(p->clk);
goto err2;
goto err1;
}

if (resource_size(res) == 6) {
Expand All @@ -627,14 +622,25 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)
p->clear_bits = ~0xc000;
}

return sh_cmt_register(p, cfg->name,
cfg->clockevent_rating,
cfg->clocksource_rating);
err2:
remove_irq(irq, &p->irqaction);
err1:
ret = sh_cmt_register(p, cfg->name,
cfg->clockevent_rating,
cfg->clocksource_rating);
if (ret) {
pr_err("sh_cmt: registration failed\n");
goto err1;
}

ret = setup_irq(irq, &p->irqaction);
if (ret) {
pr_err("sh_cmt: failed to request irq %d\n", irq);
goto err1;
}

return 0;

err1:
iounmap(p->mapbase);
err0:
err0:
return ret;
}

Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/clocksource/sh_mtu2.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,15 +221,15 @@ static void sh_mtu2_register_clockevent(struct sh_mtu2_priv *p,
ced->cpumask = cpumask_of(0);
ced->set_mode = sh_mtu2_clock_event_mode;

pr_info("sh_mtu2: %s used for clock events\n", ced->name);
clockevents_register_device(ced);

ret = setup_irq(p->irqaction.irq, &p->irqaction);
if (ret) {
pr_err("sh_mtu2: failed to request irq %d\n",
p->irqaction.irq);
return;
}

pr_info("sh_mtu2: %s used for clock events\n", ced->name);
clockevents_register_device(ced);
}

static int sh_mtu2_register(struct sh_mtu2_priv *p, char *name,
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/clocksource/sh_tmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,15 +323,15 @@ static void sh_tmu_register_clockevent(struct sh_tmu_priv *p,
ced->set_next_event = sh_tmu_clock_event_next;
ced->set_mode = sh_tmu_clock_event_mode;

pr_info("sh_tmu: %s used for clock events\n", ced->name);
clockevents_register_device(ced);

ret = setup_irq(p->irqaction.irq, &p->irqaction);
if (ret) {
pr_err("sh_tmu: failed to request irq %d\n",
p->irqaction.irq);
return;
}

pr_info("sh_tmu: %s used for clock events\n", ced->name);
clockevents_register_device(ced);
}

static int sh_tmu_register(struct sh_tmu_priv *p, char *name,
Expand Down

0 comments on commit 410a370

Please sign in to comment.