Re: [RFC PATCH] media: i2c: add SCCB helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 09, 2018 at 12:57:19PM +0200, Sebastian Reichel wrote:
> Hi,
> 
> On Fri, Apr 27, 2018 at 01:13:32AM +0900, Akinobu Mita wrote:
> > diff --git a/drivers/media/i2c/sccb.c b/drivers/media/i2c/sccb.c
> > new file mode 100644
> > index 0000000..80a3fb7
> > --- /dev/null
> > +++ b/drivers/media/i2c/sccb.c
> > @@ -0,0 +1,35 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +
> > +#include <linux/i2c.h>
> > +
> > +int sccb_read_byte(struct i2c_client *client, u8 addr)
> > +{
> > +	int ret;
> > +	u8 val;
> > +
> > +	/* Issue two separated requests in order to avoid repeated start */
> > +
> > +	ret = i2c_master_send(client, &addr, 1);
> > +	if (ret < 0)
> > +		return ret;
> > +
> > +	ret = i2c_master_recv(client, &val, 1);
> > +	if (ret < 0)
> > +		return ret;
> > +
> > +	return val;
> > +}
> > +EXPORT_SYMBOL_GPL(sccb_read_byte);
> > +
> > +int sccb_write_byte(struct i2c_client *client, u8 addr, u8 data)
> > +{
> > +	int ret;
> > +	unsigned char msgbuf[] = { addr, data };
> > +
> > +	ret = i2c_master_send(client, msgbuf, 2);
> > +	if (ret < 0)
> > +		return ret;
> > +
> > +	return 0;
> > +}
> > +EXPORT_SYMBOL_GPL(sccb_write_byte);
> > diff --git a/drivers/media/i2c/sccb.h b/drivers/media/i2c/sccb.h
> > new file mode 100644
> > index 0000000..68da0e9
> > --- /dev/null
> > +++ b/drivers/media/i2c/sccb.h
> > @@ -0,0 +1,14 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * SCCB helper functions
> > + */
> > +
> > +#ifndef __SCCB_H__
> > +#define __SCCB_H__
> > +
> > +#include <linux/i2c.h>
> > +
> > +int sccb_read_byte(struct i2c_client *client, u8 addr);
> > +int sccb_write_byte(struct i2c_client *client, u8 addr, u8 data);
> > +
> > +#endif /* __SCCB_H__ */
> 
> The functions look very simple. Have you considered moving them into
> sccb.h as static inline?

I agree. (Considering my previous comment on the dependencies, this is a
better idea. No need for a module this small.)

-- 
Sakari Ailus
e-mail: sakari.ailus@xxxxxx



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux