Re: [PATCH 3/3] mfd: Add I2C control support for S5M8751

From: Mark Brown
Date: Wed Jun 22 2011 - 21:28:47 EST


On Thu, Jun 23, 2011 at 10:25:37AM +0900, Sangbeom Kim wrote:

> Thank for your comment,
> We have a few PMIC (S5M8751, S5M8752 and others).
> They have different features. And Each one will have separate core file.
> But i2c interface is same.
> So, I try to separate i2s code.
> I would modify prefix like s5m87xx.

In that case you should definitely take a look at the regmap API I've
been posting. It factors all the device I/O stuff out so you should be
able to just tell it that you have a device with n bit registers and n
bit values and it'll provide all the I/O functions you need. I just
reposted it today, though it needs another round for some SPI stuff.

> > > +static int s5m8751_i2c_read_device(struct s5m8751 *s5m8751, uint8_t
> reg,
> > > + uint8_t *val)
> > > +{
> > > + int ret;
> > > + ret = i2c_smbus_read_byte_data(s5m8751->i2c_client, reg);
> > > + if (ret < 0) {
> > > + dev_err(s5m8751->dev, "failed reading at 0x%02x\n", reg);
> > > + return ret;
> > > + }
> > > + *val = (uint8_t)ret;

> > Why is this case required?

> I want pass the read value by val

Sorry, typo - why is this *cast* required?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/