1
0

Merge tag 'media/v4.15-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab:

 - Documentation for digital TV (both kAPI and uAPI) are now in sync
   with the implementation (except for legacy/deprecated ioctls). This
   is a major step, as there were always a gap there

 - New sensor driver: imx274

 - New cec driver: cec-gpio

 - New platform driver for rockship rga and tegra CEC

 - New RC driver: tango-ir

 - Several cleanups at atomisp driver

 - Core improvements for RC, CEC, V4L2 async probing support and DVB

 - Lots of drivers cleanup, fixes and improvements.

* tag 'media/v4.15-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (332 commits)
  dvb_frontend: don't use-after-free the frontend struct
  media: dib0700: fix invalid dvb_detach argument
  media: v4l2-ctrls: Don't validate BITMASK twice
  media: s5p-mfc: fix lockdep warning
  media: dvb-core: always call invoke_release() in fe_free()
  media: usb: dvb-usb-v2: dvb_usb_core: remove redundant code in dvb_usb_fe_sleep
  media: au0828: make const array addr_list static
  media: cx88: make const arrays default_addr_list and pvr2000_addr_list static
  media: drxd: make const array fastIncrDecLUT static
  media: usb: fix spelling mistake: "synchronuously" -> "synchronously"
  media: ddbridge: fix build warnings
  media: av7110: avoid 2038 overflow in debug print
  media: Don't do DMA on stack for firmware upload in the AS102 driver
  media: v4l: async: fix unregister for implicitly registered sub-device notifiers
  media: v4l: async: fix return of unitialized variable ret
  media: imx274: fix missing return assignment from call to imx274_mode_regs
  media: camss-vfe: always initialize reg at vfe_set_xbar_cfg()
  media: atomisp: make function calls cleaner
  media: atomisp: get rid of storage_class.h
  media: atomisp: get rid of wrong stddef.h include
  ...
Este cometimento está contido em:
Linus Torvalds
2017-11-15 20:30:12 -08:00
ascendente 93ea0eb7d7 f2ecc3d078
cometimento 5d352e69c6
498 ficheiros modificados com 12071 adições e 22634 eliminações

Ver ficheiro

@@ -3,6 +3,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
rc-alink-dtu-m.o \
rc-anysee.o \
rc-apac-viewcomp.o \
rc-astrometa-t2hybrid.o \
rc-asus-pc39.o \
rc-asus-ps3-100.o \
rc-ati-tv-wonder-hd-600.o \
@@ -48,6 +49,8 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
rc-geekbox.o \
rc-genius-tvgo-a11mce.o \
rc-gotview7135.o \
rc-hisi-poplar.o \
rc-hisi-tv-demo.o \
rc-imon-mce.o \
rc-imon-pad.o \
rc-iodata-bctv7e.o \
@@ -89,6 +92,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
rc-reddo.o \
rc-snapstream-firefly.o \
rc-streamzap.o \
rc-tango.o \
rc-tbs-nec.o \
rc-technisat-ts35.o \
rc-technisat-usb2.o \

Ver ficheiro

@@ -0,0 +1,70 @@
/*
* Keytable for the Astrometa T2hybrid remote controller
*
* Copyright (C) 2017 Oleh Kravchenko <oleg@kaa.org.ua>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <media/rc-map.h>
#include <linux/module.h>
static struct rc_map_table t2hybrid[] = {
{ 0x4d, KEY_POWER2 },
{ 0x54, KEY_VIDEO }, /* Source */
{ 0x16, KEY_MUTE },
{ 0x4c, KEY_RECORD },
{ 0x05, KEY_CHANNELUP },
{ 0x0c, KEY_TIME}, /* Timeshift */
{ 0x0a, KEY_VOLUMEDOWN },
{ 0x40, KEY_ZOOM }, /* Fullscreen */
{ 0x1e, KEY_VOLUMEUP },
{ 0x12, KEY_0 },
{ 0x02, KEY_CHANNELDOWN },
{ 0x1c, KEY_AGAIN }, /* Recall */
{ 0x09, KEY_1 },
{ 0x1d, KEY_2 },
{ 0x1f, KEY_3 },
{ 0x0d, KEY_4 },
{ 0x19, KEY_5 },
{ 0x1b, KEY_6 },
{ 0x11, KEY_7 },
{ 0x15, KEY_8 },
{ 0x17, KEY_9 },
};
static struct rc_map_list t2hybrid_map = {
.map = {
.scan = t2hybrid,
.size = ARRAY_SIZE(t2hybrid),
.rc_proto = RC_PROTO_NEC,
.name = RC_MAP_ASTROMETA_T2HYBRID,
}
};
static int __init init_rc_map_t2hybrid(void)
{
return rc_map_register(&t2hybrid_map);
}
static void __exit exit_rc_map_t2hybrid(void)
{
rc_map_unregister(&t2hybrid_map);
}
module_init(init_rc_map_t2hybrid)
module_exit(exit_rc_map_t2hybrid)
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Oleh Kravchenko <oleg@kaa.org.ua>");

Ver ficheiro

@@ -43,7 +43,8 @@ static struct rc_map_table avermedia_m135a[] = {
{ 0x0213, KEY_RIGHT }, /* -> or L */
{ 0x0212, KEY_LEFT }, /* <- or R */
{ 0x0217, KEY_SLEEP }, /* Capturar Imagem or Snapshot */
{ 0x0215, KEY_MENU },
{ 0x0217, KEY_CAMERA }, /* Capturar Imagem or Snapshot */
{ 0x0210, KEY_SHUFFLE }, /* Amostra or 16 chan prev */
{ 0x0303, KEY_CHANNELUP },

Ver ficheiro

@@ -0,0 +1,69 @@
/*
* Keytable for remote controller of HiSilicon poplar board.
*
* Copyright (c) 2017 HiSilicon Technologies Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#include <linux/module.h>
#include <media/rc-map.h>
static struct rc_map_table hisi_poplar_keymap[] = {
{ 0x0000b292, KEY_1},
{ 0x0000b293, KEY_2},
{ 0x0000b2cc, KEY_3},
{ 0x0000b28e, KEY_4},
{ 0x0000b28f, KEY_5},
{ 0x0000b2c8, KEY_6},
{ 0x0000b28a, KEY_7},
{ 0x0000b28b, KEY_8},
{ 0x0000b2c4, KEY_9},
{ 0x0000b287, KEY_0},
{ 0x0000b282, KEY_HOMEPAGE},
{ 0x0000b2ca, KEY_UP},
{ 0x0000b299, KEY_LEFT},
{ 0x0000b2c1, KEY_RIGHT},
{ 0x0000b2d2, KEY_DOWN},
{ 0x0000b2c5, KEY_DELETE},
{ 0x0000b29c, KEY_MUTE},
{ 0x0000b281, KEY_VOLUMEDOWN},
{ 0x0000b280, KEY_VOLUMEUP},
{ 0x0000b2dc, KEY_POWER},
{ 0x0000b29a, KEY_MENU},
{ 0x0000b28d, KEY_SETUP},
{ 0x0000b2c5, KEY_BACK},
{ 0x0000b295, KEY_PLAYPAUSE},
{ 0x0000b2ce, KEY_ENTER},
{ 0x0000b285, KEY_CHANNELUP},
{ 0x0000b286, KEY_CHANNELDOWN},
{ 0x0000b2da, KEY_NUMERIC_STAR},
{ 0x0000b2d0, KEY_NUMERIC_POUND},
};
static struct rc_map_list hisi_poplar_map = {
.map = {
.scan = hisi_poplar_keymap,
.size = ARRAY_SIZE(hisi_poplar_keymap),
.rc_proto = RC_PROTO_NEC,
.name = RC_MAP_HISI_POPLAR,
}
};
static int __init init_rc_map_hisi_poplar(void)
{
return rc_map_register(&hisi_poplar_map);
}
static void __exit exit_rc_map_hisi_poplar(void)
{
rc_map_unregister(&hisi_poplar_map);
}
module_init(init_rc_map_hisi_poplar)
module_exit(exit_rc_map_hisi_poplar)
MODULE_LICENSE("GPL v2");

Ver ficheiro

@@ -0,0 +1,81 @@
/*
* Keytable for remote controller of HiSilicon tv demo board.
*
* Copyright (c) 2017 HiSilicon Technologies Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#include <linux/module.h>
#include <media/rc-map.h>
static struct rc_map_table hisi_tv_demo_keymap[] = {
{ 0x00000092, KEY_1},
{ 0x00000093, KEY_2},
{ 0x000000cc, KEY_3},
{ 0x0000009f, KEY_4},
{ 0x0000008e, KEY_5},
{ 0x0000008f, KEY_6},
{ 0x000000c8, KEY_7},
{ 0x00000094, KEY_8},
{ 0x0000008a, KEY_9},
{ 0x0000008b, KEY_0},
{ 0x000000ce, KEY_ENTER},
{ 0x000000ca, KEY_UP},
{ 0x00000099, KEY_LEFT},
{ 0x00000084, KEY_PAGEUP},
{ 0x000000c1, KEY_RIGHT},
{ 0x000000d2, KEY_DOWN},
{ 0x00000089, KEY_PAGEDOWN},
{ 0x000000d1, KEY_MUTE},
{ 0x00000098, KEY_VOLUMEDOWN},
{ 0x00000090, KEY_VOLUMEUP},
{ 0x0000009c, KEY_POWER},
{ 0x000000d6, KEY_STOP},
{ 0x00000097, KEY_MENU},
{ 0x000000cb, KEY_BACK},
{ 0x000000da, KEY_PLAYPAUSE},
{ 0x00000080, KEY_INFO},
{ 0x000000c3, KEY_REWIND},
{ 0x00000087, KEY_HOMEPAGE},
{ 0x000000d0, KEY_FASTFORWARD},
{ 0x000000c4, KEY_SOUND},
{ 0x00000082, BTN_1},
{ 0x000000c7, BTN_2},
{ 0x00000086, KEY_PROGRAM},
{ 0x000000d9, KEY_SUBTITLE},
{ 0x00000085, KEY_ZOOM},
{ 0x0000009b, KEY_RED},
{ 0x0000009a, KEY_GREEN},
{ 0x000000c0, KEY_YELLOW},
{ 0x000000c2, KEY_BLUE},
{ 0x0000009d, KEY_CHANNELDOWN},
{ 0x000000cf, KEY_CHANNELUP},
};
static struct rc_map_list hisi_tv_demo_map = {
.map = {
.scan = hisi_tv_demo_keymap,
.size = ARRAY_SIZE(hisi_tv_demo_keymap),
.rc_proto = RC_PROTO_NEC,
.name = RC_MAP_HISI_TV_DEMO,
}
};
static int __init init_rc_map_hisi_tv_demo(void)
{
return rc_map_register(&hisi_tv_demo_map);
}
static void __exit exit_rc_map_hisi_tv_demo(void)
{
rc_map_unregister(&hisi_tv_demo_map);
}
module_init(init_rc_map_hisi_tv_demo)
module_exit(exit_rc_map_hisi_tv_demo)
MODULE_LICENSE("GPL v2");

Ver ficheiro

@@ -0,0 +1,92 @@
/*
* Copyright (C) 2017 Sigma Designs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*/
#include <linux/module.h>
#include <media/rc-map.h>
static struct rc_map_table tango_table[] = {
{ 0x4cb4a, KEY_POWER },
{ 0x4cb48, KEY_FILE },
{ 0x4cb0f, KEY_SETUP },
{ 0x4cb4d, KEY_SUSPEND },
{ 0x4cb4e, KEY_VOLUMEUP },
{ 0x4cb44, KEY_EJECTCD },
{ 0x4cb13, KEY_TV },
{ 0x4cb51, KEY_MUTE },
{ 0x4cb52, KEY_VOLUMEDOWN },
{ 0x4cb41, KEY_1 },
{ 0x4cb03, KEY_2 },
{ 0x4cb42, KEY_3 },
{ 0x4cb45, KEY_4 },
{ 0x4cb07, KEY_5 },
{ 0x4cb46, KEY_6 },
{ 0x4cb55, KEY_7 },
{ 0x4cb17, KEY_8 },
{ 0x4cb56, KEY_9 },
{ 0x4cb1b, KEY_0 },
{ 0x4cb59, KEY_DELETE },
{ 0x4cb5a, KEY_CAPSLOCK },
{ 0x4cb47, KEY_BACK },
{ 0x4cb05, KEY_SWITCHVIDEOMODE },
{ 0x4cb06, KEY_UP },
{ 0x4cb43, KEY_LEFT },
{ 0x4cb01, KEY_RIGHT },
{ 0x4cb0a, KEY_DOWN },
{ 0x4cb02, KEY_ENTER },
{ 0x4cb4b, KEY_INFO },
{ 0x4cb09, KEY_HOME },
{ 0x4cb53, KEY_MENU },
{ 0x4cb12, KEY_PREVIOUS },
{ 0x4cb50, KEY_PLAY },
{ 0x4cb11, KEY_NEXT },
{ 0x4cb4f, KEY_TITLE },
{ 0x4cb0e, KEY_REWIND },
{ 0x4cb4c, KEY_STOP },
{ 0x4cb0d, KEY_FORWARD },
{ 0x4cb57, KEY_MEDIA_REPEAT },
{ 0x4cb16, KEY_ANGLE },
{ 0x4cb54, KEY_PAUSE },
{ 0x4cb15, KEY_SLOW },
{ 0x4cb5b, KEY_TIME },
{ 0x4cb1a, KEY_AUDIO },
{ 0x4cb58, KEY_SUBTITLE },
{ 0x4cb19, KEY_ZOOM },
{ 0x4cb5f, KEY_RED },
{ 0x4cb1e, KEY_GREEN },
{ 0x4cb5c, KEY_YELLOW },
{ 0x4cb1d, KEY_BLUE },
};
static struct rc_map_list tango_map = {
.map = {
.scan = tango_table,
.size = ARRAY_SIZE(tango_table),
.rc_proto = RC_PROTO_NECX,
.name = RC_MAP_TANGO,
}
};
static int __init init_rc_map_tango(void)
{
return rc_map_register(&tango_map);
}
static void __exit exit_rc_map_tango(void)
{
rc_map_unregister(&tango_map);
}
module_init(init_rc_map_tango)
module_exit(exit_rc_map_tango)
MODULE_AUTHOR("Sigma Designs");
MODULE_LICENSE("GPL");

Ver ficheiro

@@ -66,7 +66,7 @@ static struct rc_map_list twinhan_vp1027_map = {
.map = {
.scan = twinhan_vp1027,
.size = ARRAY_SIZE(twinhan_vp1027),
.rc_proto = RC_PROTO_UNKNOWN, /* Legacy IR type */
.rc_proto = RC_PROTO_NEC,
.name = RC_MAP_TWINHAN_VP1027_DVBS,
}
};