
-----Original Message----- From: Peter Tyser [mailto:ptyser@xes-inc.com] Sent: Wednesday, June 10, 2009 9:27 AM
diff --git a/drivers/i2c/twl4030_i2c.c b/drivers/i2c/twl4030_i2c.c index 774f813..549f974 100644 --- a/drivers/i2c/twl4030_i2c.c +++ b/drivers/i2c/twl4030_i2c.c @@ -35,3 +35,25 @@ static inline int twl4030_i2c_read_u8(u8 chip_no, u8
*val, u8 reg)
return i2c_read(chip_no, reg, 1, val, 1); }
+/*
- Power Reset
- */
+void twl4030_power_reset_init(void) +{ +#ifdef CONFIG_OMAP3_ZOOM2
- u8 val = 0;
- if (twl4030_i2c_read_u8(TWL4030_CHIP_PM_MASTER, &val,
TWL4030_PM_MASTER_P1_SW_EVENTS)) {
printf("Error:TWL4030: failed to read the power register\n");
printf("Could not initialize hardware reset\n");
- } else {
val |= TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON;
if (twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER, val,
TWL4030_PM_MASTER_P1_SW_EVENTS)) {
printf("Error:TWL4030: failed to write the power
register\n");
printf("Could not initialize hardware reset\n");
}
- }
+#endif +}
All other drivers in drivers/i2c are host adapter drivers. Ie they implement i2c_read(), i2c_write(), i2c_probe(), and i2c_init(). The twl4030_i2c.c driver doesn't seem to fit this mold. Perhaps it would be better placed in drivers/misc or a new drivers/power directory similar to Linux?
This function probably belongs to board/omap3/common/power.c -> or even better to the board file itself? Regards, Nishanth Menon