1. 17 Apr, 2018 40 commits
    • Hans Verkuil's avatar
      media: cec: fix smatch error · b66d4484
      Hans Verkuil authored
      drivers/media/cec/cec-pin-error-inj.c:231
      cec_pin_error_inj_parse_line() error: uninitialized symbol 'pos'.
      
      The tx-add-bytes command didn't check for the presence of an argument, and
      also didn't check that it was > 0.
      
      This should fix this error.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      b66d4484
    • Mauro Carvalho Chehab's avatar
      media: v4l2-fwnode: simplify v4l2_fwnode_reference_parse_int_props() · 9879c9d3
      Mauro Carvalho Chehab authored
      The logic at v4l2_fwnode_reference_parse_int_props() is somewhat
      complex and violates Linux coding style, as it does multiple
      statements on a single line. That makes static analyzers to
      be confused, as warned by smatch:
      
      	drivers/media/v4l2-core/v4l2-fwnode.c:832 v4l2_fwnode_reference_parse_int_props() warn: passing zero to 'PTR_ERR'
      
      Simplify the logic, in order to make clearer about what happens
      when v4l2_fwnode_reference_get_int_prop() returns an error.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      9879c9d3
    • Mauro Carvalho Chehab's avatar
      media: dvb_frontend: fix locking issues at dvb_frontend_get_event() · 76d81243
      Mauro Carvalho Chehab authored
      As warned by smatch:
      	drivers/media/dvb-core/dvb_frontend.c:314 dvb_frontend_get_event() warn: inconsistent returns 'sem:&fepriv->sem'.
      	  Locked on:   line 288
      	               line 295
      	               line 306
      	               line 314
      	  Unlocked on: line 303
      
      The lock implementation for get event is wrong, as, if an
      interrupt occurs, down_interruptible() will fail, and the
      routine will call up() twice when userspace calls the ioctl
      again.
      
      The bad code is there since when Linux migrated to git, in
      2005.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      76d81243
    • Mauro Carvalho Chehab's avatar
      media: staging: atomisp: fix string comparation logic · 65c11673
      Mauro Carvalho Chehab authored
      it makes no sense to use strncmp() with a size with is
      bigger than the string we're comparing with.
      
      Fix those warnings:
      
          drivers/staging/media/atomisp/pci/atomisp2/atomisp_fops.c:776 atomisp_open() error: strncmp() '"ATOMISP ISP ACC"' too small (16 vs 32)
          drivers/staging/media/atomisp/pci/atomisp2/atomisp_fops.c:913 atomisp_release() error: strncmp() '"ATOMISP ISP ACC"' too small (16 vs 32)
          drivers/staging/media/atomisp/pci/atomisp2/atomisp_ioctl.c:2751 atomisp_vidioc_default() error: strncmp() '"ATOMISP ISP ACC"' too small (16 vs 32)
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      65c11673
    • Mauro Carvalho Chehab's avatar
      media: atomisp: fix __user annotations · 90d53d19
      Mauro Carvalho Chehab authored
      There are lots of troubles with atomisp __user annotations. Fix them.
      
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49:    expected void *userptr
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49:    got void [noderef] <asn:1>*user_ptr
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43:    expected void const [noderef] <asn:1>*from
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43:    got void const *from
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58:    expected void const *from
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58:    got unsigned short [noderef] <asn:1>*<noident>
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58:    expected void const *from
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58:    got unsigned short [noderef] <asn:1>*<noident>
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62:    expected void const [noderef] <asn:1>*from
      drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62:    got unsigned short [usertype] *<noident>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      90d53d19
    • Mauro Carvalho Chehab's avatar
      media: staging: atomisp: don't declare the same vars as both private and public · 3204043f
      Mauro Carvalho Chehab authored
      The mmu_private.h header is included at mmu.c, with duplicates the
      already existing definitions at mmu_public.h.
      
      Fix this by removing the erroneous header file.
      
      Solve those issues:
      
          drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host/mmu_private.h:24:26: warning: function 'mmu_reg_store' with external linkage has definition
          drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host/mmu_private.h:35:30: warning: function 'mmu_reg_load' with external linkage has definition
          drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host/mmu_private.h:24:26: warning: function 'mmu_reg_store' with external linkage has definition
          drivers/staging/media/atomisp/pci/atomisp2/css2400/hive_isp_css_common/host/mmu_private.h:35:30: warning: function 'mmu_reg_load' with external linkage has definition
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      3204043f
    • Mauro Carvalho Chehab's avatar
      media: staging: atomisp: fix number conversion · 27210585
      Mauro Carvalho Chehab authored
      smatch says that there's an issue with number
      conversion:
      
         drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_params.c:4154 sh_css_params_write_to_ddr_internal() warn: '((-(1 << ((14 - 1)))))' 4294959104 can't fit into 32767 'converted_macc_table.data[idx]'
         drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_params.c:4157 sh_css_params_write_to_ddr_internal() warn: '((-(1 << ((14 - 1)))))' 4294959104 can't fit into 32767 'converted_macc_table.data[idx + 1]'
         drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_params.c:4160 sh_css_params_write_to_ddr_internal() warn: '((-(1 << ((14 - 1)))))' 4294959104 can't fit into 32767 'converted_macc_table.data[idx + 2]'
         drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css_params.c:4163 sh_css_params_write_to_ddr_internal() warn: '((-(1 << ((14 - 1)))))' 4294959104 can't fit into 32767 'converted_macc_table.data[idx + 3]'
         drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/eed1_8/ia_css_eed1_8.host.c:168 ia_css_eed1_8_vmem_encode() warn: assigning (-8192) to unsigned variable 'to->e_dew_enh_a[0][base + j]'
      
      That's probably because min() and max() definition used there
      are really poor ones. So, replace by the in-kernel macro.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      27210585
    • Mauro Carvalho Chehab's avatar
      media: omap_vout: fix wrong identing · b1011a33
      Mauro Carvalho Chehab authored
      As warned:
      	drivers/media/platform/omap/omap_vout.c:711 omap_vout_buffer_setup() warn: inconsistent indenting
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      b1011a33
    • Mauro Carvalho Chehab's avatar
      media: fsl-viu: fix __iomem annotations · 27e4b6cf
      Mauro Carvalho Chehab authored
      Those annotations are wrong, causing this warning:
      
          drivers/media/platform/fsl-viu.c:1440:21: warning: incorrect type in assignment (different address spaces)
          drivers/media/platform/fsl-viu.c:1440:21:    expected struct viu_reg *vr
          drivers/media/platform/fsl-viu.c:1440:21:    got struct viu_reg [noderef] <asn:2>*[assigned] viu_regs
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      27e4b6cf
    • Mauro Carvalho Chehab's avatar
      media: fsl-viu: use %p to print pointers · 2d78a19c
      Mauro Carvalho Chehab authored
      Solve those warnings:
      
          drivers/media/platform/fsl-viu.c:299 restart_video_queue() warn: argument 3 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:506 buffer_queue() warn: argument 2 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:518 buffer_queue() warn: argument 2 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:528 buffer_queue() warn: argument 2 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:1219 viu_open() warn: argument 2 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:1219 viu_open() warn: argument 3 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:1219 viu_open() warn: argument 4 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:1329 viu_mmap() warn: argument 2 to %08lx specifier is cast from pointer
          drivers/media/platform/fsl-viu.c:1334 viu_mmap() warn: argument 2 to %08lx specifier is cast from pointer
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      2d78a19c
    • Mauro Carvalho Chehab's avatar
      media: isppreview: fix __user annotations · 99ed3dd8
      Mauro Carvalho Chehab authored
      The 'from' variable at preview_config() expects an __user * type.
      
      However, the logic there does:
      
          from = *(void * __user *) ((void *)cfg + attr->config_offset);
      
      With actually means a void pointer, pointing to a void __ user
      pointer. When the first pointer is de-referenced with *(foo),
      the type it returns is "void *" instead of "void __user *".
      
      Change it to:
          from = *(void __user **) ((void *)cfg + attr->config_offset);
      
      in order to obtain, when de-referenced, a void __user pointer,
      as desired.
      
      That prevent those warnings:
         drivers/media/platform/omap3isp/isppreview.c:893:45: warning: incorrect type in initializer (different address spaces)
         drivers/media/platform/omap3isp/isppreview.c:893:45:    expected void [noderef] <asn:1>*from
         drivers/media/platform/omap3isp/isppreview.c:893:45:    got void *[noderef] <asn:1><noident>
         drivers/media/platform/omap3isp/isppreview.c:893:47: warning: dereference of noderef expression
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      99ed3dd8
    • Mauro Carvalho Chehab's avatar
      media: ispstat: use %p to print the address of a buffer · e6aded73
      Mauro Carvalho Chehab authored
      Instead of converting to int, use %p. That prevents this
      warning:
      	drivers/media/platform/omap3isp/ispstat.c:451 isp_stat_bufs_alloc() warn: argument 7 to %08lx specifier is cast from pointer
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      e6aded73
    • Mauro Carvalho Chehab's avatar
      media: vpbe_display: get rid of warnings · 8c2bb52f
      Mauro Carvalho Chehab authored
      Solve those warnings:
      
          drivers/media/platform/davinci/vpbe_display.c:288 vpbe_start_streaming() warn: inconsistent indenting
          drivers/media/platform/davinci/vpbe_display.c:1356 register_device() warn: argument 3 to %x specifier is cast from pointer
          drivers/media/platform/davinci/vpbe_display.c:1356 register_device() warn: argument 4 to %x specifier is cast from pointer
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      8c2bb52f
    • Mauro Carvalho Chehab's avatar
      media: vpbe_display: properly handle error case · 693035dc
      Mauro Carvalho Chehab authored
      if v4l2_subdev_call(..., VENC_GET_FLD,...) fails, it
      currently returns a random value. Instead, return 1.
      
      That's probably better than returning 0, as this is very
      likely what happens in practice with the current code, as
      as the probably of an unititialized 32 bits integer to
      have an specific value (0, in this case), is 1/(2^32).
      
      An alternative would be to return an error code, and
      let the caller to hint, based on the past received
      frame, but that sounds weird.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      693035dc
    • Mauro Carvalho Chehab's avatar
      media: mmp-driver: add needed __iomem marks to power_regs · bef6b894
      Mauro Carvalho Chehab authored
      Solve those warnings:
      
          drivers/media/platform/marvell-ccic/mmp-driver.c:135:41: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:135:41:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:135:41:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:136:44: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:136:44:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:136:44:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:174:38: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:174:38:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:174:38:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:175:38: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:175:38:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:175:38:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:195:48: warning: incorrect type in argument 1 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:195:48:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:195:48:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:196:55: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:196:55:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:196:55:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:197:54: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:197:54:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:197:54:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:202:48: warning: incorrect type in argument 1 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:202:48:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:202:48:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:203:55: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:203:55:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:203:55:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:204:54: warning: incorrect type in argument 2 (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:204:54:    expected void [noderef] <asn:2>*<noident>
          drivers/media/platform/marvell-ccic/mmp-driver.c:204:54:    got void *
          drivers/media/platform/marvell-ccic/mmp-driver.c:389:25: warning: incorrect type in assignment (different address spaces)
          drivers/media/platform/marvell-ccic/mmp-driver.c:389:25:    expected void *power_regs
          drivers/media/platform/marvell-ccic/mmp-driver.c:389:25:    got void [noderef] <asn:2>*
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      bef6b894
    • Mauro Carvalho Chehab's avatar
      media: davinci: fix an inconsistent ident · 3022b988
      Mauro Carvalho Chehab authored
      drivers/media/platform/davinci/vpbe_osd.c:849 try_layer_config() warn: inconsistent indenting
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      3022b988
    • Mauro Carvalho Chehab's avatar
      media: isif: reorder a statement to match coding style · 09821dfd
      Mauro Carvalho Chehab authored
      On all places, we do:
      	void <asn_ref> *foo;
      
      Here, it is doing, instead:
      	void * <asn_ref> foo;
      
      That tricks static analyzers, making it see errors where
      there's none. So, just reorder in order to cleanup those
      warnings:
      
          drivers/media/platform/davinci/isif.c:1066:22: warning: incorrect type in assignment (different address spaces)
          drivers/media/platform/davinci/isif.c:1066:22:    expected void *[noderef] <asn:2>addr
          drivers/media/platform/davinci/isif.c:1066:22:    got void [noderef] <asn:2>*
          drivers/media/platform/davinci/isif.c:1074:44: warning: incorrect type in assignment (different address spaces)
          drivers/media/platform/davinci/isif.c:1074:44:    expected void [noderef] <asn:2>*static [toplevel] [assigned] base_addr
          drivers/media/platform/davinci/isif.c:1074:44:    got void *[noderef] <asn:2>addr
          drivers/media/platform/davinci/isif.c:1078:51: warning: incorrect type in assignment (different address spaces)
          drivers/media/platform/davinci/isif.c:1078:51:    expected void [noderef] <asn:2>*static [toplevel] [assigned] linear_tbl0_addr
          drivers/media/platform/davinci/isif.c:1078:51:    got void *[noderef] <asn:2>addr
          drivers/media/platform/davinci/isif.c:1082:51: warning: incorrect type in assignment (different address spaces)
          drivers/media/platform/davinci/isif.c:1082:51:    expected void [noderef] <asn:2>*static [toplevel] [assigned] linear_tbl1_addr
          drivers/media/platform/davinci/isif.c:1082:51:    got void *[noderef] <asn:2>addr
          drivers/media/platform/davinci/isif.c:1067:22: warning: dereference of noderef expression
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      09821dfd
    • Mauro Carvalho Chehab's avatar
      media: si470x: fix __be16 annotations · 90db5c82
      Mauro Carvalho Chehab authored
      The annotations there are wrong as warned:
         drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:129:24: warning: incorrect type in assignment (different base types)
         drivers/media/radio/si470x/radio-si470x-i2c.c:129:24:    expected unsigned short [unsigned] [short] <noident>
         drivers/media/radio/si470x/radio-si470x-i2c.c:129:24:    got restricted __be16 [usertype] <noident>
         drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16
         drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      90db5c82
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: fix __user annotations · 644ddbe1
      Mauro Carvalho Chehab authored
      The __user annotations on this driver are wrong, causing lots
      of warnings:
      
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1269:22: warning: incorrect type in assignment (different address spaces)
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1269:22:    expected void [noderef] <asn:1>*from
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1269:22:    got void *[noderef] <asn:1><noident>
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1313:20: warning: incorrect type in assignment (different address spaces)
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1313:20:    expected void [noderef] <asn:1>*to
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1313:20:    got void *[noderef] <asn:1><noident>
          drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:424:41: warning: incorrect type in initializer (different address spaces)
          drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:424:41:    expected struct ipipeif_params *config
          drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:424:41:    got void [noderef] <asn:1>*arg
          drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:474:46: warning: incorrect type in argument 2 (different address spaces)
          drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:474:46:    expected void [noderef] <asn:1>*arg
          drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:474:46:    got void *arg
          drivers/staging/media/davinci_vpfe/dm365_resizer.c:922:32: warning: incorrect type in argument 2 (different address spaces)
          drivers/staging/media/davinci_vpfe/dm365_resizer.c:922:32:    expected void const [noderef] <asn:1>*from
          drivers/staging/media/davinci_vpfe/dm365_resizer.c:922:32:    got struct vpfe_rsz_config_params *config
          drivers/staging/media/davinci_vpfe/dm365_resizer.c:945:27: warning: incorrect type in argument 1 (different address spaces)
          drivers/staging/media/davinci_vpfe/dm365_resizer.c:945:27:    expected void [noderef] <asn:1>*to
          drivers/staging/media/davinci_vpfe/dm365_resizer.c:945:27:    got void *<noident>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      644ddbe1
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: cleanup ipipe_[g|s]_config logic · aa8485d6
      Mauro Carvalho Chehab authored
      Reduce one ident level inside those functions and use BIT()
      macro.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      aa8485d6
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: fix a typo for "default" · b2f92225
      Mauro Carvalho Chehab authored
      resizer_set_defualt_configuration -> resizer_set_default_configuration
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      b2f92225
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: don't use kernel-doc markup for simple comments · 89d4318a
      Mauro Carvalho Chehab authored
      Fix those two warnings:
         drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c:90: warning: Function parameter or member 'interface' not described in 'MODULE_PARM_DESC'
         drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c:90: warning: Function parameter or member '(default' not described in 'MODULE_PARM_DESC'
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      89d4318a
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: vpfe_video: remove an unused var · 58594098
      Mauro Carvalho Chehab authored
      as warned:
      
        drivers/staging/media/davinci_vpfe/vpfe_video.c: In function 'vpfe_streamon':
        drivers/staging/media/davinci_vpfe/vpfe_video.c:1471:31: warning: variable 'sdinfo' set but not used [-Wunused-but-set-variable]
          struct vpfe_ext_subdev_info *sdinfo;
                                     ^~~~~~
      
      While here, cleanup this kernel-doc warning:
      
        drivers/staging/media/davinci_vpfe/vpfe_video.c:225: warning: Function parameter or member 'pipe' not described in 'vpfe_video_validate_pipeline'
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      58594098
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: get rid of an unused var at dm365_isif.c · 9d52210a
      Mauro Carvalho Chehab authored
      Not sure what was the original idea here, but the implementation
      went into a different way, and the fmt var is not used
      anymore, as warned:
      
      drivers/staging/media/davinci_vpfe/dm365_isif.c: In function '__isif_get_format':
      drivers/staging/media/davinci_vpfe/dm365_isif.c:1401:29: warning: variable 'fmt' set but not used [-Wunused-but-set-variable]
         struct v4l2_subdev_format fmt;
                                   ^~~
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      9d52210a
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: mark __iomem as such · 1ac9fe8c
      Mauro Carvalho Chehab authored
      There are several usages of an __iomem memory that aren't
      marked as such, causing those warnings:
      
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:201:27: warning: incorrect type in assignment (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:201:27:    expected void *ipipeif_base_addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:201:27:    got void [noderef] <asn:2>*ipipeif_base_addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27: warning: incorrect type in argument 1 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27:    expected void const volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27: warning: incorrect type in argument 1 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27:    expected void const volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:510:42: warning: incorrect type in initializer (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:510:42:    expected void *ipipeif_base_addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:510:42:    got void [noderef] <asn:2>*ipipeif_base_addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27: warning: incorrect type in argument 1 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27:    expected void const volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:71:27:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:797:42: warning: incorrect type in initializer (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:797:42:    expected void *ipipeif_base_addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:797:42:    got void [noderef] <asn:2>*ipipeif_base_addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26: warning: incorrect type in argument 2 (different address spaces)
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    expected void volatile [noderef] <asn:2>*addr
      drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:76:26:    got void *
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      1ac9fe8c
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: fix vpfe_ipipe_init() error handling · 3585fdc7
      Mauro Carvalho Chehab authored
      As warned:
      	drivers/staging/media/davinci_vpfe/dm365_ipipe.c:1834 vpfe_ipipe_init() error: we previously assumed 'res' could be null (see line 1797)
      
      There's something wrong at vpfe_ipipe_init():
      
      1) it caches the resourse_size() from from the first region
         and reuses to the second region;
      
      2) the "res" var is overridden 3 times;
      
      3) at free logic, it assumes that "res->start" is not
         overridden by platform_get_resource(pdev, IORESOURCE_MEM, 6),
         but that's not true, as it can even be NULL there.
      
      This patch fixes the above issues by:
      
      a) store the resources used by release_mem_region() on
         a separate var;
      
      b) stop caching resource_size(), using the function where
         needed.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      3585fdc7
    • Mauro Carvalho Chehab's avatar
      media: dm365_ipipe: remove an unused var · a8a04370
      Mauro Carvalho Chehab authored
      drivers/staging/media/davinci_vpfe/dm365_ipipe.c:74:17: warning: variable 'dev' set but not used [-Wunused-but-set-variable]
        struct device *dev;
                       ^~~
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      a8a04370
    • Mauro Carvalho Chehab's avatar
      media: davinci_vpfe: remove useless checks from ipipe · 3d37383b
      Mauro Carvalho Chehab authored
      The dm365_ipipe_hw.c and dm365_ipipe.c file check if several table
      pointers, declared at davinci_vpfe_user.h, are filled before using
      them.
      
      The problem is that those pointers come from struct declarations
      like:
      
      	struct vpfe_ipipe_yee {
      	...
      	short table[VPFE_IPIPE_MAX_SIZE_YEE_LUT];
      	};
      
      So, they can't be NULL! Solve those warnings:
      
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:433 ipipe_set_lutdpc_regs() warn: this array is probably non-NULL. 'dpc->table'
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:763 ipipe_set_gamma_regs() warn: this array is probably non-NULL. 'gamma->table_r'
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:766 ipipe_set_gamma_regs() warn: this array is probably non-NULL. 'gamma->table_b'
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:769 ipipe_set_gamma_regs() warn: this array is probably non-NULL. 'gamma->table_g'
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:791 ipipe_set_3d_lut_regs() warn: this array is probably non-NULL. 'lut_3d->table'
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:903 ipipe_set_gbce_regs() warn: this array is probably non-NULL. 'gbce->table'
          drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c:946 ipipe_set_ee_regs() warn: this array is probably non-NULL. 'ee->table'
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:59 ipipe_validate_lutdpc_params() warn: this array is probably non-NULL. 'lutdpc->table'
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:697 ipipe_get_gamma_params() warn: this array is probably non-NULL. 'gamma_param->table_r'
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:705 ipipe_get_gamma_params() warn: this array is probably non-NULL. 'gamma_param->table_g'
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:712 ipipe_get_gamma_params() warn: this array is probably non-NULL. 'gamma_param->table_b'
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:745 ipipe_get_3d_lut_params() warn: this array is probably non-NULL. 'lut_param->table'
          drivers/staging/media/davinci_vpfe/dm365_ipipe.c:926 ipipe_get_gbce_params() warn: this array is probably non-NULL. 'gbce_param->table'
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      3d37383b
    • Mauro Carvalho Chehab's avatar
      media: staging: davinci_vpfe: allow building with COMPILE_TEST · 4907c73d
      Mauro Carvalho Chehab authored
      This is a little bit hashish, but this driver is at staging,
      so it won't become worse.
      
      With this small change at Makefile, we can now build it with
      COMPILE_TEST.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      4907c73d
    • Mauro Carvalho Chehab's avatar
      media: si470x: allow build both USB and I2C at the same time · 58757984
      Mauro Carvalho Chehab authored
      Currently, either USB or I2C is built. Change it to allow
      having both enabled at the same time.
      
      The main reason is that COMPILE_TEST all[yes/mod]builds will
      now contain all drivers under drivers/media.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      58757984
    • Mauro Carvalho Chehab's avatar
      media: omap4iss: make it build with COMPILE_TEST · 84fc727e
      Mauro Carvalho Chehab authored
      This driver compile as-is with COMPILE_TEST.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      84fc727e
    • Mauro Carvalho Chehab's avatar
      media: omap: allow building it with COMPILE_TEST · 7f8e175a
      Mauro Carvalho Chehab authored
      Now that we have stubs for omap FB driver, let it build with
      COMPILE_TEST.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      7f8e175a
    • Mauro Carvalho Chehab's avatar
      media: omap2: omapfb: allow building it with COMPILE_TEST · 7378f114
      Mauro Carvalho Chehab authored
      This driver builds cleanly with COMPILE_TEST, and it is
      needed in order to allow building drivers/media omap2
      driver.
      
      So, change the logic there to allow building it.
      Acked-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      7378f114
    • Mauro Carvalho Chehab's avatar
      media: davinci: get rid of lots of kernel-doc warnings · e199fa7c
      Mauro Carvalho Chehab authored
      Driver build produce lots of warnings due to wrong kernel-doc markups:
      
          drivers/media/platform/davinci/vpbe.c:60: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_current_encoder_info'
          drivers/media/platform/davinci/vpbe.c:78: warning: Function parameter or member 'cfg' not described in 'vpbe_find_encoder_sd_index'
          drivers/media/platform/davinci/vpbe.c:78: warning: Function parameter or member 'index' not described in 'vpbe_find_encoder_sd_index'
          drivers/media/platform/davinci/vpbe.c:105: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_g_cropcap'
          drivers/media/platform/davinci/vpbe.c:105: warning: Function parameter or member 'cropcap' not described in 'vpbe_g_cropcap'
          drivers/media/platform/davinci/vpbe.c:127: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_enum_outputs'
          drivers/media/platform/davinci/vpbe.c:127: warning: Function parameter or member 'output' not described in 'vpbe_enum_outputs'
          drivers/media/platform/davinci/vpbe.c:221: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_set_output'
          drivers/media/platform/davinci/vpbe.c:221: warning: Function parameter or member 'index' not described in 'vpbe_set_output'
          drivers/media/platform/davinci/vpbe.c:316: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_get_output'
          drivers/media/platform/davinci/vpbe.c:328: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_s_dv_timings'
          drivers/media/platform/davinci/vpbe.c:328: warning: Function parameter or member 'dv_timings' not described in 'vpbe_s_dv_timings'
          drivers/media/platform/davinci/vpbe.c:380: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_g_dv_timings'
          drivers/media/platform/davinci/vpbe.c:380: warning: Function parameter or member 'dv_timings' not described in 'vpbe_g_dv_timings'
          drivers/media/platform/davinci/vpbe.c:405: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_enum_dv_timings'
          drivers/media/platform/davinci/vpbe.c:405: warning: Function parameter or member 'timings' not described in 'vpbe_enum_dv_timings'
          drivers/media/platform/davinci/vpbe.c:436: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_s_std'
          drivers/media/platform/davinci/vpbe.c:436: warning: Function parameter or member 'std_id' not described in 'vpbe_s_std'
          drivers/media/platform/davinci/vpbe.c:475: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_g_std'
          drivers/media/platform/davinci/vpbe.c:475: warning: Function parameter or member 'std_id' not described in 'vpbe_g_std'
          drivers/media/platform/davinci/vpbe.c:500: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_set_mode'
          drivers/media/platform/davinci/vpbe.c:500: warning: Function parameter or member 'mode_info' not described in 'vpbe_set_mode'
          drivers/media/platform/davinci/vpbe.c:585: warning: Function parameter or member 'dev' not described in 'vpbe_initialize'
          drivers/media/platform/davinci/vpbe.c:585: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_initialize'
          drivers/media/platform/davinci/vpbe.c:779: warning: Function parameter or member 'dev' not described in 'vpbe_deinitialize'
          drivers/media/platform/davinci/vpbe.c:779: warning: Function parameter or member 'vpbe_dev' not described in 'vpbe_deinitialize'
          drivers/media/platform/davinci/vpbe_osd.c:144: warning: Function parameter or member 'sd' not described in '_osd_dm6446_vid0_pingpong'
          drivers/media/platform/davinci/vpbe_osd.c:144: warning: Function parameter or member 'field_inversion' not described in '_osd_dm6446_vid0_pingpong'
          drivers/media/platform/davinci/vpbe_osd.c:144: warning: Function parameter or member 'fb_base_phys' not described in '_osd_dm6446_vid0_pingpong'
          drivers/media/platform/davinci/vpbe_osd.c:144: warning: Function parameter or member 'lconfig' not described in '_osd_dm6446_vid0_pingpong'
          drivers/media/platform/davinci/vpbe_osd.c:799: warning: Function parameter or member 'sd' not described in 'try_layer_config'
          drivers/media/platform/davinci/vpbe_osd.c:799: warning: Function parameter or member 'layer' not described in 'try_layer_config'
          drivers/media/platform/davinci/vpbe_osd.c:799: warning: Function parameter or member 'lconfig' not described in 'try_layer_config'
          drivers/media/platform/davinci/vpbe_display.c:578: warning: Function parameter or member 'disp_dev' not described in 'vpbe_try_format'
          drivers/media/platform/davinci/vpbe_display.c:578: warning: Function parameter or member 'pixfmt' not described in 'vpbe_try_format'
          drivers/media/platform/davinci/vpbe_display.c:578: warning: Function parameter or member 'check' not described in 'vpbe_try_format'
          drivers/media/platform/davinci/vpbe_display.c:943: warning: Function parameter or member 'file' not described in 'vpbe_display_s_std'
          drivers/media/platform/davinci/vpbe_display.c:943: warning: Function parameter or member 'priv' not described in 'vpbe_display_s_std'
          drivers/media/platform/davinci/vpbe_display.c:943: warning: Function parameter or member 'std_id' not described in 'vpbe_display_s_std'
          drivers/media/platform/davinci/vpbe_display.c:975: warning: Function parameter or member 'file' not described in 'vpbe_display_g_std'
          drivers/media/platform/davinci/vpbe_display.c:975: warning: Function parameter or member 'priv' not described in 'vpbe_display_g_std'
          drivers/media/platform/davinci/vpbe_display.c:975: warning: Function parameter or member 'std_id' not described in 'vpbe_display_g_std'
          drivers/media/platform/davinci/vpbe_display.c:998: warning: Function parameter or member 'file' not described in 'vpbe_display_enum_output'
          drivers/media/platform/davinci/vpbe_display.c:998: warning: Function parameter or member 'priv' not described in 'vpbe_display_enum_output'
          drivers/media/platform/davinci/vpbe_display.c:998: warning: Function parameter or member 'output' not described in 'vpbe_display_enum_output'
          drivers/media/platform/davinci/vpbe_display.c:1025: warning: Function parameter or member 'file' not described in 'vpbe_display_s_output'
          drivers/media/platform/davinci/vpbe_display.c:1025: warning: Function parameter or member 'priv' not described in 'vpbe_display_s_output'
          drivers/media/platform/davinci/vpbe_display.c:1025: warning: Function parameter or member 'i' not described in 'vpbe_display_s_output'
          drivers/media/platform/davinci/vpbe_display.c:1054: warning: Function parameter or member 'file' not described in 'vpbe_display_g_output'
          drivers/media/platform/davinci/vpbe_display.c:1054: warning: Function parameter or member 'priv' not described in 'vpbe_display_g_output'
          drivers/media/platform/davinci/vpbe_display.c:1054: warning: Function parameter or member 'i' not described in 'vpbe_display_g_output'
          drivers/media/platform/davinci/vpbe_display.c:1074: warning: Function parameter or member 'file' not described in 'vpbe_display_enum_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1074: warning: Function parameter or member 'priv' not described in 'vpbe_display_enum_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1074: warning: Function parameter or member 'timings' not described in 'vpbe_display_enum_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1104: warning: Function parameter or member 'file' not described in 'vpbe_display_s_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1104: warning: Function parameter or member 'priv' not described in 'vpbe_display_s_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1104: warning: Function parameter or member 'timings' not described in 'vpbe_display_s_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1137: warning: Function parameter or member 'file' not described in 'vpbe_display_g_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1137: warning: Function parameter or member 'priv' not described in 'vpbe_display_g_dv_timings'
          drivers/media/platform/davinci/vpbe_display.c:1137: warning: Function parameter or member 'dv_timings' not described in 'vpbe_display_g_dv_timings'
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      e199fa7c
    • Mauro Carvalho Chehab's avatar
      media: vpbe_venc: don't store return codes if they won't be used · 79eab28d
      Mauro Carvalho Chehab authored
      Fix those two warnings
      
      drivers/media/platform/davinci/vpbe_venc.c: In function ‘venc_set_ntsc’:
      drivers/media/platform/davinci/vpbe_venc.c:230:6: warning: variable ‘val’ set but not used [-Wunused-but-set-variable]
        u32 val;
            ^~~
      drivers/media/platform/davinci/vpbe_venc.c: In function ‘venc_sub_dev_init’:
      drivers/media/platform/davinci/vpbe_venc.c:611:6: warning: variable ‘err’ set but not used [-Wunused-but-set-variable]
        int err;
            ^~~
        AR      drivers/media/platform/davinci/built-in.a
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      79eab28d
    • Mauro Carvalho Chehab's avatar
      media: davinci: allow build vpbe_display with COMPILE_TEST · 05c90900
      Mauro Carvalho Chehab authored
      Except for some includes (with doesn't seem to be used), this
      driver builds fine with COMPILE_TEST.
      
      So, add checks there to avoid building it if ARCH_DAVINCI
      is not selected.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      05c90900
    • Mauro Carvalho Chehab's avatar
      media: davinci: allow building isif code · b8952ee6
      Mauro Carvalho Chehab authored
      The only reason why this driver doesn't build with COMPILE_TEST
      is because it includes mach/mux.h. It turns that none of the
      macros defined there are used.
      
      So, get rid of it, in order to allow it to build with
      COMPILE_TEST.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      b8952ee6
    • Mauro Carvalho Chehab's avatar
      media: mmp-driver: make two functions static · e81afa6f
      Mauro Carvalho Chehab authored
      Those functions are used only internally:
      
        CC      drivers/media/platform/marvell-ccic/mmp-driver.o
      drivers/media/platform/marvell-ccic/mmp-driver.c:186:6: warning: no previous prototype for ‘mcam_ctlr_reset’ [-Wmissing-prototypes]
       void mcam_ctlr_reset(struct mcam_camera *mcam)
            ^~~~~~~~~~~~~~~
      drivers/media/platform/marvell-ccic/mmp-driver.c:217:6: warning: no previous prototype for ‘mmpcam_calc_dphy’ [-Wmissing-prototypes]
       void mmpcam_calc_dphy(struct mcam_camera *mcam)
            ^~~~~~~~~~~~~~~~
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      e81afa6f
    • Mauro Carvalho Chehab's avatar
      media: marvel-ccic: re-enable mmp-driver build · 0a9c643c
      Mauro Carvalho Chehab authored
      This driver was disabled back in 2015 from builds because
      of some troubles with the platform_data definition. Now
      that this got fixed, re-enable it.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      0a9c643c
    • Mauro Carvalho Chehab's avatar
      media: mmp-camera.h: add missing platform data · 8b4aa4d8
      Mauro Carvalho Chehab authored
      Those definitions used to be part of the original patch:
      	https://patchwork.kernel.org/patch/2815221/
      
      But, somehow, nobody ever noticed until today. Years later,
      Arnd discovered that mmp-camera driver doesn't build and make
      it depend on BROKEN.
      
      Add the missing bits here, in order to remove BROKEN dependency.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      8b4aa4d8