Commit Graph

19484 Commits

Author SHA1 Message Date
Mauro Carvalho Chehab
4966bac19c [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
There are several errors related to size_t size and the usage of
unsigned int for pointers:

drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_alloc_codec_buffers_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
   mfc_debug(2, "recon luma size: %d chroma size: %d\n",
   ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_set_dec_frame_buffer_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:472:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=]
   mfc_debug(2, "Luma %d: %x\n", i,
   ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:476:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=]
   mfc_debug(2, "\tChroma %d: %x\n", i,
   ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:490:4: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
    mfc_debug(2, "\tBuf1: %x, size: %d\n",
    ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:498:2: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
  mfc_debug(2, "Buf1: %u, buf_size1: %d (frames %d)\n",
  ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_set_enc_ref_buffer_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:596:2: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
  mfc_debug(2, "Buf1: %u, buf_size1: %d (ref frames %d)\n",
  ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_write_info_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1883:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  writel(data, (volatile void __iomem *)ofs);
               ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_read_info_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1893:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  ret = readl((volatile void __iomem *)ofs);
              ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_pic_type_top_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2022:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_top);
   ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_pic_type_bot_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_bot);
   ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_crop_info_h_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info1);
   ^
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_crop_info_v_v6’:
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info2);

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:48:00 -03:00
Mauro Carvalho Chehab
e13f7d5aec [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
When compiled on x86_64, several warnings popup:

drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:476:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:480:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:485:4: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:493:2: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=]
drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:59 -03:00
Mauro Carvalho Chehab
0db3241458 [media] em28xx: Fix identation
drivers/media/usb/em28xx/em28xx-audio.c:270 snd_em28xx_capture_open() warn: if statement not indented

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:59 -03:00
Mauro Carvalho Chehab
b39ba19cf3 [media] drxd: remove a dead code
drivers/media/dvb-frontends/drxd_hard.c:2839 drxd_init() info: ignoring unreachable code.

Firmware request/release is not at drxd_init. So, we can remove
that dead code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:58 -03:00
Mauro Carvalho Chehab
ae64b5ab4a [media] saa7146: remove return after BUG()
As reported by smatch:
	drivers/media/common/saa7146/saa7146_fops.c:314 fops_mmap() info: ignoring unreachable code.
	drivers/media/common/saa7146/saa7146_fops.c:402 fops_read() info: ignoring unreachable code.
	drivers/media/common/saa7146/saa7146_fops.c:426 fops_write() info: ignoring unreachable code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:57 -03:00
Mauro Carvalho Chehab
84babee8fe [media] cx88: remove return after BUG()
As reported by smatch:

drivers/media/pci/cx88/cx88-video.c:699 get_queue() info: ignoring unreachable code.
drivers/media/pci/cx88/cx88-video.c:714 get_resource() info: ignoring unreachable code.
drivers/media/pci/cx88/cx88-video.c:815 video_read() info: ignoring unreachable code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:57 -03:00
Mauro Carvalho Chehab
e2392d347e [media] cx88: fix cards table CodingStyle
This is actually a coding style issue, but it was generating lots
of smatch warnings:

drivers/media/pci/cx88/cx88-cards.c:1513:37: warning: Initializer entry defined twice
drivers/media/pci/cx88/cx88-cards.c:1517:19:   also defined here
drivers/media/pci/cx88/cx88-cards.c:1533:36: warning: Initializer entry defined twice
drivers/media/pci/cx88/cx88-cards.c:1538:19:   also defined here
...

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:56 -03:00
Mauro Carvalho Chehab
25fb62b61b [media] radio-sf16fmr2: declare some structs as static
drivers/media/radio/radio-sf16fmr2.c:308:19: warning: symbol 'fmr2_isa_driver' was not declared. Should it be static?
drivers/media/radio/radio-sf16fmr2.c:316:19: warning: symbol 'fmr2_pnp_driver' was not declared. Should it be static?

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:56 -03:00
Mauro Carvalho Chehab
24c8f11f8b [media] radio-sf16fmi: declare pnp_attached as static
drivers/media/radio/radio-sf16fmi.c:59:6: warning: symbol 'pnp_attached' was not declared. Should it be static?

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:55 -03:00
Mauro Carvalho Chehab
64e01cbd9d [media] pms: Fix a bad usage of the stack
As warned by smatch:
	drivers/media/parport/pms.c:632:21: warning: Variable length array is used.

The pms driver is doing something really bad: it is using the
stack to read data into a buffer whose size is given by the
user by the read() syscall. Replace it by a dynamically allocated
buffer.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:55 -03:00
Mauro Carvalho Chehab
5a9ff85dc1 [media] saa7164-core: declare symbols as static
Those symbols are used only at saa7164-core.

drivers/media/pci/saa7164/saa7164-core.c:55:14: warning: symbol 'fw_debug' was not declared. Should it be static?
drivers/media/pci/saa7164/saa7164-core.c:75:14: warning: symbol 'print_histogram' was not declared. Should it be static?
drivers/media/pci/saa7164/saa7164-core.c:83:14: warning: symbol 'guard_checking' was not declared. Should it be static?

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:54 -03:00
Mauro Carvalho Chehab
87f4ebcd06 [media] sta2x11_vip: fix address space casting
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30:    got void volatile [noderef] <asn:2>*iomem
drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30:    got void volatile [noderef] <asn:2>*iomem
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:226:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers)
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    expected void [noderef] <asn:2>*<noident>
drivers/media/pci/sta2x11/sta2x11_vip.c:221:38:    got void volatile [noderef] <asn:2>*

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:53 -03:00
Mauro Carvalho Chehab
8f8218e89d [media] st_rc: fix address space casting
drivers/media/rc/st_rc.c:107:38: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/st_rc.c:107:38:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:107:38:    got void *
drivers/media/rc/st_rc.c:110:53: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/st_rc.c:110:53:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:110:53:    got void *
drivers/media/rc/st_rc.c:116:54: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:116:54:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:116:54:    got void *
drivers/media/rc/st_rc.c:120:45: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/st_rc.c:120:45:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:120:45:    got void *
drivers/media/rc/st_rc.c:121:43: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/st_rc.c:121:43:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:121:43:    got void *
drivers/media/rc/st_rc.c:150:46: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/st_rc.c:150:46:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:150:46:    got void *
drivers/media/rc/st_rc.c:153:42: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:153:42:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:153:42:    got void *
drivers/media/rc/st_rc.c:174:32: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:174:32:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:174:32:    got void *
drivers/media/rc/st_rc.c:177:48: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:177:48:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:177:48:    got void *
drivers/media/rc/st_rc.c:187:48: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:187:48:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:187:48:    got void *
drivers/media/rc/st_rc.c:204:42: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:204:42:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:204:42:    got void *
drivers/media/rc/st_rc.c:205:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:205:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:205:35:    got void *
drivers/media/rc/st_rc.c:215:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:215:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:215:35:    got void *
drivers/media/rc/st_rc.c:216:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:216:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:216:35:    got void *
drivers/media/rc/st_rc.c:269:22: warning: incorrect type in assignment (different address spaces)
drivers/media/rc/st_rc.c:269:22:    expected void *base
drivers/media/rc/st_rc.c:269:22:    got void [noderef] <asn:2>*
drivers/media/rc/st_rc.c:349:46: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:349:46:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:349:46:    got void *
drivers/media/rc/st_rc.c:350:46: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:350:46:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:350:46:    got void *
drivers/media/rc/st_rc.c:371:61: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:371:61:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:371:61:    got void *
drivers/media/rc/st_rc.c:372:54: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/st_rc.c:372:54:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/st_rc.c:372:54:    got void *

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:53 -03:00
Mauro Carvalho Chehab
7f01308e54 [media] ir-hix5hd2: fix address space casting
drivers/media/rc/ir-hix5hd2.c:99:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:99:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:99:41:    got void *
drivers/media/rc/ir-hix5hd2.c💯16: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/ir-hix5hd2.c💯16:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c💯16:    got void *
drivers/media/rc/ir-hix5hd2.c:117:40: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:117:40:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:117:40:    got void *
drivers/media/rc/ir-hix5hd2.c:119:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:119:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:119:41:    got void *
drivers/media/rc/ir-hix5hd2.c:121:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:121:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:121:41:    got void *
drivers/media/rc/ir-hix5hd2.c:147:18: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:147:18:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:147:18:    got void *
drivers/media/rc/ir-hix5hd2.c:155:28: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:155:28:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:155:28:    got void *
drivers/media/rc/ir-hix5hd2.c:157:25: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:157:25:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:157:25:    got void *
drivers/media/rc/ir-hix5hd2.c:159:61: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:159:61:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:159:61:    got void *
drivers/media/rc/ir-hix5hd2.c:167:28: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:167:28:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:167:28:    got void *
drivers/media/rc/ir-hix5hd2.c:169:36: warning: incorrect type in argument 1 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:169:36:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:169:36:    got void *
drivers/media/rc/ir-hix5hd2.c:188:64: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:188:64:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:188:64:    got void *
drivers/media/rc/ir-hix5hd2.c:190:68: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:190:68:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:190:68:    got void *
drivers/media/rc/ir-hix5hd2.c:220:20: warning: incorrect type in assignment (different address spaces)
drivers/media/rc/ir-hix5hd2.c:220:20:    expected void *base
drivers/media/rc/ir-hix5hd2.c:220:20:    got void [noderef] <asn:2>*
drivers/media/rc/ir-hix5hd2.c:315:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:315:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:315:41:    got void *
drivers/media/rc/ir-hix5hd2.c:316:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:316:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:316:41:    got void *
drivers/media/rc/ir-hix5hd2.c:317:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:317:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:317:41:    got void *
drivers/media/rc/ir-hix5hd2.c:318:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/rc/ir-hix5hd2.c:318:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/rc/ir-hix5hd2.c:318:41:    got void *

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:52 -03:00
Mauro Carvalho Chehab
d51a12c962 [media] as102: fix endiannes casts
Smatch complains a lot about endiannes issues on as102:

drivers/media/usb/as102/as10x_cmd_stream.c:41:47: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_stream.c:41:47:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_stream.c:41:47:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_stream.c:43:43: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_stream.c:43:43:    expected unsigned short [unsigned] [usertype] pid
drivers/media/usb/as102/as10x_cmd_stream.c:43:43:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_stream.c:98:47: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_stream.c:98:47:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_stream.c:98:47:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_stream.c💯43: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_stream.c💯43:    expected unsigned short [unsigned] [usertype] pid
drivers/media/usb/as102/as10x_cmd_stream.c💯43:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_stream.c:142:48: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_stream.c:142:48:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_stream.c:142:48:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_stream.c:185:47: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_stream.c:185:47:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_stream.c:185:47:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:46:40:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_cfg.c:46:40:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:47:36:    expected unsigned short [unsigned] [usertype] tag
drivers/media/usb/as102/as10x_cmd_cfg.c:47:36:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:48:37:    expected unsigned short [unsigned] [usertype] type
drivers/media/usb/as102/as10x_cmd_cfg.c:48:37:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:72:27: warning: cast to restricted __le32
drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:102:40:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_cfg.c:102:40:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:104:50:    expected unsigned int [unsigned] [usertype] value32
drivers/media/usb/as102/as10x_cmd_cfg.c:104:50:    got restricted __le32 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:105:36:    expected unsigned short [unsigned] [usertype] tag
drivers/media/usb/as102/as10x_cmd_cfg.c:105:36:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:106:37:    expected unsigned short [unsigned] [usertype] type
drivers/media/usb/as102/as10x_cmd_cfg.c:106:37:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd_cfg.c:156:48:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd_cfg.c:156:48:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd_cfg.c:197:14: warning: cast to restricted __le16
drivers/media/usb/as102/as10x_cmd.c:40:40: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:40:40:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:40:40:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:81:41: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:81:41:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:81:41:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:123:41: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:123:41:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:123:41:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:124:43: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:124:43:    expected unsigned int [unsigned] [usertype] freq
drivers/media/usb/as102/as10x_cmd.c:124:43:    got restricted __le32 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:178:48: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:178:48:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:178:48:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:202:17: warning: cast to restricted __le16
drivers/media/usb/as102/as10x_cmd.c:203:24: warning: cast to restricted __le16
drivers/media/usb/as102/as10x_cmd.c:204:24: warning: cast to restricted __le16
drivers/media/usb/as102/as10x_cmd.c:230:48: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:230:48:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:230:48:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:262:25: warning: cast to restricted __le16
drivers/media/usb/as102/as10x_cmd.c:289:48: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:289:48:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:289:48:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:313:17: warning: cast to restricted __le32
drivers/media/usb/as102/as10x_cmd.c:315:17: warning: cast to restricted __le32
drivers/media/usb/as102/as10x_cmd.c:317:17: warning: cast to restricted __le32
drivers/media/usb/as102/as10x_cmd.c:319:17: warning: cast to restricted __le16
drivers/media/usb/as102/as10x_cmd.c:349:48: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:349:48:    expected unsigned short [unsigned] [usertype] proc_id
drivers/media/usb/as102/as10x_cmd.c:349:48:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:387:29: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:387:29:    expected unsigned short [unsigned] [usertype] req_id
drivers/media/usb/as102/as10x_cmd.c:387:29:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:388:27: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:388:27:    expected unsigned short [unsigned] [usertype] prog
drivers/media/usb/as102/as10x_cmd.c:388:27:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:389:30: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:389:30:    expected unsigned short [unsigned] [usertype] version
drivers/media/usb/as102/as10x_cmd.c:389:30:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:390:31: warning: incorrect type in assignment (different base types)
drivers/media/usb/as102/as10x_cmd.c:390:31:    expected unsigned short [unsigned] [usertype] data_len
drivers/media/usb/as102/as10x_cmd.c:390:31:    got restricted __le16 [usertype] <noident>
drivers/media/usb/as102/as10x_cmd.c:408:14: warning: cast to restricted __le16

This happens because of the command endiannes that are sent/received to
the firmware. So, add the correct endiannes tags to the command fields.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:52 -03:00
Mauro Carvalho Chehab
71d1b2bec0 [media] dvb_frontend: Fix __user namespace
As reported by smatch:

drivers/media/dvb-core/dvb_frontend.c:1960:45: warning: incorrect type in argument 2 (different address spaces)
drivers/media/dvb-core/dvb_frontend.c:1960:45:    expected void const [noderef] <asn:1>*from
drivers/media/dvb-core/dvb_frontend.c:1960:45:    got struct dtv_property *[noderef] <asn:1>props
drivers/media/dvb-core/dvb_frontend.c:1992:45: warning: incorrect type in argument 2 (different address spaces)
drivers/media/dvb-core/dvb_frontend.c:1992:45:    expected void const [noderef] <asn:1>*from
drivers/media/dvb-core/dvb_frontend.c:1992:45:    got struct dtv_property *[noderef] <asn:1>props
drivers/media/dvb-core/dvb_frontend.c:2014:38: warning: incorrect type in argument 1 (different address spaces)
drivers/media/dvb-core/dvb_frontend.c:2014:38:    expected void [noderef] <asn:1>*to
drivers/media/dvb-core/dvb_frontend.c:2014:38:    got struct dtv_property *[noderef] <asn:1>props
drivers/media/dvb-core/dvb_frontend.c:1946:17: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1947:17: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1951:22: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1951:42: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1954:31: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1960:41: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1960:54: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1965:33: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1978:17: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1979:17: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1983:22: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1983:42: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1986:31: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1992:41: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:1992:54: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:2007:33: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:2014:34: warning: dereference of noderef expression
drivers/media/dvb-core/dvb_frontend.c:2014:52: warning: dereference of noderef expression

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:52 -03:00
Mauro Carvalho Chehab
289297b9a3 [media] as102_drv.h: added a missing newline
drivers/media/usb/as102/as102_drv.h:83:6: warning: no newline at end of file

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:51 -03:00
Mauro Carvalho Chehab
dc11ef78e7 [media] s5p_mfc_opr_v6: remove address space removal warnings
Smatch still has 3 warnings for s5p_mfc_opr_v6:

drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:18: warning: cast removes address space of expression
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:18: warning: cast removes address space of expression
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:18: warning: cast removes address space of expression

Remove them.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:50 -03:00
Mauro Carvalho Chehab
b5e4d33070 [media] s5p_mfc_opr_v6: fix wrong type for registers
As reported by smatch, there are several warnings related to bad
types for registers. Worse than that, there are too many errors,
preventing smatch to warn about real issues. So, fix them:

drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35:    got void *const d_stream_data_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34:    got void *const d_cpb_buffer_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39:    got void *const d_cpb_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40:    got void *const d_cpb_buffer_offset
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46:    got void *const d_num_dpb
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40:    got void *const d_first_plane_dpb_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42:    got void *const d_second_plane_dpb_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35:    got void *const d_scratch_buffer_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47:    got void *const d_scratch_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33:    got void *const d_first_plane_dpb_stride_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33:    got void *const d_second_plane_dpb_stride_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46:    got void *const d_mv_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47:    got void *const d_num_mv
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61:    got void *
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62:    got void *
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65:    got void *
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38:    got void *const instance_id
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30:    got void *const e_stream_buffer_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30:    got void *const e_stream_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32:    got void *const e_source_first_plane_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32:    got void *const e_source_second_plane_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33:    got void *const e_encoded_source_first_plane_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33:    got void *const e_encoded_source_second_plane_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42:    got void *const e_recon_luma_dpb_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42:    got void *const e_recon_chroma_dpb_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56:    got void *
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58:    got void *
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57:    got void *
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35:    got void *const e_scratch_buffer_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47:    got void *const e_scratch_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35:    got void *const e_tmv_buffer0
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35:    got void *const e_tmv_buffer1
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38:    got void *const instance_id
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41:    got void *const e_mslice_mode
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52:    got void *const e_mslice_size_mb
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54:    got void *const e_mslice_size_bits
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37:    got void *const e_mslice_size_mb
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37:    got void *const e_mslice_size_bits
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40:    got void *const e_frame_width
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41:    got void *const e_frame_height
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40:    got void *const e_cropped_frame_width
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41:    got void *const e_cropped_frame_height
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29:    got void *const e_frame_crop_offset
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29:    got void *const e_gop_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45:    got void *const e_ir_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37:    got void *const pixel_format
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37:    got void *const pixel_format
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37:    got void *const pixel_format
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29:    got void *const e_padding_ctrl
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37:    got void *const e_padding_ctrl
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29:    got void *const e_rc_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33:    got void *const e_rc_bit_rate
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35:    got void *const e_rc_bit_rate
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43:    got void *const e_rc_mode
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43:    got void *const e_rc_mode
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29:    got void *const e_enc_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29:    got void *const e_rc_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29:    got void *const e_rc_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29:    got void *const e_mv_hor_range
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29:    got void *const e_mv_ver_range
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29:    got void *const e_frame_insertion
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29:    got void *const e_roi_buffer_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29:    got void *const e_param_change
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29:    got void *const e_rc_roi_ctrl
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29:    got void *const e_picture_tag
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29:    got void *const e_bit_count_enable
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29:    got void *const e_max_bit_count
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29:    got void *const e_min_bit_count
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29:    got void *const e_metadata_buffer_addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29:    got void *const e_metadata_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29:    got void *const e_gop_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29:    got void *const e_gop_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29:    got void *const e_picture_profile
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29:    got void *const e_rc_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29:    got void *const e_rc_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29:    got void *const e_rc_config
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29:    got void *const e_rc_qp_bound
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29:    got void *const e_fixed_picture_qp
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37:    got void *const e_fixed_picture_qp
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37:    got void *const e_rc_frame_rate
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41:    got void *const e_vbv_buffer_size
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54:    got void *const e_vbv_init_delay
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: warning: incorrect type in argument 2 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29:    got void *const e_h264_options
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:881:41: warning: too many warnings

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:49 -03:00
Mauro Carvalho Chehab
d7fa7b0e5f [media] s5p_mfc_opr_v5: fix smatch warnings
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: warning: incorrect type in argument 2 (different modifiers)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23:    expected void volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23:    got void const volatile [noderef] <asn:2>*<noident>
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: warning: incorrect type in argument 1 (different address spaces)
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36:    expected void const volatile [noderef] <asn:2>*addr
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36:    got void *

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:49 -03:00
Mauro Carvalho Chehab
ca5ea0c5df [media] s5p_mfc: use static for some structs
drivers/media/platform/s5p-mfc/s5p_mfc.c:1334:28: warning: symbol 'mfc_buf_size_v5' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1341:25: warning: symbol 'buf_size_v5' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1347:26: warning: symbol 'mfc_buf_align_v5' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1360:28: warning: symbol 'mfc_buf_size_v6' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1368:25: warning: symbol 'buf_size_v6' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1374:26: warning: symbol 'mfc_buf_align_v6' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1392:28: warning: symbol 'mfc_buf_size_v7' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1400:25: warning: symbol 'buf_size_v7' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1406:26: warning: symbol 'mfc_buf_align_v7' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1419:28: warning: symbol 'mfc_buf_size_v8' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1427:25: warning: symbol 'buf_size_v8' was not declared. Should it be static?
drivers/media/platform/s5p-mfc/s5p_mfc.c:1433:26: warning: symbol 'mfc_buf_align_v8' was not declared. Should it be static?

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:48 -03:00
Ulf Hansson
c5d28e2983 [media] coda: Improve runtime PM support
For several reasons it's good practice to leave devices in runtime PM
active state while those have been probed.

In this cases we also want to prevent the device from going inactive,
until the firmware has been completely installed, especially when using
a PM domain.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:48 -03:00
Sjoerd Simons
7c672812fe [media] s5p-mfc: Use decode status instead of display status on MFCv5
Commit 90c0ae5009 changed how the frame_type of a decoded frame
gets determined, by switching from the get_dec_frame_type to
get_disp_frame_type operation. Unfortunately it seems that on MFC v5 the
result of get_disp_frame_type is always 0 (no display) when decoding
(tested with H264), resulting in no frame ever being output from the
decoder.

This patch reverts MFC v5 to the previous behaviour while keeping the
new behaviour for v6 and up.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:47 -03:00
ayaka
7e8fe13dc3 [media] s5p-mfc: fix enum_fmt for s5p-mfc
As the s5p-mfc is a driver which use  multiplanar api, so the
vidioc_enum_fmt_vid serial of ioctl should only for
multiplanar, non-multiplanar shouldn't be implemented at all.

Signed-off-by: ayaka <ayaka@soulik.info>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:47 -03:00
Kamil Debski
e2c3be2aff [media] s5p-mfc: Fix sparse errors in the MFC driver
The following error: "error: incompatible types in conditional expression
(different base types)" was reported multiple times for the s5p-mfc
driver. This error was caused by two macro definitions - s5p_mfc_hw_call
(in s5p_mfc_common.h) and WRITEL (in s5p_mfc_opr_v6.c).

In the former case the macro assumed that all ops return a value, but some
ops return void. The solution to this problem was the addition of a
s5p_mfc_hw_call_void macro.

In the latter case the macro used the ?: construction to check whether
the address is non zero. This is not necessary after the driver left the
development and debugging cycle, so the READL and WRITEL macros were
removed.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:46 -03:00
Zhaowei Yuan
9aee8b80a8 [media] s5p_mfc: unify variable naming style
Variable frame_size represents the size of plane luminance
here, not just frame size, its naming style should be unified
as frame_size_ch and frame_size_mv.

Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:46 -03:00
Zhaowei Yuan
00684dab28 [media] s5p_mfc: correct the loop condition
It should take ctx->dst_fmt->num_planes as
the loop condition for CAPTURE.

Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:45 -03:00
Olli Salonen
327eeb3a1a [media] si2168: add FE_CAN_MULTISTREAM into caps
PLP selection was implemented for Si2168 last month (patchwork 25387). However, FE_CAN_MULTISTREAM was not added to dvb_frontend_ops of si2168. This patch adds FE_CAN_MULTISTREAM, which indicates that multiple PLP are supported.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Acked-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:44 -03:00
Kazunori Kobayashi
c710f591a6 [media] soc_camera: Support VIDIOC_EXPBUF ioctl
This patch allows for exporting a dmabuf descriptor from soc_camera drivers.

Signed-off-by: Kazunori Kobayashi <kkobayas@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:44 -03:00
Dan Carpenter
5d6de11c33 [media] mx2-camera: potential negative underflow bug
My static checker complains:

	drivers/media/platform/soc_camera/mx2_camera.c:1070
	mx2_emmaprp_resize() warn: no lower bound on 'num'

The heuristic is that it's looking for values which the user can
influence and we put an upper bound on them but we (perhaps
accidentally) allow negative numbers.

I am not very familiar with this code but I have looked at it and think
there might be a bug.  Making the variable unsigned seems like a safe
option either way and this silences the static checker warning.

The call tree is:
  -> subdev_do_ioctl()
     -> mx2_camera_set_fmt()
        -> mx2_emmaprp_resize()
The check:
	if (num > RESIZE_NUM_MAX)
can underflow and then we use "num" on the else path.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:43 -03:00
Sergei Shtylyov
197a47f2d5 [media] rcar_vin: fix error message in rcar_vin_get_formats()
The dev_err() call is supposed to output <width>x<height> in decimal but one of
the format specifiers is "%x" instead of "%u" (most probably due  to a typo).

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:43 -03:00
Mauro Carvalho Chehab
2ea12442e3 [media] tc90522: fix compilation on 32 bits
drivers/built-in.o: In function `tc90522t_get_frontend':
>> tc90522.c:(.text+0x260b64c): undefined reference to `__divdi3'
>> tc90522.c:(.text+0x260b685): undefined reference to `__divdi3'
>> tc90522.c:(.text+0x260b6bb): undefined reference to `__divdi3'
>> tc90522.c:(.text+0x260b713): undefined reference to `__divdi3'
   drivers/built-in.o:tc90522.c:(.text+0x260bb64): more undefined references to `__divdi3' follow

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:42 -03:00
Mauro Carvalho Chehab
46cebe017a [media] qm1d1c0042: fix compilation on 32 bits
drivers/built-in.o: In function `qm1d1c0042_set_params':
>> qm1d1c0042.c:(.text+0x2519730): undefined reference to `__divdi3'

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26 06:47:42 -03:00
Mark Brown
19f94f9700 v4l2-pci-skeleton: Only build if PCI is available
Currently arm64 does not support PCI but it does support v4l2. Since the
PCI skeleton driver is built unconditionally as a module with no dependency
on PCI this causes build failures for arm64 allmodconfig. Fix this by
defining a symbol VIDEO_PCI_SKELETON for the skeleton and conditionalising
the build on that.

Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org> [added VIDEO dependencies]
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2014-09-26 11:02:58 +02:00
Olli Salonen
5b5560842a [media] af9035: Add support for IT930x USB bridge
Add support for IT930x USB bridge and IT9303 reference design.

It is a DVB-T/T2/C tuner with the following components:
- IT9303 USB bridge
- Si2168-B40 demodulator
- Si2147-A30 tuner

The IT9303 requires firmware that can be downloaded here:
http://trsqr.net/olli/linux/firmwares/it930x/

The Si2168-B40 requires firmware, but the one that is used by PCTV 292e can be used.
http://palosaari.fi/linux/v4l-dvb/firmware/Si2168/Si2168-B40/

The Si2147-A30 tuner does not require firmware loading.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 21:49:42 -03:00
Olli Salonen
5dcf5bf6d9 [media] af9035: Add possibility to define which I2C adapter to use
Some I2C tuner drivers require that the I2C device of the tuner is added
to the I2C adapter of the demodulator (Si2168+Si2157 for example). Add
possibility to tell af9035_add_i2c_dev which I2C adapter should be used.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 21:47:28 -03:00
Olli Salonen
2944226622 [media] cx23855: add support for DVBSky T9580 DVB-C/T2/S2 tuner
DVBSky T9580 is a dual tuner card with one DVB-T2/C tuner and one DVB-S2 tuner. It contains the following components:

- PCIe bridge: Conexant CX23885
- Demod for terrestrial/cable: Silicon Labs Si2168-A30
- Tuner for terrestrial/cable: Silicon Labs Si2158-A20
- Demod for sat: Montage DS3103
- Tuner for sat: Montage TS2022

This patch depends on Max Nibble's patch for m88ds3103 (see patchwork 25312: https://patchwork.linuxtv.org/patch/25312/ ).

3 firmwares are needed:
- Si2168-A30 demod and Si2158-A20 tuner: same as TechnoTrend CT2-4400, https://www.mail-archive.com/linux-media@vger.kernel.org/msg76944.html
- Montage DS3103 demod: same as PCTV 461e, Antti has it on his LinuxTV project page: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/

IR receiver is not supported.

Values in cx23885_gpio_setup, cx23885_card_setup and dvbsky_t9580_set_voltage as well as the EEPROM read function are taken from the manufacturer provided semi-open source driver. The drivers in question are Linux GPL'd media tree drivers for cx23885 modified by Max Nibble (nibble.max@gmail.com) with proprietary tuner/demod drivers. Max is aware of this patch and has approved my use of the values in this patch.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 21:33:16 -03:00
Olli Salonen
5cd3b6b40d [media] cx23855: add frontend set voltage function into state
Setting the LNB voltage requires setting some GPIOs on the cx23885 with some boards before calling the actual set_voltage function in the demod driver. Add a function pointer into state for that case.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Acked-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 21:30:43 -03:00
Olli Salonen
b0b12e63f9 [media] cx23885: add i2c client handling into dvb_unregister and state
Prepare cx23885 driver for handling I2C client that is needed for certain demodulators and tuners (for example Si2168 and Si2157). I2C client for tuner and demod stored in state and unregistering of the I2C devices added into dvb_unregister.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 21:30:24 -03:00
Mauro Carvalho Chehab
49310ed0ab [media] pt3: make pt3_pm_ops() static
drivers/media/pci/pt3/pt3.c:862:1: warning: symbol 'pt3_pm_ops' was not declared. Should it be static?

Cc: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 18:47:17 -03:00
Mauro Carvalho Chehab
70dc536337 [media] tc90522: declare tc90522_functionality as static
drivers/media/dvb-frontends/tc90522.c:706:5: warning: symbol 'tc90522_functionality' was not declared. Should it be static?
drivers/media/dvb-frontends/tc90522.c:706:5: warning: no previous prototype for 'tc90522_functionality' [-Wmissing-prototypes]
 u32 tc90522_functionality(struct i2c_adapter *adap)
     ^

Cc: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:04:01 -03:00
Akihiro Tsukada
f5a98f37a5 [media] pt3: add support for Earthsoft PT3 ISDB-S/T receiver card
This patch adds support for PT3 PCIe cards.
PT3 has an FPGA PCIe bridge chip, a TC90522 demod chip and
a VA4M6JC2103 tuner module which contains two QM1D1C0042 chips for ISDB-S
and two MxL301RF's for ISDB-T.
It can receive and deliver 4 (2x ISDB-S, 2x ISDB-T) streams simultaneously,
and a kthread is used per stream to poll incoming data,
because PT3 does not have interrupts.

As an antenna input for each delivery system is split in the tuner module
and shared between the corresponding two tuner chips,
LNB/LNA controls that the FPGA chip provides are (naturally) shared as well.
The tuner chips also share the power line in the tuner module,
which is controlled on/off by a GPIO pin of the demod chip.

As with the demod chip and the ISDB-T tuner chip,
the init sequences/register settings for those chips are not disclosed
and stored in a private memory of the FPGA,
PT3 driver executes the init of those chips on behalf of their drivers.

Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:04:01 -03:00
Akihiro Tsukada
f5d82a75e6 [media] tc90522: add driver for Toshiba TC90522 quad demodulator
This patch adds driver for tc90522 demodulator chips.
The chip contains 4 demod modules that run in parallel and are independently
controllable via separate I2C addresses.
Two of the modules are for ISDB-T and the rest for ISDB-S.
It is used in earthsoft pt3 cards.

Note that this driver does not init the chip,
because the initilization sequence / register setting is not disclosed.
Thus, the driver assumes that the chips are initilized externally
by its parent board driver before fe->ops->init() are called.
Earthsoft PT3 PCIe card, for example, contains the init sequence
in its private memory and provides a command to trigger the sequence.

Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:04:00 -03:00
Akihiro Tsukada
7608f575b8 [media] qm1d1c0042: add driver for Sharp QM1D1C0042 ISDB-S tuner
This patch adds driver for qm1d1c0042 tuner chips.
It is used as an ISDB-S tuner in earthsoft pt3 cards.

Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:04:00 -03:00
Akihiro Tsukada
aff0c42a78 [media] mxl301rf: add driver for MaxLinear MxL301RF OFDM tuner
This patch adds driver for mxl301rf OFDM tuner chips.
It is used as an ISDB-T tuner in earthsoft pt3 cards.

Note that this driver does not initilize the chip,
because the initilization sequence / register setting is not disclosed.
Thus, the driver assumes that the chips are initilized externally
by its parent board driver before tuner_ops->init() are called,
like in PT3 driver where the bridge chip contains the init sequence
in its private memory and provides a command to trigger the sequence.

Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:03:59 -03:00
Joe Perches
0f531e7356 [media] tda18271-common: Convert _tda_printk to return void
No caller or macro uses the return value so make it void.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:03:59 -03:00
Srinivas Kandagatla
da8e77f5e9 [media] media: st-rc: Remove .owner field for driver
There is no need to init .owner field.

Based on the patch from Peter Griffin <peter.griffin@linaro.org>
"mmc: remove .owner field for drivers using module_platform_driver"

This patch removes the superflous .owner field for drivers which
use the module_platform_driver API, as this is overriden in
platform_driver_register anyway."

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Acked-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:03:58 -03:00
Srinivas Kandagatla
cdd9a6316b [media] media: st-rc: move pm ops setup out of conditional compilation
This patch moves setting of pm_ops out of the CONFIG_PM_SLEEP condition.
Setting pm ops under CONFIG_PM_SLEEP does not make any sense.
This patch also remove unnecessary also remove CONFIG_PM condition for pm
member in st_rc_driver structure.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:03:58 -03:00
Srinivas Kandagatla
89d7ce5a0f [media] media: st-rc: move to using reset_control_get_optional
This patch fixes a compilation error while building with the
random kernel configuration.

drivers/media/rc/st_rc.c: In function 'st_rc_probe':
drivers/media/rc/st_rc.c:281:2: error: implicit declaration of
function 'reset_control_get' [-Werror=implicit-function-declaration]
  rc_dev->rstc = reset_control_get(dev, NULL);

drivers/media/rc/st_rc.c:281:15: warning: assignment makes pointer
from integer without a cast [enabled by default]
  rc_dev->rstc = reset_control_get(dev, NULL);

Reported-by: Jim Davis <jim.epost@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:03:57 -03:00
Guoxiong Yan
a84fcdaa90 [media] rc: Introduce hix5hd2 IR transmitter driver
IR transmitter driver for Hisilicon hix5hd2 soc

By default all protocols are disabled.
For example nec decoder can be enabled by either
1. ir-keytable -p nec
2. echo nec > /sys/class/rc/rc0/protocols
See see Documentation/ABI/testing/sysfs-class-rc

[mchehab@osg.samsung.com: Add a fixup for the driver to compile on
 archs that don't provide writel_relaxed() macro]
Signed-off-by: Guoxiong Yan <yanguoxiong@huawei.com>
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 17:03:57 -03:00
nibble.max
67cbf633c8 [media] rc: add a map for DVBSky devices.
This is a RC5 remote controller map for DVBSky S860/960 devices.

Signed-off-by: Nibble Max <nibble.max@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:50 -03:00
nibble.max
af64fb3fa4 [media] dvbsky: new driver to support DVBSky S860/S960 devices
Support for DVBSky dvb-s2 usb: add dvb-usb-v2 driver for DVBSky dvb-s2
box, no ci support yet.

Signed-off-by: Nibble Max <nibble.max@gmail.com>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:50 -03:00
Shuah Khan
27ccd694bb [media] media: tuner xc5000 - try to avoid firmware load in resume path
xc5000 doesn't load firmware at attach time instead loads it
when it needs to set and change configuration from its init,
frequency, digital and analog mode set interffaces. As a result,
when system is suspended before firmware is loaded, firmware
load can be avoided during resume. Loading formware in this
scenario results in slowpath warnings during resume as it won't
be in the suspend firmware cache.

Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:49 -03:00
Shuah Khan
5264a522a5 [media] media: tuner xc5000 - release firmwware from xc5000_release()
xc5000 releases firmware right after loading it. Change it to
save the firmware and release it from xc5000_release(). This
helps avoid fecthing firmware when forced firmware load requests
come in to change analog tv frequence and when firmware needs to
be reloaded after suspend and resume.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:48 -03:00
Mauro Carvalho Chehab
8eb988f1be [media] saa7134: Remove unused status var
drivers/media/pci/saa7134/saa7134-go7007.c: In function ‘saa7134_go7007_interface_reset’:
drivers/media/pci/saa7134/saa7134-go7007.c:147:6: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
2014-09-23 16:13:48 -03:00
Mauro Carvalho Chehab
23ea6ec078 [media] saa7134: Remove some casting warnings
drivers/media/pci/saa7134/saa7134-go7007.c:247:17: warning: incorrect type in argument 1 (different base types)
drivers/media/pci/saa7134/saa7134-go7007.c:247:17:    expected unsigned int [unsigned] val
drivers/media/pci/saa7134/saa7134-go7007.c:247:17:    got restricted __le32 [usertype] <noident>
drivers/media/pci/saa7134/saa7134-go7007.c:252:17: warning: incorrect type in argument 1 (different base types)
drivers/media/pci/saa7134/saa7134-go7007.c:252:17:    expected unsigned int [unsigned] val
drivers/media/pci/saa7134/saa7134-go7007.c:252:17:    got restricted __le32 [usertype] <noident>
drivers/media/pci/saa7134/saa7134-go7007.c:299:9: warning: incorrect type in argument 1 (different base types)
drivers/media/pci/saa7134/saa7134-go7007.c:299:9:    expected unsigned int [unsigned] val
drivers/media/pci/saa7134/saa7134-go7007.c:299:9:    got restricted __le32 [usertype] <noident>
drivers/media/pci/saa7134/saa7134-go7007.c:300:9: warning: incorrect type in argument 1 (different base types)
drivers/media/pci/saa7134/saa7134-go7007.c:300:9:    expected unsigned int [unsigned] val
drivers/media/pci/saa7134/saa7134-go7007.c:300:9:    got restricted __le32 [usertype] <noident>

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:47 -03:00
Mauro Carvalho Chehab
aff440fa61 [media] saa7134: Fix compilation breakage when go7007 is not selected
All error/warnings:

   drivers/built-in.o: In function `saa7134_go7007_fini':
>> saa7134-go7007.c:(.text+0x3b628b): undefined reference to `go7007_snd_remove'
   drivers/built-in.o: In function `saa7134_go7007_interface_reset':
>> saa7134-go7007.c:(.text+0x3b659a): undefined reference to `go7007_read_interrupt'
   drivers/built-in.o: In function `saa7134_go7007_init':
>> saa7134-go7007.c:(.text+0x3b65fa): undefined reference to `go7007_alloc'
>> saa7134-go7007.c:(.text+0x3b66ed): undefined reference to `go7007_boot_encoder'
>> saa7134-go7007.c:(.text+0x3b66fe): undefined reference to `go7007_register_encoder'
   drivers/built-in.o: In function `saa7134_go7007_irq_ts_done':
>> saa7134-go7007.c:(.text+0x3b6c2a): undefined reference to `go7007_parse_video_stream'
>> saa7134-go7007.c:(.text+0x3b6c86): undefined reference to `go7007_parse_video_stream'

This happens when:
 - VIDEO_SAA7134 is either 'm' or 'y'
 - VIDEO_GO7007 is not selected.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:47 -03:00
Hans Verkuil
452015de2e [media] saa7134: add saa7134-go7007
This patch adds support to saa7134 for 'WIS Voyager or compatible' PCI boards
such as the Sensoray model 614 with which this patch was tested. It is a
saa7134-based PCI board with a go7007 MPEG encoder. This was a patch when the
go7007 was still in staging and was not applied when go7007 was moved to
drivers/media since it needed more work.

That work is now done and this last piece of go7007 support can now go in.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:46 -03:00
Hans Verkuil
033d008821 [media] saa7134: also capture the WSS signal for 50 Hz VBI capture
The saa7134 driver missed capturing line 23 of the VBI area for the
50 Hz formats. Include that line in the VBI capture.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:46 -03:00
Hans Verkuil
017ab36a8b [media] v4l2-ioctl.c: fix inverted condition
v4l_print_ext_controls() would print the 'size' if it was 0 and
'value' if size was non-zero, but it should have been the other
way around.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:45 -03:00
Dan Carpenter
692f637522 [media] davinci: remove an unneeded check
We don't need to check "ret", we know it's zero.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:45 -03:00
Dan Carpenter
271430efb2 [media] as102: remove some unneeded checks
We know "ret" is zero so we don't need to test for it.  It upsets the
static checkers when we test stuff but we know the answer.

drivers/media/usb/as102/as102_usb_drv.c:164 as102_send_ep1() warn: we tested 'ret' before and it was 'false'
drivers/media/usb/as102/as102_usb_drv.c:189 as102_read_ep2() warn: we tested 'ret' before and it was 'false'

Also, we don't need to initialize "ret".

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:44 -03:00
Amber Thrall
146af9cb80 [media] Media: USB: usbtv: Fixed all coding style issues in usbtv source files
Fixed various coding styles, ignoring coding style error on line 5 for all files containing a link that is longer than 80 characters long.

Signed-off-by: Amber Thrall <amber.rose.thrall@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:44 -03:00
Alexey Khoroshilov
e87cb47089 [media] imon: fix usbdev leaks
imon_probe() does three usb_get_dev(), but there is no any
usb_put_dev() in the driver.

The patch adds usb_put_dev() to error paths, to imon_disconnect()
and to imon_probe() as far as usbdev is not saved anywhere.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:43 -03:00
Maciej Matraszek
3bacc10cd4 [media] v4l2-common: fix overflow in v4l_bound_align_image()
Fix clamp_align() used in v4l_bound_align_image() to prevent overflow
when passed large value like UINT32_MAX.

 In the current implementation:
    clamp_align(UINT32_MAX, 8, 8192, 3)

returns 8, because in line:

    x = (x + (1 << (align - 1))) & mask;

x overflows to (-1 + 4) & 0x7 = 3, while expected value is 8192.

v4l_bound_align_image() is heavily used in VIDIOC_S_FMT and
VIDIOC_SUBDEV_S_FMT ioctls handlers, and documentation of the latter
explicitly states that:

"The modified format should be as close as possible to the original
request."
  -- http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-subdev-g-fmt.html

Thus one would expect, that passing UINT32_MAX as format width and
height will result in setting maximum possible resolution for the
device. Particularly, when the driver doesn't support
VIDIOC_ENUM_FRAMESIZES ioctl, which is common in the codebase.

Fixes changeset: b0d3159be9

Signed-off-by: Maciej Matraszek <m.matraszek@samsung.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:43 -03:00
Frank Schaefer
43c3ea312c [media] em28xx: remove dead code line from em28xx_audio_setup()
Setting the value of the chip config register to EM28XX_CHIPCFG_AC97 in
case of a read error is a leftover from the past which is no longer
needed.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:42 -03:00
Frank Schaefer
920f1e4a52 [media] em28xx: get rid of field has_audio in struct em28xx_audio_mode
Field has_audio in struct em28xx_audio_mode is used together with value
EM28XX_NO_AC97 of field ac97 to determine the internal type of audio
(none/i2s/ac97). This makes the code difficult to understand:

  !audio_mode.has_audio && audio_mode.ac97 == EM28XX_NO_AC97 => no audio
  !audio_mode.has_audio && audio_mode.ac97 != EM28XX_NO_AC97 => BUG
  audio_mode.has_audio  && audio_mode.ac97 == EM28XX_NO_AC97 => AC97 audio
  audio_mode.has_audio  && audio_mode.ac97 != EM28XX_NO_AC97 => I2S audio

Simplify the whole thing by introducing an enum em28xx_int_audio_type
which describes the internal audio type (none, ac97, i2s) and is hooked
directly to the device struct. Then get rid of field has_audio in struct
em28xx_audio_mode.

A follow-up patch will then remove struct em28xx_ac97_mode and finally
the whole struct em28xx_audio_mode.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:42 -03:00
Frank Schaefer
c5874208ff [media] em28xx: simplify usb audio class handling
As far as we know devices can either have audio class or vendor class
usb interfaces but not both at the same time. Even if both interface
types could be provided by devices at the same time, the current code is
totally broken for that case.

So clean up and simplify the usb audio class handling by replacing
fields "has_audio_class" (device has usb audio class compliant
interface) and "has_alsa_audio" (device has vendor audio interface) in
struct em28xx with a single enum em28xx_usb_audio_type.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:41 -03:00
Frank Schaefer
60a24ba03c [media] em28xx: remove some unnecessary fields from struct em28xx_audio_mode
Fields "ac97_feat", "ac97_vendor_id" and "i2s_samplerates" of struct
em28xx_audio_mode are used nowhere, except in function
em28xx_audio_setup(). So get rid of them and use local variables
instead.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:41 -03:00
Olli Salonen
d87a50586d [media] si2157: Add support for Si2147-A30 tuner
This patch adds support for Si2147-A30 tuner. Fairly trivial, no firmware needed for this tuner. However, command 14 00 02 07 01 00 seems to be mandatory. On Si2157 and Si2158 the value 0x0100 is the default value, so this patch does not impact the existing tuners/devices. On Si2147 the default is 0x0000 and I can't get a lock with that value.

While here, fix the return length of the previous set command to 4 bytes.

Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Acked-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:39 -03:00
Dan Carpenter
7ac95cf59d [media] firewire: firedtv-avc: fix more potential buffer overflow
"program_info_length" is user controlled and can go up to 4095.  The
operand[] array has 509 bytes so we need to add a limit here to prevent
buffer overflows.

The " - 4" in the limit check is because we have 4 bytes more data to
add after the memcpy().

[mchehab@osg.samsung.com: as I merged the version 1 of the patch, I needed
 to rebase to apply just the differences between v1 and v2]
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:39 -03:00
Dan Carpenter
cf3b576d52 [media] dvb: si21xx: buffer overflow in si21_writeregs()
"len" is user controlled and can be up to 255.  Anything more than 59
will cause a buffer overflow so we need to add a test for that.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:38 -03:00
Alexey Khoroshilov
e947d9ad8a [media] mceusb: fix usbdev leak
mceusb_init_rc_dev() does usb_get_dev(), but there is no any
usb_put_dev() in the driver.

The patch tries to straighten logic. It moves usb_get_dev()
directly to mceusb_dev_probe() and adds usb_put_dev() to an error path
and to mceusb_dev_disconnect().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:38 -03:00
Dan Carpenter
3011e5e592 [media] firewire: firedtv-avc: potential buffer overflow
"program_info_length" is user controlled and can go up to 4095.  The
operand[] array has 509 bytes so we need to add a limit here to prevent
buffer overflows.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:37 -03:00
Dan Carpenter
f2e323ec96 [media] ttusb-dec: buffer overflow in ioctl
We need to add a limit check here so we don't overflow the buffer.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:37 -03:00
Andy Shevchenko
9380e112f7 [media] hdpvr: reduce memory footprint when debugging
There is no need to use hex_dump_to_buffer() since we have a kernel helper to
dump up to 64 bytes just via printk().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:36 -03:00
Frank Schaefer
fb91bde9d3 [media] em28xx: check if a device has audio earlier"
GIT_AUTHOR_DATE=1409603039
This reverts

commit b99f0aadd3
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>

    [media] em28xx: check if a device has audio earlier

    Better to split chipset detection from the audio setup. So, move the
    detection code to em28xx_init_dev().

It broke analog audio of the Hauppauge winTV HVR 900 and very likely many other
em28xx devices.

Background:
The local variable has_audio in em28xx_usb_probe() describes if the currently
probed _usb_interface_ has an audio endpoint, while dev->audio_mode.has_audio
means that the _device_ as a whole provides analog audio.
Hence it is wrong to set dev->audio_mode.has_audio = has_audio in em28xx_usb_probe().
As result, audio support is no longer detected and configured on devices which
have the audio endpoint on a separate interface, because em28xx_audio_setup()
bails out immediately at the beginning.

Revert the faulty commit to restore the old audio detection procedure, which checks
the chip configuration register to determine if the device has analog audio.

Cc: <stable@vger.kernel.org>	# 3.14 to 3.16
Reported-by: Oravecz Csaba <oravecz@nytud.mta.hu>
Tested-by: Oravecz Csaba <oravecz@nytud.mta.hu>
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:35 -03:00
Matthias Schwarzott
66756611c1 [media] mceusb: add support for more cx231xx devices
Add support for the si2161-based cx231xx devices:
	[2040:b138] Hauppauge WinTV HVR-900-H (model 111xxx)
	[2040:b139] Hauppauge WinTV HVR-901-H (model 1114xx)

They're similar to the already supported:
	[2040:b130] Hauppauge WinTV 930C-HD (model 1113xx)

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:35 -03:00
Matthias Schwarzott
8618ac4d01 [media] cx231xx: Add support for Hauppauge WinTV-HVR-901H (1114xx)
Add support for:
	[2040:b139] Hauppauge WinTV HVR-901H (1114xx)

According to the inf file, the hardware is similar to [2040:b131] Hauppauge WinTV 930C-HD (model 1114xx)
The only difference is the demod Si2161 instead of Si2165 (but both are
supported by the si2165 driver).

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:34 -03:00
Matthias Schwarzott
57cbf3efc8 [media] cx231xx: Add support for Hauppauge WinTV-HVR-900H (111xxx)
Add support for:
	[2040:b138] Hauppauge WinTV HVR-900H (111xxx)

The hardware is similar to [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx)
The only difference is the demod Si2161 instead of Si2165 (but both are
supported by the si2165 driver).

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:34 -03:00
Matthias Schwarzott
119bd82e0e [media] si2165: enable Si2161 support
Additionally print chip name with revision symbolically.
This is a preparation for supporting new Hauppauge WinTV-HVR-900-H based
on cx231xx.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:33 -03:00
Matthias Schwarzott
55bea40070 [media] si2165: Load driver for all hardware revisions
Current firmware is only for revision D.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:33 -03:00
Jingoo Han
1eb9604705 [media] v4l: ti-vpe: Remove casting the return value which is a void pointer
Casting the return value which is a void pointer is redundant.
The conversion from void pointer to any other pointer type is
guaranteed by the C programming language.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 19:21:08 -03:00
Fengguang Wu
47c0b565ec [media] vpfe_standards[] can be static
make vpfe_standards[] static.

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 19:19:23 -03:00
Mauro Carvalho Chehab
09628b2c21 [media] dib0700_devices: Use c99 initializers for structures.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@decl@
identifier i1,fld;
type T;
field list[n] fs;
@@

struct i1 {
 fs
 T fld;
 ...};

@bad@
identifier decl.i1,i2;
expression e;
initializer list[decl.n] is;
@@

struct i1 i2 = { is,
+ .fld = e
- e
 ,...};
// </smpl>

Not sure why, but some tables are still using the old way,
but at least several of them got fixed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 19:00:28 -03:00
Julia Lawall
1148f6fdb0 [media] v4l: ti-vpe: use c99 initializers in structures
Use c99 initializers for structures.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@decl@
identifier i1,fld;
type T;
field list[n] fs;
@@

struct i1 {
 fs
 T fld;
 ...};

@bad@
identifier decl.i1,i2;
expression e;
initializer list[decl.n] is;
@@

struct i1 i2 = { is,
+ .fld = e
- e
 ,...};
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 18:17:08 -03:00
Mauro Carvalho Chehab
5d40018623 [media] au0828: fill tuner type on all boards
This is used by the I2C code in order to slow down the
speed to 20 kHz on devices with xc5000 or xc5000c.

So, it needs to be filled for all devices that use either
xc5000 or xc5000c.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:51:24 -03:00
Mauro Carvalho Chehab
b13b47e0b5 [media] au0828: explicitly identify boards with analog TV
Right now, the au0828 driver uses .tuner to detect if analog
tv is being used or not. By not filling .tuner fields at the
board struct, the I2C core can't do decisions based on it.

So, add a field to explicitly tell when analog TV is supported.

No functional changes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:51:19 -03:00
Mauro Carvalho Chehab
1ba3f927ad [media] au0828-cards: remove a comment about i2c clock stretching
This comment is already at the au0828-i2c where it belongs.
So, remove it from a board's entry. It doesn't make any sense
there, as we're setting the clock to 250kHz there, slowing it
down only at the au0828-i2c.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:48:01 -03:00
Mauro Carvalho Chehab
886da6ac33 [media] stv0367: Remove an unused parameter
cab_state->modulation is initialized with a wrong value:

drivers/media/dvb-frontends/stv0367.c:3000:42: warning: mixing different enum types
drivers/media/dvb-frontends/stv0367.c:3000:42:     int enum fe_modulation  versus
drivers/media/dvb-frontends/stv0367.c:3000:42:     int enum stv0367cab_mod

as it was declared as "enum stv0367cab_mod". While it could be fixed,
there's no value on it, as this is never used.

So, just remove the modulation from cab_state structure.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:36:53 -03:00
Maks Naumov
eafeda9666 [media] media: stv0367: fix frontend modulation initialization with FE_CAB_MOD_QAM256
It was using the wrong constant for QAM256 on get_frontend.

Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:31:52 -03:00
Frank Schaefer
78e719a5f3 [media] em28xx-input: i2c IR decoders: improve i2c_client handling
Instead of using a temporary stack allocated i2c_client in em28xx_i2c_ir_handle_key(),
allocate/free the i2c_client at module init/uninit and hook it into struct em28xx_IR
(if the device has an i2c IR decoder).
This reduces the frame size of function em28xx_i2c_ir_handle_key() and speeds
it up a bit.
Also make sure that all fields of struct i2c_client are initialized properly.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:29:06 -03:00
Himangi Saraogi
5611588b86 [media] rc-core: use USB API functions rather than constants
This patch introduces the use of !usb_endpoint_dir_in(epd) and
!usb_endpoint_xfer_int(epd).

The Coccinelle semantic patch that makes these changes is as follows:

- ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) !=
-  \(USB_DIR_IN\|0x80\))
+ !usb_endpoint_dir_in(epd)

@@ struct usb_endpoint_descriptor *epd; @@

- ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) !=
- \(USB_ENDPOINT_XFER_INT\|3\))
+ !usb_endpoint_xfer_int(epd)

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:27:01 -03:00
Himangi Saraogi
9408d8f0f8 [media] media/rc/imon.c: use USB API functions rather than constants
This patch introduces the use of the function usb_endpoint_type.

The Coccinelle semantic patch that makes these changes is as follows:

@@ struct usb_endpoint_descriptor *epd; @@

- (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\))
+ usb_endpoint_type(epd)

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:12:08 -03:00
Hans Wennborg
612f676bbe [media] dvb: return the error from i2c_transfer if negative
Just returns whatever error that was returned by the i2c core,
in the case of errors, only returning -EREMOTEIO if the transfer size
is not what it was expected.

Signed-off-by: Hans Wennborg <hans@hanshq.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:05:13 -03:00
Hans Wennborg
a375218460 [media] dvb: remove 0x prefix from decimal value in printf
The returned code is 0, 1 or an error. It doesn't make sense to
print it in hexadecimal.

Signed-off-by: Hans Wennborg <hans@hanshq.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 17:04:09 -03:00
Andrey Utkin
6694ba62c7 [media] drivers/media/dvb-frontends/stv0900_sw.c: Fix break placement
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81621

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-22 16:56:17 -03:00
Frank Schaefer
8e2c8717c1 [media] em28xx-v4l: get rid of field "users" in struct em28xx_v4l2"
This reverts commit 747dba7de2.

It breaks concurrent vbi and video capturing:
While v4l2->users is the number of users of the whole device (all device nodes),
v4l2_fh_is_singular() only checks the number of users of a specific device node.
As a result. if one device node is open and a second device node is opened
(closed), the device is reinitialized (streaming is stopped).

Reported-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21 21:27:57 -03:00
Mauro Carvalho Chehab
c7854c2c5d [media] em28xx: fix VBI handling logic
When both VBI and video are streaming, and video stream is stopped,
a subsequent trial to restart it will fail, because S_FMT will
return -EBUSY.

That prevents applications like zvbi to work properly.

Please notice that, while this fix it fully for zvbi, the
best is to get rid of streaming_users and res_get logic as a hole.

However, this single-line patch is better to be merged at -stable.

Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21 21:07:29 -03:00
Mauro Carvalho Chehab
eb500df22c [media] em28xx: Get rid of some unused modprobe parameters at vbi code
There are two modprobe parameters for VBI that aren't used
anywhere (one for debug, the other one related to the buffer
size). Get rid of them!

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21 21:06:44 -03:00