Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits) [ARM] Add comments marking in-use ptrace numbers [ARM] Move syscall saving out of the way of utrace [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header [ARM] mm 10: allow memory type to be specified with ioremap [ARM] mm 9: add additional device memory types [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6 [ARM] iop: add missing parens in macro [ARM] mm 7: remove duplicated __ioremap() prototypes ARM: OMAP: fix OMAP1 mpuio suspend/resume oops ARM: OMAP: MPUIO wake updates ARM: OMAP: speed up gpio irq handling ARM: OMAP: plat-omap changes for 2430 SDP ARM: OMAP: gpio object shrinkage, cleanup ARM: OMAP: /sys/kernel/debug/omap_gpio ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon ARM: OMAP: Enable 24xx GPIO autoidling [ARM] 4318/2: DSM-G600 Board Support [ARM] 4227/1: minor head.S fixups [ARM] 4328/1: Move i.MX UART regs to driver ...
This commit is contained in:
@ -852,9 +852,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
|
||||
{
|
||||
struct pxa_i2c *i2c = &i2c_pxa;
|
||||
struct resource *res;
|
||||
#ifdef CONFIG_I2C_PXA_SLAVE
|
||||
struct i2c_pxa_platform_data *plat = dev->dev.platform_data;
|
||||
#endif
|
||||
int ret;
|
||||
int irq;
|
||||
|
||||
@ -902,14 +900,14 @@ static int i2c_pxa_probe(struct platform_device *dev)
|
||||
pxa_gpio_mode(GPIO117_I2CSCL_MD);
|
||||
pxa_gpio_mode(GPIO118_I2CSDA_MD);
|
||||
#endif
|
||||
pxa_set_cken(CKEN14_I2C, 1);
|
||||
pxa_set_cken(CKEN_I2C, 1);
|
||||
break;
|
||||
#ifdef CONFIG_PXA27x
|
||||
case 1:
|
||||
local_irq_disable();
|
||||
PCFR |= PCFR_PI2CEN;
|
||||
local_irq_enable();
|
||||
pxa_set_cken(CKEN15_PWRI2C, 1);
|
||||
pxa_set_cken(CKEN_PWRI2C, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -924,6 +922,10 @@ static int i2c_pxa_probe(struct platform_device *dev)
|
||||
i2c->adap.algo_data = i2c;
|
||||
i2c->adap.dev.parent = &dev->dev;
|
||||
|
||||
if (plat) {
|
||||
i2c->adap.class = plat->class;
|
||||
}
|
||||
|
||||
ret = i2c_add_adapter(&i2c->adap);
|
||||
if (ret < 0) {
|
||||
printk(KERN_INFO "I2C: Failed to add bus\n");
|
||||
@ -946,11 +948,11 @@ eadapt:
|
||||
ereqirq:
|
||||
switch (dev->id) {
|
||||
case 0:
|
||||
pxa_set_cken(CKEN14_I2C, 0);
|
||||
pxa_set_cken(CKEN_I2C, 0);
|
||||
break;
|
||||
#ifdef CONFIG_PXA27x
|
||||
case 1:
|
||||
pxa_set_cken(CKEN15_PWRI2C, 0);
|
||||
pxa_set_cken(CKEN_PWRI2C, 0);
|
||||
local_irq_disable();
|
||||
PCFR &= ~PCFR_PI2CEN;
|
||||
local_irq_enable();
|
||||
@ -973,11 +975,11 @@ static int i2c_pxa_remove(struct platform_device *dev)
|
||||
free_irq(i2c->irq, i2c);
|
||||
switch (dev->id) {
|
||||
case 0:
|
||||
pxa_set_cken(CKEN14_I2C, 0);
|
||||
pxa_set_cken(CKEN_I2C, 0);
|
||||
break;
|
||||
#ifdef CONFIG_PXA27x
|
||||
case 1:
|
||||
pxa_set_cken(CKEN15_PWRI2C, 0);
|
||||
pxa_set_cken(CKEN_PWRI2C, 0);
|
||||
local_irq_disable();
|
||||
PCFR &= ~PCFR_PI2CEN;
|
||||
local_irq_enable();
|
||||
|
Reference in New Issue
Block a user