On Fri, Dec 23, 2011 at 10:51:19AM +0530, AnilKumar Ch wrote: > The TPS65217 chip is a power management IC for Portable Navigation Systems > and Tablet Computing devices. It contains the following components: I can't help but thinking that there ought to be more code sharing between the various TI PMIC drivers. > +static int tps65217_i2c_read_device(struct tps65217_dev *tps65217, char reg, > + int bytes, void *dest) > +{ > + struct i2c_client *i2c = tps65217->i2c_client; > + struct i2c_msg xfer[2]; > + int ret; Use regmap for the register I/O, this will save a lot of code and will also give access to things like the register cache code. > + tps65217 = kzalloc(sizeof(struct tps65217_dev), GFP_KERNEL); > + if (tps65217 == NULL) > + return -ENOMEM; Use devm_kzalloc(), it saves all the unwinding code. > +/* All register addresses */ > +#define TPS65217_REG_CHIPID 0X00 You should verify this as part of the probe() routine - read it back to make sure it's what's expected, and log the chip revision too in case it is useful for diagnostics. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html