Hi Tom,

> 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?

FWIW I had the same dilemma with the ds4510 i2c device which has support
for GPIO, EEEPROM, etc and ended up putting it in drivers/misc.

Best,
Peter

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to