Re: [PATCH] media: ov5640: various typo & style fixes

2018-01-31 Thread Sakari Ailus
Hi Hugues,

On Wed, Jan 31, 2018 at 03:41:07PM +, Hugues FRUCHET wrote:
> Comment added about module_param()
> 
> On 01/31/2018 03:29 PM, Hugues Fruchet wrote:
> > Y're welcome, changes you pointed out are detected by checkpatch 
> > (--strict), see below:
> > 
> > On 01/31/2018 03:23 PM, Sakari Ailus wrote:
> >> Hi Hugues,
> >>
> >> Thanks for the patch. It's nice to see cleanups, too! :-)
> >>
> >> A few comments below. Apart those this seems good to me.
> >>
> >> On Wed, Jan 31, 2018 at 12:22:09PM +0100, Hugues Fruchet wrote:
> >>> Various typo & style fixes either detected by code
> >>> review or checkpatch.
> >>>
> >>> Signed-off-by: Hugues Fruchet 
> >>> ---
> >>>   drivers/media/i2c/ov5640.c | 52 
> >>> +++---
> >>>   1 file changed, 26 insertions(+), 26 deletions(-)
> >>>
> >>> diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
> >>> index 882a7c3..9cceb5f 100644
> >>> --- a/drivers/media/i2c/ov5640.c
> >>> +++ b/drivers/media/i2c/ov5640.c
> >>> @@ -14,14 +14,14 @@
> >>>   #include 
> >>>   #include 
> >>>   #include 
> >>> +#include 
> >>>   #include 
> >>>   #include 
> >>>   #include 
> >>>   #include 
> >>> +#include 
> >>>   #include 
> >>>   #include 
> >>> -#include 
> >>> -#include 
> >>>   #include 
> >>>   #include 
> >>>   #include 
> >>> @@ -128,7 +128,7 @@ struct ov5640_pixfmt {
> >>>    * to set the MIPI CSI-2 virtual channel.
> >>>    */
> >>>   static unsigned int virtual_channel;
> >>> -module_param(virtual_channel, int, 0);
> >>> +module_param(virtual_channel, int, );
> >>
> >> Why?
> > $ scripts/checkpatch.pl -f drivers/media/i2c/ov5640.c
> > ERROR: Use 4 digit octal (0777) not decimal permissions
> > #131: FILE: drivers/media/i2c/ov5640.c:131:
> > +module_param(virtual_channel, int, 0);
> > 
> > 
> Here I feel that there was a misunderstanding on module_param() last 
> argument treated as initial value (0), in order to fix both 
> initialization to 0 and permission I would suggest:
> 
> static unsigned int virtual_channel = 0;
> module_param(virtual_channel, int, 0644);

Yes, this would actually be better to put in a separate patch. It's a fix,
not a cleanup.

> 
> 
> >>
> >>>   MODULE_PARM_DESC(virtual_channel,
> >>>    "MIPI CSI-2 virtual channel (0..3), default 0");
> >>> @@ -139,7 +139,7 @@ struct ov5640_pixfmt {
> >>>   /* regulator supplies */
> >>>   static const char * const ov5640_supply_name[] = {
> >>> -    "DOVDD", /* Digital I/O (1.8V) suppply */
> >>> +    "DOVDD", /* Digital I/O (1.8V) supply */
> >>>   "DVDD",  /* Digital Core (1.5V) supply */
> >>>   "AVDD",  /* Analog (2.8V) supply */
> >>>   };
> >>> @@ -245,7 +245,6 @@ static inline struct v4l2_subdev 
> >>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
> >>>    */
> >>>   static const struct reg_value ov5640_init_setting_30fps_VGA[] = {
> >>> -
> >>>   {0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0},
> >>>   {0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0},
> >>>   {0x3034, 0x18, 0, 0}, {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0},
> >>> @@ -334,7 +333,6 @@ static inline struct v4l2_subdev 
> >>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
> >>>   };
> >>>   static const struct reg_value ov5640_setting_30fps_VGA_640_480[] = {
> >>> -
> >>>   {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
> >>>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
> >>>   {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
> >>> @@ -377,7 +375,6 @@ static inline struct v4l2_subdev 
> >>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
> >>>   };
> >>>   static const struct reg_value ov5640_setting_30fps_XGA_1024_768[] = {
> >>> -
> >>>   {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
> >>>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
> >>>   {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
> >>> @@ -484,6 +481,7 @@ static inline struct v4l2_subdev 
> >>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
> >>>   {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
> >>>   {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
> >>>   };
> >>> +
> >>>   static const struct reg_value ov5640_setting_15fps_QCIF_176_144[] = {
> >>>   {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
> >>>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
> >>> @@ -840,7 +838,7 @@ static int ov5640_write_reg(struct ov5640_dev 
> >>> *sensor, u16 reg, u8 val)
> >>>   ret = i2c_transfer(client->adapter, &msg, 1);
> >>>   if (ret < 0) {
> >>>   v4l2_err(&sensor->sd, "%s: error: reg=%x, val=%x\n",
> >>> -    __func__, reg, val);
> >>> + __func__, reg, val);
> >>>   return ret;
> >>>   }
> >>> @@ -886,7 +884,7 @@ static int ov5640_read_reg16(struct ov5640_dev 
> >>> *sensor, u16 reg, u16 *val)
> >>>   ret = ov5640_read_reg(sensor, reg, &hi);
> >

Re: [PATCH] media: ov5640: various typo & style fixes

2018-01-31 Thread Hugues FRUCHET
Comment added about module_param()

On 01/31/2018 03:29 PM, Hugues Fruchet wrote:
> Y're welcome, changes you pointed out are detected by checkpatch 
> (--strict), see below:
> 
> On 01/31/2018 03:23 PM, Sakari Ailus wrote:
>> Hi Hugues,
>>
>> Thanks for the patch. It's nice to see cleanups, too! :-)
>>
>> A few comments below. Apart those this seems good to me.
>>
>> On Wed, Jan 31, 2018 at 12:22:09PM +0100, Hugues Fruchet wrote:
>>> Various typo & style fixes either detected by code
>>> review or checkpatch.
>>>
>>> Signed-off-by: Hugues Fruchet 
>>> ---
>>>   drivers/media/i2c/ov5640.c | 52 
>>> +++---
>>>   1 file changed, 26 insertions(+), 26 deletions(-)
>>>
>>> diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
>>> index 882a7c3..9cceb5f 100644
>>> --- a/drivers/media/i2c/ov5640.c
>>> +++ b/drivers/media/i2c/ov5640.c
>>> @@ -14,14 +14,14 @@
>>>   #include 
>>>   #include 
>>>   #include 
>>> +#include 
>>>   #include 
>>>   #include 
>>>   #include 
>>>   #include 
>>> +#include 
>>>   #include 
>>>   #include 
>>> -#include 
>>> -#include 
>>>   #include 
>>>   #include 
>>>   #include 
>>> @@ -128,7 +128,7 @@ struct ov5640_pixfmt {
>>>    * to set the MIPI CSI-2 virtual channel.
>>>    */
>>>   static unsigned int virtual_channel;
>>> -module_param(virtual_channel, int, 0);
>>> +module_param(virtual_channel, int, );
>>
>> Why?
> $ scripts/checkpatch.pl -f drivers/media/i2c/ov5640.c
> ERROR: Use 4 digit octal (0777) not decimal permissions
> #131: FILE: drivers/media/i2c/ov5640.c:131:
> +module_param(virtual_channel, int, 0);
> 
> 
Here I feel that there was a misunderstanding on module_param() last 
argument treated as initial value (0), in order to fix both 
initialization to 0 and permission I would suggest:

static unsigned int virtual_channel = 0;
module_param(virtual_channel, int, 0644);


>>
>>>   MODULE_PARM_DESC(virtual_channel,
>>>    "MIPI CSI-2 virtual channel (0..3), default 0");
>>> @@ -139,7 +139,7 @@ struct ov5640_pixfmt {
>>>   /* regulator supplies */
>>>   static const char * const ov5640_supply_name[] = {
>>> -    "DOVDD", /* Digital I/O (1.8V) suppply */
>>> +    "DOVDD", /* Digital I/O (1.8V) supply */
>>>   "DVDD",  /* Digital Core (1.5V) supply */
>>>   "AVDD",  /* Analog (2.8V) supply */
>>>   };
>>> @@ -245,7 +245,6 @@ static inline struct v4l2_subdev 
>>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
>>>    */
>>>   static const struct reg_value ov5640_init_setting_30fps_VGA[] = {
>>> -
>>>   {0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0},
>>>   {0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0},
>>>   {0x3034, 0x18, 0, 0}, {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0},
>>> @@ -334,7 +333,6 @@ static inline struct v4l2_subdev 
>>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
>>>   };
>>>   static const struct reg_value ov5640_setting_30fps_VGA_640_480[] = {
>>> -
>>>   {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>>>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>>>   {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
>>> @@ -377,7 +375,6 @@ static inline struct v4l2_subdev 
>>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
>>>   };
>>>   static const struct reg_value ov5640_setting_30fps_XGA_1024_768[] = {
>>> -
>>>   {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>>>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>>>   {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
>>> @@ -484,6 +481,7 @@ static inline struct v4l2_subdev 
>>> *ctrl_to_sd(struct v4l2_ctrl *ctrl)
>>>   {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
>>>   {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
>>>   };
>>> +
>>>   static const struct reg_value ov5640_setting_15fps_QCIF_176_144[] = {
>>>   {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>>>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>>> @@ -840,7 +838,7 @@ static int ov5640_write_reg(struct ov5640_dev 
>>> *sensor, u16 reg, u8 val)
>>>   ret = i2c_transfer(client->adapter, &msg, 1);
>>>   if (ret < 0) {
>>>   v4l2_err(&sensor->sd, "%s: error: reg=%x, val=%x\n",
>>> -    __func__, reg, val);
>>> + __func__, reg, val);
>>>   return ret;
>>>   }
>>> @@ -886,7 +884,7 @@ static int ov5640_read_reg16(struct ov5640_dev 
>>> *sensor, u16 reg, u16 *val)
>>>   ret = ov5640_read_reg(sensor, reg, &hi);
>>>   if (ret)
>>>   return ret;
>>> -    ret = ov5640_read_reg(sensor, reg+1, &lo);
>>> +    ret = ov5640_read_reg(sensor, reg + 1, &lo);
>>>   if (ret)
>>>   return ret;
>>> @@ -947,7 +945,7 @@ static int ov5640_load_regs(struct ov5640_dev 
>>> *sensor,
>>>   break;
>>>   if (delay_ms)
>>> -    usleep_range(1000*delay_ms, 1000*delay_ms+100);
>>> +    

Re: [PATCH] media: ov5640: various typo & style fixes

2018-01-31 Thread Hugues FRUCHET
Y're welcome, changes you pointed out are detected by checkpatch 
(--strict), see below:

On 01/31/2018 03:23 PM, Sakari Ailus wrote:
> Hi Hugues,
> 
> Thanks for the patch. It's nice to see cleanups, too! :-)
> 
> A few comments below. Apart those this seems good to me.
> 
> On Wed, Jan 31, 2018 at 12:22:09PM +0100, Hugues Fruchet wrote:
>> Various typo & style fixes either detected by code
>> review or checkpatch.
>>
>> Signed-off-by: Hugues Fruchet 
>> ---
>>   drivers/media/i2c/ov5640.c | 52 
>> +++---
>>   1 file changed, 26 insertions(+), 26 deletions(-)
>>
>> diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
>> index 882a7c3..9cceb5f 100644
>> --- a/drivers/media/i2c/ov5640.c
>> +++ b/drivers/media/i2c/ov5640.c
>> @@ -14,14 +14,14 @@
>>   #include 
>>   #include 
>>   #include 
>> +#include 
>>   #include 
>>   #include 
>>   #include 
>>   #include 
>> +#include 
>>   #include 
>>   #include 
>> -#include 
>> -#include 
>>   #include 
>>   #include 
>>   #include 
>> @@ -128,7 +128,7 @@ struct ov5640_pixfmt {
>>* to set the MIPI CSI-2 virtual channel.
>>*/
>>   static unsigned int virtual_channel;
>> -module_param(virtual_channel, int, 0);
>> +module_param(virtual_channel, int, );
> 
> Why?
$ scripts/checkpatch.pl -f drivers/media/i2c/ov5640.c
ERROR: Use 4 digit octal (0777) not decimal permissions
#131: FILE: drivers/media/i2c/ov5640.c:131:
+module_param(virtual_channel, int, 0);


> 
>>   MODULE_PARM_DESC(virtual_channel,
>>   "MIPI CSI-2 virtual channel (0..3), default 0");
>>   
>> @@ -139,7 +139,7 @@ struct ov5640_pixfmt {
>>   
>>   /* regulator supplies */
>>   static const char * const ov5640_supply_name[] = {
>> -"DOVDD", /* Digital I/O (1.8V) suppply */
>> +"DOVDD", /* Digital I/O (1.8V) supply */
>>  "DVDD",  /* Digital Core (1.5V) supply */
>>  "AVDD",  /* Analog (2.8V) supply */
>>   };
>> @@ -245,7 +245,6 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
>> v4l2_ctrl *ctrl)
>>*/
>>   
>>   static const struct reg_value ov5640_init_setting_30fps_VGA[] = {
>> -
>>  {0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0},
>>  {0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0},
>>  {0x3034, 0x18, 0, 0}, {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0},
>> @@ -334,7 +333,6 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
>> v4l2_ctrl *ctrl)
>>   };
>>   
>>   static const struct reg_value ov5640_setting_30fps_VGA_640_480[] = {
>> -
>>  {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>>  {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>>  {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
>> @@ -377,7 +375,6 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
>> v4l2_ctrl *ctrl)
>>   };
>>   
>>   static const struct reg_value ov5640_setting_30fps_XGA_1024_768[] = {
>> -
>>  {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>>  {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>>  {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
>> @@ -484,6 +481,7 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
>> v4l2_ctrl *ctrl)
>>  {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
>>  {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
>>   };
>> +
>>   static const struct reg_value ov5640_setting_15fps_QCIF_176_144[] = {
>>  {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>>  {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>> @@ -840,7 +838,7 @@ static int ov5640_write_reg(struct ov5640_dev *sensor, 
>> u16 reg, u8 val)
>>  ret = i2c_transfer(client->adapter, &msg, 1);
>>  if (ret < 0) {
>>  v4l2_err(&sensor->sd, "%s: error: reg=%x, val=%x\n",
>> -__func__, reg, val);
>> + __func__, reg, val);
>>  return ret;
>>  }
>>   
>> @@ -886,7 +884,7 @@ static int ov5640_read_reg16(struct ov5640_dev *sensor, 
>> u16 reg, u16 *val)
>>  ret = ov5640_read_reg(sensor, reg, &hi);
>>  if (ret)
>>  return ret;
>> -ret = ov5640_read_reg(sensor, reg+1, &lo);
>> +ret = ov5640_read_reg(sensor, reg + 1, &lo);
>>  if (ret)
>>  return ret;
>>   
>> @@ -947,7 +945,7 @@ static int ov5640_load_regs(struct ov5640_dev *sensor,
>>  break;
>>   
>>  if (delay_ms)
>> -usleep_range(1000*delay_ms, 1000*delay_ms+100);
>> +usleep_range(1000 * delay_ms, 1000 * delay_ms + 100);
>>  }
>>   
>>  return ret;
>> @@ -1289,7 +1287,6 @@ static int ov5640_set_bandingfilter(struct ov5640_dev 
>> *sensor)
>>  return ret;
>>  prev_vts = ret;
>>   
>> -
>>  /* calculate banding filter */
>>  /* 60Hz */
>>  band_step60 = sensor->prev_sysclk * 100 / sensor->prev_hts * 100 / 120;
>> @@ -1405,8 +1

Re: [PATCH] media: ov5640: various typo & style fixes

2018-01-31 Thread Sakari Ailus
Hi Hugues,

Thanks for the patch. It's nice to see cleanups, too! :-)

A few comments below. Apart those this seems good to me.

On Wed, Jan 31, 2018 at 12:22:09PM +0100, Hugues Fruchet wrote:
> Various typo & style fixes either detected by code
> review or checkpatch.
> 
> Signed-off-by: Hugues Fruchet 
> ---
>  drivers/media/i2c/ov5640.c | 52 
> +++---
>  1 file changed, 26 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
> index 882a7c3..9cceb5f 100644
> --- a/drivers/media/i2c/ov5640.c
> +++ b/drivers/media/i2c/ov5640.c
> @@ -14,14 +14,14 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
> -#include 
> -#include 
>  #include 
>  #include 
>  #include 
> @@ -128,7 +128,7 @@ struct ov5640_pixfmt {
>   * to set the MIPI CSI-2 virtual channel.
>   */
>  static unsigned int virtual_channel;
> -module_param(virtual_channel, int, 0);
> +module_param(virtual_channel, int, );

Why?

>  MODULE_PARM_DESC(virtual_channel,
>"MIPI CSI-2 virtual channel (0..3), default 0");
>  
> @@ -139,7 +139,7 @@ struct ov5640_pixfmt {
>  
>  /* regulator supplies */
>  static const char * const ov5640_supply_name[] = {
> - "DOVDD", /* Digital I/O (1.8V) suppply */
> + "DOVDD", /* Digital I/O (1.8V) supply */
>   "DVDD",  /* Digital Core (1.5V) supply */
>   "AVDD",  /* Analog (2.8V) supply */
>  };
> @@ -245,7 +245,6 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
> v4l2_ctrl *ctrl)
>   */
>  
>  static const struct reg_value ov5640_init_setting_30fps_VGA[] = {
> -
>   {0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0},
>   {0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0},
>   {0x3034, 0x18, 0, 0}, {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0},
> @@ -334,7 +333,6 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
> v4l2_ctrl *ctrl)
>  };
>  
>  static const struct reg_value ov5640_setting_30fps_VGA_640_480[] = {
> -
>   {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>   {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
> @@ -377,7 +375,6 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
> v4l2_ctrl *ctrl)
>  };
>  
>  static const struct reg_value ov5640_setting_30fps_XGA_1024_768[] = {
> -
>   {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
>   {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
> @@ -484,6 +481,7 @@ static inline struct v4l2_subdev *ctrl_to_sd(struct 
> v4l2_ctrl *ctrl)
>   {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
>   {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
>  };
> +
>  static const struct reg_value ov5640_setting_15fps_QCIF_176_144[] = {
>   {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
>   {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
> @@ -840,7 +838,7 @@ static int ov5640_write_reg(struct ov5640_dev *sensor, 
> u16 reg, u8 val)
>   ret = i2c_transfer(client->adapter, &msg, 1);
>   if (ret < 0) {
>   v4l2_err(&sensor->sd, "%s: error: reg=%x, val=%x\n",
> - __func__, reg, val);
> +  __func__, reg, val);
>   return ret;
>   }
>  
> @@ -886,7 +884,7 @@ static int ov5640_read_reg16(struct ov5640_dev *sensor, 
> u16 reg, u16 *val)
>   ret = ov5640_read_reg(sensor, reg, &hi);
>   if (ret)
>   return ret;
> - ret = ov5640_read_reg(sensor, reg+1, &lo);
> + ret = ov5640_read_reg(sensor, reg + 1, &lo);
>   if (ret)
>   return ret;
>  
> @@ -947,7 +945,7 @@ static int ov5640_load_regs(struct ov5640_dev *sensor,
>   break;
>  
>   if (delay_ms)
> - usleep_range(1000*delay_ms, 1000*delay_ms+100);
> + usleep_range(1000 * delay_ms, 1000 * delay_ms + 100);
>   }
>  
>   return ret;
> @@ -1289,7 +1287,6 @@ static int ov5640_set_bandingfilter(struct ov5640_dev 
> *sensor)
>   return ret;
>   prev_vts = ret;
>  
> -
>   /* calculate banding filter */
>   /* 60Hz */
>   band_step60 = sensor->prev_sysclk * 100 / sensor->prev_hts * 100 / 120;
> @@ -1405,8 +1402,8 @@ static int ov5640_set_virtual_channel(struct ov5640_dev 
> *sensor)
>   * sensor changes between scaling and subsampling, go through
>   * exposure calculation
>   */
> -static int ov5640_set_mode_exposure_calc(
> - struct ov5640_dev *sensor, const struct ov5640_mode_info *mode)
> +static int ov5640_set_mode_exposure_calc(struct ov5640_dev *sensor,
> +  const struct ov5640_mode_info *mode)
>  {
>   u32 prev_shu