Signed-off-by: Simon Horman <horms@verge.net.au>
---
- include/sound/simple_card.h | 38 ++++++++++++++
- sound/soc/Kconfig | 3 ++
- sound/soc/Makefile | 1 +
- sound/soc/generic/Kconfig | 4 ++
- sound/soc/generic/Makefile | 3 ++
- sound/soc/generic/simple-card.c | 114 ++++++++++++++++++++++++++++++++++++++++
+ include/sound/simple_card.h | 38 +++++++++++++
+ sound/soc/Kconfig | 3 +
+ sound/soc/Makefile | 1
+ sound/soc/generic/Kconfig | 4 +
+ sound/soc/generic/Makefile | 3 +
+ sound/soc/generic/simple-card.c | 114 ++++++++++++++++++++++++++++++++++++++++
6 files changed, 163 insertions(+)
create mode 100644 include/sound/simple_card.h
create mode 100644 sound/soc/generic/Kconfig
create mode 100644 sound/soc/generic/Makefile
create mode 100644 sound/soc/generic/simple-card.c
-diff --git a/include/sound/simple_card.h b/include/sound/simple_card.h
-new file mode 100644
-index 0000000..4b62b8d
--- /dev/null
+++ b/include/sound/simple_card.h
@@ -0,0 +1,38 @@
+};
+
+#endif /* __SIMPLE_CARD_H */
-diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
-index 91c9855..38be639 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -52,5 +52,8 @@ source "sound/soc/txx9/Kconfig"
+
endif # SND_SOC
-diff --git a/sound/soc/Makefile b/sound/soc/Makefile
-index 2feaf37..b55db9c 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
-@@ -6,6 +6,7 @@ obj-$(CONFIG_SND_SOC_DMAENGINE_PCM) += snd-soc-dmaengine-pcm.o
+@@ -7,6 +7,7 @@ endif
obj-$(CONFIG_SND_SOC) += snd-soc-core.o
obj-$(CONFIG_SND_SOC) += codecs/
obj-$(CONFIG_SND_SOC) += atmel/
obj-$(CONFIG_SND_SOC) += au1x/
obj-$(CONFIG_SND_SOC) += blackfin/
-diff --git a/sound/soc/generic/Kconfig b/sound/soc/generic/Kconfig
-new file mode 100644
-index 0000000..610f612
--- /dev/null
+++ b/sound/soc/generic/Kconfig
@@ -0,0 +1,4 @@
+ tristate "ASoC Simple sound card support"
+ help
+ This option enables generic simple sound card support
-diff --git a/sound/soc/generic/Makefile b/sound/soc/generic/Makefile
-new file mode 100644
-index 0000000..9c3b246
--- /dev/null
+++ b/sound/soc/generic/Makefile
@@ -0,0 +1,3 @@
+snd-soc-simple-card-objs := simple-card.o
+
+obj-$(CONFIG_SND_SIMPLE_CARD) += snd-soc-simple-card.o
-diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
-new file mode 100644
-index 0000000..b4b4cab
--- /dev/null
+++ b/sound/soc/generic/simple-card.c
@@ -0,0 +1,114 @@
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("ASoC Simple Sound Card");
+MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>");
---
-1.8.0.197.g5a90748
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/include/net/codel.h b/include/net/codel.h
-index bce2cef..bd8747c 100644
+---
+ include/net/codel.h | 68 ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 37 insertions(+), 31 deletions(-)
+
--- a/include/net/codel.h
+++ b/include/net/codel.h
@@ -46,6 +46,7 @@
codel_time_t first_above_time;
codel_time_t drop_next;
codel_time_t ldelay;
-@@ -158,11 +161,7 @@ static void codel_params_init(struct codel_params *params)
+@@ -158,11 +161,7 @@ static void codel_params_init(struct cod
static void codel_vars_init(struct codel_vars *vars)
{
}
static void codel_stats_init(struct codel_stats *stats)
-@@ -170,38 +169,37 @@ static void codel_stats_init(struct codel_stats *stats)
+@@ -170,38 +169,37 @@ static void codel_stats_init(struct code
stats->maxpacket = 256;
}
{
- u64 interval = _interval;
- unsigned long x = _x;
+-
+- /* Scale operands for max precision */
+ u32 invsqrt = vars->rec_inv_sqrt;
+ u32 invsqrt2 = ((u64)invsqrt * invsqrt) >> 31;
+ u64 val = (3LL << 31) - ((u64)vars->count * invsqrt2);
-- /* Scale operands for max precision */
--
-#if BITS_PER_LONG == 64
- x <<= 32; /* On 64bit arches, we can prescale x by 32bits */
- interval <<= 16;
unsigned int *backlog,
struct codel_vars *vars,
struct codel_params *params,
-@@ -274,14 +272,16 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -274,14 +272,16 @@ static struct sk_buff *codel_dequeue(str
*/
while (vars->dropping &&
codel_time_after_eq(now, vars->drop_next)) {
goto end;
}
qdisc_drop(skb, sch);
-@@ -296,7 +296,7 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -296,7 +296,7 @@ static struct sk_buff *codel_dequeue(str
vars->drop_next =
codel_control_law(vars->drop_next,
params->interval,
}
}
}
-@@ -319,12 +319,18 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -319,12 +319,18 @@ static struct sk_buff *codel_dequeue(str
if (codel_time_before(now - vars->drop_next,
16 * params->interval)) {
vars->count = (vars->count - vars->lastcount) | 1;
}
end:
return skb;
---
-1.7.12.rc1.1.gbce1580
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/include/net/codel.h b/include/net/codel.h
-index bd8747c..7546517 100644
+---
+ include/net/codel.h | 25 +++++++++++++++----------
+ 1 file changed, 15 insertions(+), 10 deletions(-)
+
--- a/include/net/codel.h
+++ b/include/net/codel.h
@@ -133,13 +133,17 @@ struct codel_params {
/**
* struct codel_stats - contains codel shared variables and stats
* @maxpacket: largest packet we've seen so far
-@@ -173,17 +177,18 @@ static void codel_stats_init(struct codel_stats *stats)
+@@ -173,17 +177,18 @@ static void codel_stats_init(struct code
* http://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Iterative_methods_for_reciprocal_square_roots
* new_invsqrt = (invsqrt / 2) * (3 - count * invsqrt^2)
*
}
/*
-@@ -195,7 +200,7 @@ static codel_time_t codel_control_law(codel_time_t t,
+@@ -195,7 +200,7 @@ static codel_time_t codel_control_law(co
codel_time_t interval,
u32 rec_inv_sqrt)
{
}
-@@ -326,7 +331,7 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -326,7 +331,7 @@ static struct sk_buff *codel_dequeue(str
codel_Newton_step(vars);
} else {
vars->count = 1;
}
vars->lastcount = vars->count;
vars->drop_next = codel_control_law(now, params->interval,
---
-1.7.12.rc1.1.gbce1580
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
-index cde56c2..32aef0a 100644
+---
+ include/linux/pkt_sched.h | 54 +++
+ net/sched/Kconfig | 11
+ net/sched/Makefile | 1
+ net/sched/sch_fq_codel.c | 624 ++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 690 insertions(+)
+
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -681,4 +681,58 @@ struct tc_codel_xstats {
+};
+
#endif
-diff --git a/net/sched/Kconfig b/net/sched/Kconfig
-index fadd252..e7a8976 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -261,6 +261,17 @@ config NET_SCH_CODEL
config NET_SCH_INGRESS
tristate "Ingress Qdisc"
depends on NET_CLS_ACT
-diff --git a/net/sched/Makefile b/net/sched/Makefile
-index 30fab03..5940a19 100644
--- a/net/sched/Makefile
+++ b/net/sched/Makefile
-@@ -38,6 +38,7 @@ obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqprio.o
+@@ -38,6 +38,7 @@ obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqpr
obj-$(CONFIG_NET_SCH_CHOKE) += sch_choke.o
obj-$(CONFIG_NET_SCH_QFQ) += sch_qfq.o
obj-$(CONFIG_NET_SCH_CODEL) += sch_codel.o
obj-$(CONFIG_NET_CLS_U32) += cls_u32.o
obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o
-diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c
-new file mode 100644
-index 0000000..a7b3754
--- /dev/null
+++ b/net/sched/sch_fq_codel.c
@@ -0,0 +1,624 @@
+module_exit(fq_codel_module_exit)
+MODULE_AUTHOR("Eric Dumazet");
+MODULE_LICENSE("GPL");
---
-1.7.12.rc1.1.gbce1580
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/include/net/codel.h b/include/net/codel.h
-index 7546517..550debf 100644
+---
+ include/net/codel.h | 15 +++++++--------
+ net/sched/sch_codel.c | 4 ++--
+ net/sched/sch_fq_codel.c | 5 +++--
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
--- a/include/net/codel.h
+++ b/include/net/codel.h
-@@ -205,7 +205,7 @@ static codel_time_t codel_control_law(codel_time_t t,
+@@ -205,7 +205,7 @@ static codel_time_t codel_control_law(co
static bool codel_should_drop(const struct sk_buff *skb,
struct codel_vars *vars,
struct codel_params *params,
struct codel_stats *stats,
-@@ -219,13 +219,13 @@ static bool codel_should_drop(const struct sk_buff *skb,
+@@ -219,13 +219,13 @@ static bool codel_should_drop(const stru
}
vars->ldelay = now - codel_get_enqueue_time(skb);
/* went below - stay below for at least interval */
vars->first_above_time = 0;
return false;
-@@ -249,8 +249,7 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -249,8 +249,7 @@ static struct sk_buff *codel_dequeue(str
struct codel_params *params,
struct codel_vars *vars,
struct codel_stats *stats,
{
struct sk_buff *skb = dequeue_func(vars, sch);
codel_time_t now;
-@@ -261,7 +260,7 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -261,7 +260,7 @@ static struct sk_buff *codel_dequeue(str
return skb;
}
now = codel_get_time();
if (vars->dropping) {
if (!drop) {
/* sojourn time below target - leave dropping state */
-@@ -292,7 +291,7 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -292,7 +291,7 @@ static struct sk_buff *codel_dequeue(str
qdisc_drop(skb, sch);
stats->drop_count++;
skb = dequeue_func(vars, sch);
vars, params, stats, now)) {
/* leave dropping state */
vars->dropping = false;
-@@ -313,7 +312,7 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch,
+@@ -313,7 +312,7 @@ static struct sk_buff *codel_dequeue(str
stats->drop_count++;
skb = dequeue_func(vars, sch);
stats, now);
}
vars->dropping = true;
-diff --git a/net/sched/sch_codel.c b/net/sched/sch_codel.c
-index 213ef60..2f9ab17 100644
--- a/net/sched/sch_codel.c
+++ b/net/sched/sch_codel.c
-@@ -77,8 +77,8 @@ static struct sk_buff *codel_qdisc_dequeue(struct Qdisc *sch)
+@@ -77,8 +77,8 @@ static struct sk_buff *codel_qdisc_deque
struct codel_sched_data *q = qdisc_priv(sch);
struct sk_buff *skb;
/* We cant call qdisc_tree_decrease_qlen() if our qlen is 0,
* or HTB crashes. Defer it for next round.
*/
-diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c
-index 337ff20..9fc1c62 100644
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
-@@ -217,13 +217,14 @@ static int fq_codel_enqueue(struct sk_buff *skb, struct Qdisc *sch)
+@@ -217,13 +217,14 @@ static int fq_codel_enqueue(struct sk_bu
*/
static struct sk_buff *dequeue(struct codel_vars *vars, struct Qdisc *sch)
{
flow->dropped += q->cstats.drop_count - prev_drop_count;
flow->dropped += q->cstats.ecn_mark - prev_ecn_mark;
---
-1.7.12.rc1.1.gbce1580
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/net/sched/sch_codel.c b/net/sched/sch_codel.c
-index b4a1a81..213ef60 100644
+---
+ net/sched/sch_codel.c | 1 +
+ 1 file changed, 1 insertion(+)
+
--- a/net/sched/sch_codel.c
+++ b/net/sched/sch_codel.c
@@ -46,6 +46,7 @@
#include <net/pkt_sched.h>
#include <net/codel.h>
---
-1.7.12.rc1.1.ga9c166e
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c
-index a7b3754..337ff20 100644
+---
+ net/sched/sch_fq_codel.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
-@@ -461,13 +461,14 @@ static int fq_codel_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
+@@ -461,13 +461,14 @@ static int fq_codel_dump_stats(struct Qd
struct fq_codel_sched_data *q = qdisc_priv(sch);
struct tc_fq_codel_xstats st = {
.type = TCA_FQ_CODEL_XSTATS_QDISC,
list_for_each(pos, &q->new_flows)
st.qdisc_stats.new_flows_len++;
---
-1.7.12.rc1.1.gbce1580
-
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
-index 410b33d..ffe975c 100644
+---
+ include/linux/pkt_sched.h | 1 +
+ net/sched/sch_netem.c | 18 +++++++++++++++---
+ 2 files changed, 16 insertions(+), 3 deletions(-)
+
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -509,6 +509,7 @@ enum {
__TCA_NETEM_MAX,
};
-diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
-index 992acaa..16c970b 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -26,6 +26,7 @@
u32 limit;
u32 counter;
u32 gap;
-@@ -366,9 +368,12 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch)
+@@ -366,9 +368,12 @@ static int netem_enqueue(struct sk_buff
++count;
/* Drop packet? */
if (count == 0) {
sch->qstats.drops++;
kfree_skb(skb);
-@@ -692,6 +697,7 @@ static const struct nla_policy netem_policy[TCA_NETEM_MAX + 1] = {
+@@ -692,6 +697,7 @@ static const struct nla_policy netem_pol
[TCA_NETEM_CORRUPT] = { .len = sizeof(struct tc_netem_corrupt) },
[TCA_NETEM_RATE] = { .len = sizeof(struct tc_netem_rate) },
[TCA_NETEM_LOSS] = { .type = NLA_NESTED },
};
static int parse_attr(struct nlattr *tb[], int maxtype, struct nlattr *nla,
-@@ -762,6 +768,9 @@ static int netem_change(struct Qdisc *sch, struct nlattr *opt)
+@@ -762,6 +768,9 @@ static int netem_change(struct Qdisc *sc
if (tb[TCA_NETEM_RATE])
get_rate(sch, tb[TCA_NETEM_RATE]);
q->loss_model = CLG_RANDOM;
if (tb[TCA_NETEM_LOSS])
ret = get_loss_clg(sch, tb[TCA_NETEM_LOSS]);
-@@ -881,6 +890,9 @@ static int netem_dump(struct Qdisc *sch, struct sk_buff *skb)
+@@ -881,6 +890,9 @@ static int netem_dump(struct Qdisc *sch,
rate.cell_overhead = q->cell_overhead;
NLA_PUT(skb, TCA_NETEM_RATE, sizeof(rate), &rate);
if (dump_loss_model(q, skb) != 0)
goto nla_put_failure;
---
-1.7.12.1
-
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 4
- SUBLEVEL = 23
+ SUBLEVEL = 24
-EXTRAVERSION =
+EXTRAVERSION = -ltsi
NAME = Saber-toothed Squirrel
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
-@@ -1253,11 +1253,16 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1249,11 +1249,16 @@ static int __devinit sh_mmcif_probe(stru
int ret = 0, irq[2];
struct mmc_host *mmc;
struct sh_mmcif_host *host;
irq[0] = platform_get_irq(pdev, 0);
irq[1] = platform_get_irq(pdev, 1);
if (irq[0] < 0 || irq[1] < 0) {
-@@ -1274,16 +1279,11 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1270,16 +1275,11 @@ static int __devinit sh_mmcif_probe(stru
dev_err(&pdev->dev, "ioremap error.\n");
return -ENOMEM;
}
}
host = mmc_priv(mmc);
host->mmc = mmc;
-@@ -1295,7 +1295,7 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1291,7 +1291,7 @@ static int __devinit sh_mmcif_probe(stru
if (IS_ERR(host->hclk)) {
dev_err(&pdev->dev, "cannot get clock \"%s\"\n", clk_name);
ret = PTR_ERR(host->hclk);
}
clk_enable(host->hclk);
host->clk = clk_get_rate(host->hclk);
-@@ -1325,7 +1325,7 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1321,7 +1321,7 @@ static int __devinit sh_mmcif_probe(stru
ret = pm_runtime_resume(&pdev->dev);
if (ret < 0)
INIT_DELAYED_WORK(&host->timeout_work, mmcif_timeout_work);
-@@ -1334,17 +1334,17 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1330,17 +1330,17 @@ static int __devinit sh_mmcif_probe(stru
ret = request_threaded_irq(irq[0], sh_mmcif_intr, sh_mmcif_irqt, 0, "sh_mmc:error", host);
if (ret) {
dev_err(&pdev->dev, "request_irq error (sh_mmc:error)\n");
dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
-@@ -1353,20 +1353,19 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1349,20 +1349,19 @@ static int __devinit sh_mmcif_probe(stru
sh_mmcif_readl(host->addr, MMCIF_CE_VERSION) & 0x0000ffff);
return ret;
pm_runtime_get_sync(&host->pd->dev);
host->power = true;
sh_mmcif_sync_reset(host);
-@@ -1290,22 +1292,11 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1286,22 +1288,11 @@ static int __devinit sh_mmcif_probe(stru
host->addr = reg;
host->timeout = 1000;
if (pd->ocr)
mmc->ocr_avail = pd->ocr;
mmc->caps = MMC_CAP_MMC_HIGHSPEED;
-@@ -1317,18 +1308,30 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1313,18 +1304,30 @@ static int __devinit sh_mmcif_probe(stru
mmc->max_blk_count = mmc->max_req_size / mmc->max_blk_size;
mmc->max_seg_size = mmc->max_req_size;
sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL);
ret = request_threaded_irq(irq[0], sh_mmcif_intr, sh_mmcif_irqt, 0, "sh_mmc:error", host);
-@@ -1342,6 +1345,7 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1338,6 +1341,7 @@ static int __devinit sh_mmcif_probe(stru
goto ereqirq1;
}
ret = mmc_add_host(mmc);
if (ret < 0)
goto emmcaddh;
-@@ -1360,9 +1364,10 @@ ereqirq1:
+@@ -1356,9 +1360,10 @@ ereqirq1:
ereqirq0:
pm_runtime_suspend(&pdev->dev);
eresume:
mmc_free_host(mmc);
ealloch:
iounmap(reg);
-@@ -1375,6 +1380,7 @@ static int __devexit sh_mmcif_remove(str
+@@ -1371,6 +1376,7 @@ static int __devexit sh_mmcif_remove(str
int irq[2];
host->dying = true;
pm_runtime_get_sync(&pdev->dev);
dev_pm_qos_hide_latency_limit(&pdev->dev);
-@@ -1400,9 +1406,9 @@ static int __devexit sh_mmcif_remove(str
+@@ -1396,9 +1402,9 @@ static int __devexit sh_mmcif_remove(str
platform_set_drvdata(pdev, NULL);
pm_runtime_disable(&pdev->dev);
return 0;
-@@ -1411,24 +1417,18 @@ static int __devexit sh_mmcif_remove(str
+@@ -1407,24 +1413,18 @@ static int __devexit sh_mmcif_remove(str
#ifdef CONFIG_PM
static int sh_mmcif_suspend(struct device *dev)
{
pm_runtime_get_sync(&host->pd->dev);
host->power = true;
sh_mmcif_sync_reset(host);
-@@ -1320,10 +1333,9 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1316,10 +1329,9 @@ static int __devinit sh_mmcif_probe(stru
dev_err(&pdev->dev, "cannot get clock \"%s\": %d\n", clk_name, ret);
goto eclkget;
}
ret = pm_runtime_resume(&pdev->dev);
if (ret < 0)
-@@ -1365,6 +1377,7 @@ ereqirq0:
+@@ -1361,6 +1373,7 @@ ereqirq0:
pm_runtime_suspend(&pdev->dev);
eresume:
clk_disable(host->hclk);
sh_mmcif_clk_update(host);
pm_runtime_get_sync(&host->pd->dev);
host->power = true;
-@@ -1263,6 +1274,19 @@ static void mmcif_timeout_work(struct wo
+@@ -1259,6 +1270,19 @@ static void mmcif_timeout_work(struct wo
mmc_request_done(host->mmc, mrq);
}
static int __devinit sh_mmcif_probe(struct platform_device *pdev)
{
int ret = 0, irq[2];
-@@ -1310,8 +1334,8 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1306,8 +1330,8 @@ static int __devinit sh_mmcif_probe(stru
spin_lock_init(&host->lock);
mmc->ops = &sh_mmcif_ops;
return -ENOSYS;
else
return p->get_cd(host->pd);
-@@ -1281,6 +1286,9 @@ static void sh_mmcif_init_ocr(struct sh_
+@@ -1277,6 +1282,9 @@ static void sh_mmcif_init_ocr(struct sh_
mmc_regulator_get_supply(mmc);
if (!mmc->ocr_avail)
mmc->ocr_avail = pd->ocr;
else if (pd->ocr)
-@@ -1297,11 +1305,6 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1293,11 +1301,6 @@ static int __devinit sh_mmcif_probe(stru
void __iomem *reg;
char clk_name[8];
irq[0] = platform_get_irq(pdev, 0);
irq[1] = platform_get_irq(pdev, 1);
if (irq[0] < 0 || irq[1] < 0) {
-@@ -1337,7 +1340,7 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1333,7 +1336,7 @@ static int __devinit sh_mmcif_probe(stru
sh_mmcif_init_ocr(host);
mmc->caps = MMC_CAP_MMC_HIGHSPEED;
mmc->caps |= pd->caps;
mmc->max_segs = 32;
mmc->max_blk_size = 512;
-@@ -1474,6 +1477,12 @@ static int sh_mmcif_resume(struct device
+@@ -1470,6 +1473,12 @@ static int sh_mmcif_resume(struct device
#define sh_mmcif_resume NULL
#endif /* CONFIG_PM */
static const struct dev_pm_ops sh_mmcif_dev_pm_ops = {
.suspend = sh_mmcif_suspend,
.resume = sh_mmcif_resume,
-@@ -1485,6 +1494,8 @@ static struct platform_driver sh_mmcif_d
+@@ -1481,6 +1490,8 @@ static struct platform_driver sh_mmcif_d
.driver = {
.name = DRIVER_NAME,
.pm = &sh_mmcif_dev_pm_ops,
if (!p || !p->get_cd)
return -ENOSYS;
-@@ -1384,6 +1389,12 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1380,6 +1385,12 @@ static int __devinit sh_mmcif_probe(stru
goto ereqirq1;
}
clk_disable(host->hclk);
ret = mmc_add_host(mmc);
if (ret < 0)
-@@ -1397,6 +1408,9 @@ static int __devinit sh_mmcif_probe(stru
+@@ -1393,6 +1404,9 @@ static int __devinit sh_mmcif_probe(stru
return ret;
emmcaddh:
free_irq(irq[1], host);
ereqirq1:
free_irq(irq[0], host);
-@@ -1417,6 +1431,7 @@ ealloch:
+@@ -1413,6 +1427,7 @@ ealloch:
static int __devexit sh_mmcif_remove(struct platform_device *pdev)
{
struct sh_mmcif_host *host = platform_get_drvdata(pdev);
int irq[2];
host->dying = true;
-@@ -1425,6 +1440,9 @@ static int __devexit sh_mmcif_remove(str
+@@ -1421,6 +1436,9 @@ static int __devexit sh_mmcif_remove(str
dev_pm_qos_hide_latency_limit(&pdev->dev);