mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits) sh: Make intc messages consistent via pr_fmt. sh: make sure static declaration on ms7724se sh: make sure static declaration on mach-migor sh: make sure static declaration on mach-ecovec24 sh: make sure static declaration on mach-ap325rxa clocksource: sh_cmt: compute mult and shift before registration clocksource: sh_tmu: compute mult and shift before registration sh: PIO disabling for x3proto and urquell. sh: mach-sdk7786: conditionally disable PIO support. sh: support for platforms without PIO. usb: r8a66597-hcd pio to mmio accessor conversion. usb: gadget: r8a66597-udc pio to mmio accessor conversion. usb: gadget: m66592-udc pio to mmio accessor conversion. sh: add romImage MMCIF boot for sh7724 and Ecovec V2 sh: add boot code to MMCIF driver header sh: prepare MMCIF driver header file sh: allow romImage data between head.S and the zero page sh: Add support MMCIF for ecovec sh: remove duplicated #include input: serio: disable i8042 for non-cayman sh platforms. ...
This commit is contained in:
commit
999fd1ab34
36 changed files with 642 additions and 204 deletions
|
|
@ -537,35 +537,35 @@ struct m66592 {
|
|||
/*-------------------------------------------------------------------------*/
|
||||
static inline u16 m66592_read(struct m66592 *m66592, unsigned long offset)
|
||||
{
|
||||
return inw((unsigned long)m66592->reg + offset);
|
||||
return ioread16(m66592->reg + offset);
|
||||
}
|
||||
|
||||
static inline void m66592_read_fifo(struct m66592 *m66592,
|
||||
unsigned long offset,
|
||||
void *buf, unsigned long len)
|
||||
{
|
||||
unsigned long fifoaddr = (unsigned long)m66592->reg + offset;
|
||||
void __iomem *fifoaddr = m66592->reg + offset;
|
||||
|
||||
if (m66592->pdata->on_chip) {
|
||||
len = (len + 3) / 4;
|
||||
insl(fifoaddr, buf, len);
|
||||
ioread32_rep(fifoaddr, buf, len);
|
||||
} else {
|
||||
len = (len + 1) / 2;
|
||||
insw(fifoaddr, buf, len);
|
||||
ioread16_rep(fifoaddr, buf, len);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void m66592_write(struct m66592 *m66592, u16 val,
|
||||
unsigned long offset)
|
||||
{
|
||||
outw(val, (unsigned long)m66592->reg + offset);
|
||||
iowrite16(val, m66592->reg + offset);
|
||||
}
|
||||
|
||||
static inline void m66592_write_fifo(struct m66592 *m66592,
|
||||
unsigned long offset,
|
||||
void *buf, unsigned long len)
|
||||
{
|
||||
unsigned long fifoaddr = (unsigned long)m66592->reg + offset;
|
||||
void __iomem *fifoaddr = m66592->reg + offset;
|
||||
|
||||
if (m66592->pdata->on_chip) {
|
||||
unsigned long count;
|
||||
|
|
@ -573,25 +573,25 @@ static inline void m66592_write_fifo(struct m66592 *m66592,
|
|||
int i;
|
||||
|
||||
count = len / 4;
|
||||
outsl(fifoaddr, buf, count);
|
||||
iowrite32_rep(fifoaddr, buf, count);
|
||||
|
||||
if (len & 0x00000003) {
|
||||
pb = buf + count * 4;
|
||||
for (i = 0; i < (len & 0x00000003); i++) {
|
||||
if (m66592_read(m66592, M66592_CFBCFG)) /* le */
|
||||
outb(pb[i], fifoaddr + (3 - i));
|
||||
iowrite8(pb[i], fifoaddr + (3 - i));
|
||||
else
|
||||
outb(pb[i], fifoaddr + i);
|
||||
iowrite8(pb[i], fifoaddr + i);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unsigned long odd = len & 0x0001;
|
||||
|
||||
len = len / 2;
|
||||
outsw(fifoaddr, buf, len);
|
||||
iowrite16_rep(fifoaddr, buf, len);
|
||||
if (odd) {
|
||||
unsigned char *p = buf + len*2;
|
||||
outb(*p, fifoaddr);
|
||||
iowrite8(*p, fifoaddr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1500,7 +1500,7 @@ static int __exit r8a66597_remove(struct platform_device *pdev)
|
|||
struct r8a66597 *r8a66597 = dev_get_drvdata(&pdev->dev);
|
||||
|
||||
del_timer_sync(&r8a66597->timer);
|
||||
iounmap((void *)r8a66597->reg);
|
||||
iounmap(r8a66597->reg);
|
||||
free_irq(platform_get_irq(pdev, 0), r8a66597);
|
||||
r8a66597_free_request(&r8a66597->ep[0].ep, r8a66597->ep0_req);
|
||||
#ifdef CONFIG_HAVE_CLK
|
||||
|
|
@ -1578,7 +1578,7 @@ static int __init r8a66597_probe(struct platform_device *pdev)
|
|||
init_timer(&r8a66597->timer);
|
||||
r8a66597->timer.function = r8a66597_timer;
|
||||
r8a66597->timer.data = (unsigned long)r8a66597;
|
||||
r8a66597->reg = (unsigned long)reg;
|
||||
r8a66597->reg = reg;
|
||||
|
||||
#ifdef CONFIG_HAVE_CLK
|
||||
if (r8a66597->pdata->on_chip) {
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ struct r8a66597_ep {
|
|||
|
||||
struct r8a66597 {
|
||||
spinlock_t lock;
|
||||
unsigned long reg;
|
||||
void __iomem *reg;
|
||||
|
||||
#ifdef CONFIG_HAVE_CLK
|
||||
struct clk *clk;
|
||||
|
|
@ -127,7 +127,7 @@ struct r8a66597 {
|
|||
|
||||
static inline u16 r8a66597_read(struct r8a66597 *r8a66597, unsigned long offset)
|
||||
{
|
||||
return inw(r8a66597->reg + offset);
|
||||
return ioread16(r8a66597->reg + offset);
|
||||
}
|
||||
|
||||
static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
||||
|
|
@ -135,7 +135,7 @@ static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
|||
unsigned char *buf,
|
||||
int len)
|
||||
{
|
||||
unsigned long fifoaddr = r8a66597->reg + offset;
|
||||
void __iomem *fifoaddr = r8a66597->reg + offset;
|
||||
unsigned int data;
|
||||
int i;
|
||||
|
||||
|
|
@ -144,7 +144,7 @@ static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
|||
|
||||
/* aligned buf case */
|
||||
if (len >= 4 && !((unsigned long)buf & 0x03)) {
|
||||
insl(fifoaddr, buf, len / 4);
|
||||
ioread32_rep(fifoaddr, buf, len / 4);
|
||||
buf += len & ~0x03;
|
||||
len &= 0x03;
|
||||
}
|
||||
|
|
@ -152,7 +152,7 @@ static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
|||
/* unaligned buf case */
|
||||
for (i = 0; i < len; i++) {
|
||||
if (!(i & 0x03))
|
||||
data = inl(fifoaddr);
|
||||
data = ioread32(fifoaddr);
|
||||
|
||||
buf[i] = (data >> ((i & 0x03) * 8)) & 0xff;
|
||||
}
|
||||
|
|
@ -161,7 +161,7 @@ static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
|||
|
||||
/* aligned buf case */
|
||||
if (len >= 2 && !((unsigned long)buf & 0x01)) {
|
||||
insw(fifoaddr, buf, len / 2);
|
||||
ioread16_rep(fifoaddr, buf, len / 2);
|
||||
buf += len & ~0x01;
|
||||
len &= 0x01;
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
|||
/* unaligned buf case */
|
||||
for (i = 0; i < len; i++) {
|
||||
if (!(i & 0x01))
|
||||
data = inw(fifoaddr);
|
||||
data = ioread16(fifoaddr);
|
||||
|
||||
buf[i] = (data >> ((i & 0x01) * 8)) & 0xff;
|
||||
}
|
||||
|
|
@ -179,7 +179,7 @@ static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
|||
static inline void r8a66597_write(struct r8a66597 *r8a66597, u16 val,
|
||||
unsigned long offset)
|
||||
{
|
||||
outw(val, r8a66597->reg + offset);
|
||||
iowrite16(val, r8a66597->reg + offset);
|
||||
}
|
||||
|
||||
static inline void r8a66597_write_fifo(struct r8a66597 *r8a66597,
|
||||
|
|
@ -187,21 +187,21 @@ static inline void r8a66597_write_fifo(struct r8a66597 *r8a66597,
|
|||
unsigned char *buf,
|
||||
int len)
|
||||
{
|
||||
unsigned long fifoaddr = r8a66597->reg + offset;
|
||||
void __iomem *fifoaddr = r8a66597->reg + offset;
|
||||
int adj = 0;
|
||||
int i;
|
||||
|
||||
if (r8a66597->pdata->on_chip) {
|
||||
/* 32-bit access only if buf is 32-bit aligned */
|
||||
if (len >= 4 && !((unsigned long)buf & 0x03)) {
|
||||
outsl(fifoaddr, buf, len / 4);
|
||||
iowrite32_rep(fifoaddr, buf, len / 4);
|
||||
buf += len & ~0x03;
|
||||
len &= 0x03;
|
||||
}
|
||||
} else {
|
||||
/* 16-bit access only if buf is 16-bit aligned */
|
||||
if (len >= 2 && !((unsigned long)buf & 0x01)) {
|
||||
outsw(fifoaddr, buf, len / 2);
|
||||
iowrite16_rep(fifoaddr, buf, len / 2);
|
||||
buf += len & ~0x01;
|
||||
len &= 0x01;
|
||||
}
|
||||
|
|
@ -216,7 +216,7 @@ static inline void r8a66597_write_fifo(struct r8a66597 *r8a66597,
|
|||
}
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
outb(buf[i], fifoaddr + adj - (i & adj));
|
||||
iowrite8(buf[i], fifoaddr + adj - (i & adj));
|
||||
}
|
||||
|
||||
static inline void r8a66597_mdfy(struct r8a66597 *r8a66597,
|
||||
|
|
|
|||
|
|
@ -2404,7 +2404,7 @@ static int __init_or_module r8a66597_remove(struct platform_device *pdev)
|
|||
|
||||
del_timer_sync(&r8a66597->rh_timer);
|
||||
usb_remove_hcd(hcd);
|
||||
iounmap((void *)r8a66597->reg);
|
||||
iounmap(r8a66597->reg);
|
||||
#ifdef CONFIG_HAVE_CLK
|
||||
if (r8a66597->pdata->on_chip)
|
||||
clk_put(r8a66597->clk);
|
||||
|
|
@ -2496,7 +2496,7 @@ static int __devinit r8a66597_probe(struct platform_device *pdev)
|
|||
init_timer(&r8a66597->rh_timer);
|
||||
r8a66597->rh_timer.function = r8a66597_timer;
|
||||
r8a66597->rh_timer.data = (unsigned long)r8a66597;
|
||||
r8a66597->reg = (unsigned long)reg;
|
||||
r8a66597->reg = reg;
|
||||
|
||||
/* make sure no interrupts are pending */
|
||||
ret = r8a66597_clock_enable(r8a66597);
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ struct r8a66597_root_hub {
|
|||
|
||||
struct r8a66597 {
|
||||
spinlock_t lock;
|
||||
unsigned long reg;
|
||||
void __iomem *reg;
|
||||
#ifdef CONFIG_HAVE_CLK
|
||||
struct clk *clk;
|
||||
#endif
|
||||
|
|
@ -170,67 +170,67 @@ static inline struct urb *r8a66597_get_urb(struct r8a66597 *r8a66597,
|
|||
|
||||
static inline u16 r8a66597_read(struct r8a66597 *r8a66597, unsigned long offset)
|
||||
{
|
||||
return inw(r8a66597->reg + offset);
|
||||
return ioread16(r8a66597->reg + offset);
|
||||
}
|
||||
|
||||
static inline void r8a66597_read_fifo(struct r8a66597 *r8a66597,
|
||||
unsigned long offset, u16 *buf,
|
||||
int len)
|
||||
{
|
||||
unsigned long fifoaddr = r8a66597->reg + offset;
|
||||
void __iomem *fifoaddr = r8a66597->reg + offset;
|
||||
unsigned long count;
|
||||
|
||||
if (r8a66597->pdata->on_chip) {
|
||||
count = len / 4;
|
||||
insl(fifoaddr, buf, count);
|
||||
ioread32_rep(fifoaddr, buf, count);
|
||||
|
||||
if (len & 0x00000003) {
|
||||
unsigned long tmp = inl(fifoaddr);
|
||||
unsigned long tmp = ioread32(fifoaddr);
|
||||
memcpy((unsigned char *)buf + count * 4, &tmp,
|
||||
len & 0x03);
|
||||
}
|
||||
} else {
|
||||
len = (len + 1) / 2;
|
||||
insw(fifoaddr, buf, len);
|
||||
ioread16_rep(fifoaddr, buf, len);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void r8a66597_write(struct r8a66597 *r8a66597, u16 val,
|
||||
unsigned long offset)
|
||||
{
|
||||
outw(val, r8a66597->reg + offset);
|
||||
iowrite16(val, r8a66597->reg + offset);
|
||||
}
|
||||
|
||||
static inline void r8a66597_write_fifo(struct r8a66597 *r8a66597,
|
||||
unsigned long offset, u16 *buf,
|
||||
int len)
|
||||
{
|
||||
unsigned long fifoaddr = r8a66597->reg + offset;
|
||||
void __iomem *fifoaddr = r8a66597->reg + offset;
|
||||
unsigned long count;
|
||||
unsigned char *pb;
|
||||
int i;
|
||||
|
||||
if (r8a66597->pdata->on_chip) {
|
||||
count = len / 4;
|
||||
outsl(fifoaddr, buf, count);
|
||||
iowrite32_rep(fifoaddr, buf, count);
|
||||
|
||||
if (len & 0x00000003) {
|
||||
pb = (unsigned char *)buf + count * 4;
|
||||
for (i = 0; i < (len & 0x00000003); i++) {
|
||||
if (r8a66597_read(r8a66597, CFIFOSEL) & BIGEND)
|
||||
outb(pb[i], fifoaddr + i);
|
||||
iowrite8(pb[i], fifoaddr + i);
|
||||
else
|
||||
outb(pb[i], fifoaddr + 3 - i);
|
||||
iowrite8(pb[i], fifoaddr + 3 - i);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int odd = len & 0x0001;
|
||||
|
||||
len = len / 2;
|
||||
outsw(fifoaddr, buf, len);
|
||||
ioread16_rep(fifoaddr, buf, len);
|
||||
if (unlikely(odd)) {
|
||||
buf = &buf[len];
|
||||
outb((unsigned char)*buf, fifoaddr);
|
||||
iowrite8((unsigned char)*buf, fifoaddr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue