summaryrefslogtreecommitdiff
path: root/drivers/staging/media/atomisp/i2c
AgeCommit message (Collapse)Author
2017-08-26media: staging: atomisp: fix bounds checking in mt9m114_s_exposure_selection()Dan Carpenter
These clamp_t() calls are no-ops because we don't save the results. It leads to an array out of bounds bug. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-26media: staging: media: atomisp: ap1302: Remove FSF postal addressHarold Gomez
Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL. remove the unnecessary paragraph Signed-off-by: Harold Gomez <haroldgmz11@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-26media: staging: atomisp: imx: remove dead codeArnd Bergmann
Making some functions 'static' has uncovered a few functions that have no caller, through the gcc warnings: atomisp/i2c/imx/imx.c:1111:12: error: 'imx_t_focus_vcm' defined but not used [-Werror=unused-function] atomisp/i2c/imx/imx.c:1103:12: error: 'imx_vcm_init' defined but not used [-Werror=unused-function] atomisp/i2c/imx/imx.c:1095:12: error: 'imx_vcm_power_down' defined but not used [-Werror=unused-function] atomisp/i2c/imx/imx.c:1087:12: error: 'imx_vcm_power_up' defined but not used [-Werror=unused-function] All four of these can be removed. Since they call indirect functions, I also looked at how those are used in turn: - The power_up/power_down callbacks are called from other functions and are still needed. - The t_focus_vcm callbacks pointers are completely unused and can be removed in both imx and ov8858. Some of the handlers are called directly and can now be marked static, the others are dummy implemntations that we can remove. - vcm_init is unused in imx, but dw9718_vcm_init is used in ov8858, but is not used in imx, so that one needs to stay around. The callback pointers in imx can be removed. Fixes: 9a5a6911aa3f ("staging: imx: fix non-static declarations") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-09media: staging: media: atomisp: constify video_subdev structuresJulia Lawall
These structures are both stored in fields of v4l2_subdev_ops structures, all of which are const, so these structures can be const as well. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-09media: staging: media: atomisp: remove trailing whitespaceStephen Brennan
Signed-off-by: Stephen Brennan <stephen@brennan.io> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-09media: staging: media: atomisp: i2c: gc0310: fixed brace coding style issueRene Hickersberger
Fixed a brace coding style issue. Signed-off-by: Rene Hickersberger <renehickersberger@gmx.net> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-08media: staging: imx: fix non-static declarationsJB Van Puyvelde
Add static keywords to fix this kind of sparse warnings: warning: symbol 'imx_t_vcm_timing' was not declared. Should it be static? Signed-off-by: JB Van Puyvelde <jbvanpuyvelde@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-08Merge tag 'v4.13-rc4' into patchworkMauro Carvalho Chehab
Linux 4.13-rc4 * tag 'v4.13-rc4': (863 commits) Linux 4.13-rc4 Fix compat_sys_sigpending breakage ext4: fix copy paste error in ext4_swap_extents() ext4: fix overflow caused by missing cast in ext4_resize_fs() ext4, project: expand inode extra size if possible ext4: cleanup ext4_expand_extra_isize_ea() ext4: restructure ext4_expand_extra_isize ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize ext4: make xattr inode reads faster ext4: inplace xattr block update fails to deduplicate blocks ext4: remove unused mode parameter ext4: fix warning about stack corruption ext4: fix dir_nlink behaviour ext4: silence array overflow warning ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize platform/x86: intel-vbtn: match power button on press rather than release ext4: release discard bio after sending discard commands sparc64: Fix exception handling in UltraSPARC-III memcpy. arm64: avoid overflow in VA_START and PAGE_OFFSET arm64: Fix potential race with hardware DBM in ptep_set_access_flags() ...
2017-07-26media: atomisp2: array underflow in imx_enum_frame_size()Dan Carpenter
The code looks in imx_enum_frame_size() looks like this: 2066 int index = fse->index; 2067 struct imx_device *dev = to_imx_sensor(sd); 2068 2069 mutex_lock(&dev->input_lock); 2070 if (index >= dev->entries_curr_table) { 2071 mutex_unlock(&dev->input_lock); 2072 return -EINVAL; 2073 } 2074 2075 fse->min_width = dev->curr_res_table[index].width; "fse->index" is a u32 that comes from the user. We want negative values of "index" to be -EINVAL so we don't read before the start of the dev->curr_res_table[] array. I've made "entries_curr_table" unsigned long to fix this. I thought about making it unsigned int, but because of struct alignment, it doesn't use more memory either way. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-26media: atomisp2: array underflow in ap1302_enum_frame_size()Dan Carpenter
The problem is this code from ap1302_enum_frame_size(): 738 int index = fse->index; 739 740 mutex_lock(&dev->input_lock); 741 context = ap1302_get_context(sd); 742 if (index >= dev->cntx_res[context].res_num) { 743 mutex_unlock(&dev->input_lock); 744 return -EINVAL; 745 } 746 747 res_table = dev->cntx_res[context].res_table; 748 fse->min_width = res_table[index].width; "fse->index" is a u32 that come from the user. We want negative values of "index" to be treated as -EINVAL but they're not so we can read from before the start of the res_table[] array. I've fixed this by making "res_num" a u32. I made "cur_res" a u32 as well, just for consistency. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-26media: staging: atomisp: array underflow in ioctlDan Carpenter
I noticed an array underflow in ov5693_enum_frame_size(). The code looks like this: int index = fse->index; if (index >= N_RES) retur -EINVAL; fse->index is a u32 that comes from the user. We want negative values to be counted as -EINVAL but they aren't. There are several ways to fix this but I feel like the best fix for future proofing is to change the type of N_RES from int to unsigned long to make it the same as if we were comparing against ARRAY_SIZE(). Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: gc2235: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 10754 1360 4 12118 2f56 drivers/staging/media/atomisp/i2c/gc2235.o File size After adding 'const': text data bss dec hex filename 10818 1296 4 12118 2f56 drivers/staging/media/atomisp/i2c/gc2235.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: mt9m114: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 15148 2640 8 17796 4584 drivers/staging/media/atomisp/i2c/mt9m114.o File size After adding 'const': text data bss dec hex filename 15244 2512 8 17764 4564 drivers/staging/media/atomisp/i2c/mt9m114.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: ov5693: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 20729 3264 0 23993 5db9 drivers/staging/media/atomisp/i2c/ov5693/ov5693.o File size After adding 'const': text data bss dec hex filename 20793 3200 0 23993 5db9 drivers/staging/media/atomisp/i2c/ov5693/ov5693.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: ov2722: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 14771 1880 0 16651 410b drivers/staging/media/atomisp/i2c/ov2722.o File size After adding 'const': text data bss dec hex filename 14835 1816 0 16651 410b drivers/staging/media/atomisp/i2c/ov2722.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: gc0310: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 10297 1888 0 12185 2f99 drivers/staging/media/atomisp/i2c/gc0310.o File size After adding 'const': text data bss dec hex filename 10361 1824 0 12185 2f99 drivers/staging/media/atomisp/i2c/gc0310.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: ov8858: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 23804 8448 0 32252 7dfc drivers/staging/media/atomisp/i2c/ov8858.o File size After adding 'const': text data bss dec hex filename 23868 8384 0 32252 7dfc drivers/staging/media/atomisp/i2c/ov8858.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: ov2680: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 12466 3120 8 15594 3cea drivers/staging/media/atomisp/i2c/ov2680.o File size After adding 'const': text data bss dec hex filename 12530 3056 8 15594 3cea drivers/staging/media/atomisp/i2c/ov2680.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: lm3554: constify acpi_device_idArvind Yadav
acpi_device_id are not supposed to change at runtime. All functions working with acpi_device_id provided by <acpi/acpi_bus.h> work with const acpi_device_id. So mark the non-const structs as const. File size before: text data bss dec hex filename 5347 1920 24 7291 1c7b drivers/staging/media/atomisp/i2c/lm3554.o File size After adding 'const': text data bss dec hex filename 5411 1856 24 7291 1c7b drivers/staging/media/atomisp/i2c/lm3554.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: i2c: ov5693: Fix style a coding style issueIvan Menshykov
Fix checkpath errors Signed-off-by: Ivan Menshykov <ivan.menshykov@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-07-19media: staging: atomisp: gc2235: fix sparse warning: missing staticGuillermo O. Freschi
Several local use structs were missing declarations. Added static qualifier to clean up Sparse warning. Signed-off-by: Guillermo O. Freschi <kedrot@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-08[media] atomisp: use correct dialect to disable warningsMauro Carvalho Chehab
There's a Macro that checks if gcc supports a warning before disabling it. Use it, in order to avoid warnings when building with older gcc versions. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] staging: atomisp: lm3554: fix sparse warnings(was not declared. ↵Chen Guanqiao
Should it be static?) Fix "symbol 'xxxxxxx' was not declared. Should it be static?" sparse warnings. Signed-off-by: Chen Guanqiao <chen.chenchacha@foxmail.com> Reviewed-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] staging: atomisp: Make ov2680 driver less chattyHans de Goede
There is no reason for all this printk spamming and certainly not at an error log level. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] staging: atomisp: Ignore errors from second gpio in ov2680 driverHans de Goede
As the existing comment in the driver indicates the sensor has only 1 pin, but some boards may have 2 gpios defined and we toggle both as we we don't know which one is the right one. However if the ACPI resources table defines only 1 gpio (as expected) the gpio1_ctrl call will always fail, causing the probing of the driver to file. This commit ignore the return value of the gpio1_ctrl call, fixing this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] staging: atomisp: Add OVTI2680 ACPI id to ov2680 driverHans de Goede
Add OVTI2680 ACPI id to ov2680 driver Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] staging: atomisp: Add INT0310 ACPI id to gc0310 driverHans de Goede
Add INT0310 ACPI id to gc0310 driver Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] staging: atomisp: Set step to 0 for mt9m114 menu controlHans de Goede
menu controls are not allowed to have a step size, set step to 0 to fix an oops from the WARN_ON in v4l2_ctrl_new_custom() triggering because of this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-07[media] atomisp: use NULL instead of 0 for pointersPaolo Cretaro
Fix warning issued by sparse: Using plain integer as NULL pointer Signed-off-by: Paolo Cretaro <melko@frugalware.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-05-19[media] atomisp: disable several warnings when W=1Mauro Carvalho Chehab
The atomisp currently produce hundreds of warnings when W=1. It is a known fact that this driver is currently in bad shape, and there are lot of things to be done here. We don't want to be bothered by those "minor" stuff for now, while the driver doesn't receive a major cleanup. So, disable those warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-05-18[media] atomisp: don't treat warnings as errorsMauro Carvalho Chehab
Several atomisp files use: ccflags-y += -Werror As, on media, our usual procedure is to use W=1, and atomisp has *a lot* of warnings with such flag enabled,like: ./drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host/system_local.h:62:26: warning: 'DDR_BASE' defined but not used [-Wunused-const-variable=] At the end, it causes our build to fail, impacting our workflow. So, remove this crap. If one wants to force -Werror, he can still build with it enabled by passing a parameter to make. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-04-28staging: media: atomisp: fix misspelled word in commentLuis Oliveira
This fix "overrided", the correct past tense form of "override" is "overridden". Signed-off-by: Luis Oliveira <lolivei@synopsys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-14staging: media: atomisp: i2c: removed unnecessary white space before comma ↵Valerio Genovese
in memset() Removed extra space before comma in memset() as a part of checkpatch.pl fix-up. Signed-off-by: Valerio Genovese <valerio.click@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-14staging: atomisp: avoid false-positive maybe-uninitialized warningArnd Bergmann
In combination with CONFIG_PROFILE_ANNOTATED_BRANCHES=y, the unlikely() inside of the WARN() macro becomes too complex for gcc to see that we don't use the output arguments of mt9m114_to_res() are used correctly: drivers/staging/media/atomisp/i2c/mt9m114.c: In function 'mt9m114_get_fmt': drivers/staging/media/atomisp/i2c/mt9m114.c:817:13: error: 'height' may be used uninitialized in this function [-Werror=maybe-uninitialized] int width, height; ^~~~~~ drivers/staging/media/atomisp/i2c/mt9m114.c: In function 'mt9m114_s_exposure_selection': drivers/staging/media/atomisp/i2c/mt9m114.c:1179:13: error: 'height' may be used uninitialized in this function [-Werror=maybe-uninitialized] Without WARN_ON(), there is no problem, so by simply replacing it with v4l2_err(), the warnings go away. The WARN() output is also not needed here, as we'd probably catch the problem before even getting here, and other checks for the same condition already use v4l2_err. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-29staging: media: atomisp: i2c: removed unnecessary white space before comma ↵Vaibhav Kothari
in memset() Removed extra space before comma in memset() as a part of checkpatch.pl fix-up. Signed-off-by: Vaibhav Kothari <vaibhavddit@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-23ov5693: remove unused functionAlan Cox
It's commented out in the tree with a note saying to remove it. So let's remove it. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-21staging/atomisp: fix empty-body warningArnd Bergmann
Defining a debug function to nothing causes a warning with an empty block after if()/else(): drivers/staging/media/atomisp/i2c/ov2680.c: In function 'ov2680_s_stream': drivers/staging/media/atomisp/i2c/ov2680.c:1208:55: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body] This changes the empty debug statement to dev_dbg(), which by default also does nothing, but avoids this warning and also checks the format string. As a side-effect, we can now use dynamic debugging to turn on the output at runtime. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-21staging: media: atomisp: add missing dependencies in KconfigJérémy Lefaure
Two dependencies were missing to build atomisp drivers: _ MEDIA_CONTROLLER: to use the entity field of v4l2_subdev structure. Since every atomisp driver needs MEDIA_CONTROLLER has a dependency, let's add it to INTEL_ATOMISP _ EFI: to use efivar_entry_get: drivers/built-in.o: In function `gmin_get_config_var': (.text+0xe062b): undefined reference to `efivar_entry_get' Signed-off-by: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-21staging: media: atomisp: select REGMAP_I2C needed by ap1302.cJérémy Lefaure
REGMAP_I2C should be enabled to build the driver ap1302 because it uses regmap functions. Signed-off-by: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-21atomisp/imx: Fix locking bug on error pathAlan Cox
This was reported by Dan Carpenter. When we error with an IMX 227 we don't release the lock and the sensor would then hang. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: media: atomisp: remove duplicate includesJérémy Lefaure
These duplicate includes have been found with scripts/checkincludes.pl but they have been removed manually to avoid removing false positives. Signed-off-by: Jérémy Lefaure <jeremy.lefaure@lse.epita.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16staging: media: atomisp: fix build error in ov5693 driverTobias Regnery
The ov5693 driver unconditionally uses the entity member of struct v4l2_subdev. However this member is conditionally compiled in if CONFIG_MEDIA_CONTROLLER is set. This results in the following build error if CONFIG_MEDIA_CONTROLLER is not set: drivers/staging/media/atomisp/i2c/ov5693/ov5693.c: In function 'ov5693_remove': drivers/staging/media/atomisp/i2c/ov5693/ov5693.c:1961:31: error: 'struct v4l2_subdev' has no member named 'entity' media_entity_cleanup(&dev->sd.entity); drivers/staging/media/atomisp/i2c/ov5693/ov5693.c:2023:9: error: 'struct v4l2_subdev' has no member named 'entity' dev->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR; ^ drivers/staging/media/atomisp/i2c/ov5693/ov5693.c:2045:39: error: 'struct v4l2_subdev' has no member named 'entity' ret = media_entity_pads_init(&dev->sd.entity, 1, &dev->pad); Add the corresponding Kconfig dependency to solve this error. Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-16Staging: atomisp: kfreeing a devm allocated pointerDan Carpenter
We shouldn't pass devm allocated pointers to kfree() or it leads to a double free. Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-14staging: atomisp: fix missing break in switch statementColin Ian King
I believe there is a missing break in the switch statement for case V4L2_CID_FOCUS_STATUS as the current fall-through looks suspect to me. Detected by CoverityScan, CID#1416580 ("Missing break in switch") Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-14staging: media: atomisp: Remove gc2235_init() function.Varsha Rao
Remove gc2235_init() function definition and call, as it is used only once in gc2235.c file. Replace the function call with return value, __gc2235_init() function call. Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-14staging: media: atomisp: Compress return logic into one line.Varsha Rao
Simplify function return by merging assignment and return into a single line. The following coccinelle script is used to fix this issue. @@ expression e; local idexpression ret; @@ -ret = e; -return ret; +return e; This patch also removes unnecessary declarations. Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-14staging: media: mt9m114: Use true/false instead of 1/0 for bool initialisationssayli karnik
Bool initializations should use true and false instead of 1 and 0. Detected by coccinelle/misc/boolinit.cocci. Signed-off-by: sayli karnik <karniksayli1995@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: atomisp: clean up return logic, remove redunant codeColin Ian King
There is no need to check if ret is non-zero, remove this redundant check and just return the error status from the call to mt9m114_write_reg_array. Detected by CoverityScan, CID#1416577 ("Identical code for different branches") Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-09staging: media: atomisp: Match alignment with open parenthesis.Varsha Rao
This patch matches alignment with open parenthesis, removes extra space before '||' operators and fixes the checkpatch issue. Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-09staging: media: atomisp: Remove useless cast.Varsha Rao
Explicit type casting of variable, with same type as that of variable, is not required. The following coccinelle script is used to remove it. @@ type T; T *ptr; T p; @@ ( - (T *)(&p) + &p | - (T *)ptr + ptr | - (T *)(ptr) + ptr | - (T)(p) + p ) This patch also removes unnecessary parentheses. Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>