The tps65010.c driver in the main tree never got updated with
build fixes since the last batch of I2C driver changes; and the
genirq trigger flags were updated wierdly too.
Signed-off-by: David Brownell <[email protected]>
Index: o26/drivers/i2c/chips/tps65010.c
===================================================================
--- o26.orig/drivers/i2c/chips/tps65010.c 2006-07-30 22:09:03.000000000 -0700
+++ o26/drivers/i2c/chips/tps65010.c 2006-07-31 04:56:47.000000000 -0700
@@ -43,13 +43,12 @@
/*-------------------------------------------------------------------------*/
#define DRIVER_VERSION "2 May 2005"
-#define DRIVER_NAME (tps65010_driver.name)
+#define DRIVER_NAME (tps65010_driver.driver.name)
MODULE_DESCRIPTION("TPS6501x Power Management Driver");
MODULE_LICENSE("GPL");
static unsigned short normal_i2c[] = { 0x48, /* 0x49, */ I2C_CLIENT_END };
-static unsigned short normal_i2c_range[] = { I2C_CLIENT_END };
I2C_CLIENT_INSMOD;
@@ -520,15 +519,16 @@ tps65010_probe(struct i2c_adapter *bus,
goto fail1;
}
+ /* IRQ is active low, but some gpio lines can't support that */
+ irqflags = IRQF_SAMPLE_RANDOM;
#ifdef CONFIG_ARM
- irqflags = IRQF_SAMPLE_RANDOM | IRQF_TRIGGER_LOW;
if (machine_is_omap_h2()) {
tps->model = TPS65010;
omap_cfg_reg(W4_GPIO58);
tps->irq = OMAP_GPIO_IRQ(58);
omap_request_gpio(58);
omap_set_gpio_direction(58, 1);
- irqflags |= IRQF_TRIGGER_FALLING;
+ irqflags |= IRQF_TRIGGER_LOW;
}
if (machine_is_omap_osk()) {
tps->model = TPS65010;
@@ -543,8 +543,6 @@ tps65010_probe(struct i2c_adapter *bus,
// FIXME set up this board's IRQ ...
}
-#else
- irqflags = IRQF_SAMPLE_RANDOM;
#endif
if (tps->irq > 0) {
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]