History

[media] cec: move the CEC framework out of staging and to media

The last open issues have been addressed, so it is time to move this out of staging and into the mainline and to move the public cec headers to include/uapi/linux.

Hans Verkuil committed 10 years ago

Commit 0dbaceb1 parent a69a16821 files · +32 −46Browse files

Unified · Split

21 files
  1. Documentation/media/Makefile +1 −1
  2. drivers/media/Kconfig +16 −0
  3. drivers/media/Makefile +4 −0
  4. drivers/media/cec/Makefile +1 −1
  5. drivers/media/cec/cec-adap.c +0 −0
  6. drivers/media/cec/cec-api.c +0 −0
  7. drivers/media/cec/cec-core.c +0 −0
  8. drivers/media/cec/cec-priv.h +0 −0
  9. drivers/media/i2c/Kconfig +3 −3
  10. drivers/media/platform/vivid/Kconfig +1 −1
  11. drivers/staging/media/Kconfig +0 −2
  12. drivers/staging/media/Makefile +0 −1
  13. drivers/staging/media/cec/Kconfig +0 −12
  14. drivers/staging/media/cec/TODO +0 −9
  15. drivers/staging/media/pulse8-cec/Kconfig +1 −1
  16. drivers/staging/media/s5p-cec/Kconfig +1 −1
  17. drivers/staging/media/st-cec/Kconfig +1 −1
  18. include/media/cec.h +1 −1
  19. include/uapi/linux/Kbuild +2 −0
  20. include/uapi/linux/cec-funcs.h +0 −6
  21. include/uapi/linux/cec.h +0 −6
Documentation/media/Makefile+1−1
@@ -51,7 +51,7 @@ $(BUILDDIR)/videodev2.h.rst: ${UAPI}/videodev2.h ${PARSER} $(SRC_DIR)/videodev2. · 50 unmodified lines
51$(BUILDDIR)/media.h.rst: ${UAPI}/media.h ${PARSER} $(SRC_DIR)/media.h.rst.exceptions51$(BUILDDIR)/media.h.rst: ${UAPI}/media.h ${PARSER} $(SRC_DIR)/media.h.rst.exceptions
52 @$($(quiet)gen_rst)52 @$($(quiet)gen_rst)
53 53
54$(BUILDDIR)/cec.h.rst: ${KAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions54$(BUILDDIR)/cec.h.rst: ${UAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions
55 @$($(quiet)gen_rst)55 @$($(quiet)gen_rst)
56 56
57$(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions57$(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions
drivers/media/Kconfig+16−0
@@ -80,6 +80,22 @@ config MEDIA_RC_SUPPORT · 79 unmodified lines
80 80
81 Say Y when you have a TV or an IR device.81 Say Y when you have a TV or an IR device.
82 82
83config MEDIA_CEC_SUPPORT
84 bool "HDMI CEC support"
85 select MEDIA_CEC_EDID
86 ---help---
87 Enable support for HDMI CEC (Consumer Electronics Control),
88 which is an optional HDMI feature.
89
90 Say Y when you have an HDMI receiver, transmitter or a USB CEC
91 adapter that supports HDMI CEC.
92
93config MEDIA_CEC_DEBUG
94 bool "HDMI CEC debugfs interface"
95 depends on MEDIA_CEC_SUPPORT && DEBUG_FS
96 ---help---
97 Turns on the DebugFS interface for CEC devices.
98
83config MEDIA_CEC_EDID99config MEDIA_CEC_EDID
84 bool100 bool
85 101
drivers/media/Makefile+4−0
@@ -6,6 +6,10 @@ ifeq ($(CONFIG_MEDIA_CEC_EDID),y) · 5 unmodified lines
6 obj-$(CONFIG_MEDIA_SUPPORT) += cec-edid.o6 obj-$(CONFIG_MEDIA_SUPPORT) += cec-edid.o
7endif7endif
8 8
9ifeq ($(CONFIG_MEDIA_CEC_SUPPORT),y)
10 obj-$(CONFIG_MEDIA_SUPPORT) += cec/
11endif
12
9media-objs := media-device.o media-devnode.o media-entity.o13media-objs := media-device.o media-devnode.o media-entity.o
10 14
11#15#
drivers/media/cec/Makefilerenamed from drivers/staging/media/cec/Makefile+1−1
@@ -1,5 +1,5 @@
1cec-objs := cec-core.o cec-adap.o cec-api.o1cec-objs := cec-core.o cec-adap.o cec-api.o
2 2
3ifeq ($(CONFIG_MEDIA_CEC),y)3ifeq ($(CONFIG_MEDIA_CEC_SUPPORT),y)
4 obj-$(CONFIG_MEDIA_SUPPORT) += cec.o4 obj-$(CONFIG_MEDIA_SUPPORT) += cec.o
5endif5endif
drivers/media/cec/cec-adap.crenamed from drivers/staging/media/cec/cec-adap.c+0−0

File renamed without changes.

drivers/media/cec/cec-api.crenamed from drivers/staging/media/cec/cec-api.c+0−0

File renamed without changes.

drivers/media/cec/cec-core.crenamed from drivers/staging/media/cec/cec-core.c+0−0

File renamed without changes.

drivers/media/cec/cec-priv.hrenamed from drivers/staging/media/cec/cec-priv.h+0−0

File renamed without changes.

drivers/media/i2c/Kconfig+3−3
@@ -221,7 +221,7 @@ config VIDEO_ADV7604 · 220 unmodified lines
221 221
222config VIDEO_ADV7604_CEC222config VIDEO_ADV7604_CEC
223 bool "Enable Analog Devices ADV7604 CEC support"223 bool "Enable Analog Devices ADV7604 CEC support"
224 depends on VIDEO_ADV7604 && MEDIA_CEC224 depends on VIDEO_ADV7604 && MEDIA_CEC_SUPPORT
225 ---help---225 ---help---
226 When selected the adv7604 will support the optional226 When selected the adv7604 will support the optional
227 HDMI CEC feature.227 HDMI CEC feature.
@@ -242,7 +242,7 @@ config VIDEO_ADV7842 · 14 unmodified lines
242 242
243config VIDEO_ADV7842_CEC243config VIDEO_ADV7842_CEC
244 bool "Enable Analog Devices ADV7842 CEC support"244 bool "Enable Analog Devices ADV7842 CEC support"
245 depends on VIDEO_ADV7842 && MEDIA_CEC245 depends on VIDEO_ADV7842 && MEDIA_CEC_SUPPORT
246 ---help---246 ---help---
247 When selected the adv7842 will support the optional247 When selected the adv7842 will support the optional
248 HDMI CEC feature.248 HDMI CEC feature.
@@ -481,7 +481,7 @@ config VIDEO_ADV7511 · 232 unmodified lines
481 481
482config VIDEO_ADV7511_CEC482config VIDEO_ADV7511_CEC
483 bool "Enable Analog Devices ADV7511 CEC support"483 bool "Enable Analog Devices ADV7511 CEC support"
484 depends on VIDEO_ADV7511 && MEDIA_CEC484 depends on VIDEO_ADV7511 && MEDIA_CEC_SUPPORT
485 ---help---485 ---help---
486 When selected the adv7511 will support the optional486 When selected the adv7511 will support the optional
487 HDMI CEC feature.487 HDMI CEC feature.
drivers/media/platform/vivid/Kconfig+1−1
@@ -25,7 +25,7 @@ config VIDEO_VIVID · 24 unmodified lines
25 25
26config VIDEO_VIVID_CEC26config VIDEO_VIVID_CEC
27 bool "Enable CEC emulation support"27 bool "Enable CEC emulation support"
28 depends on VIDEO_VIVID && MEDIA_CEC28 depends on VIDEO_VIVID && MEDIA_CEC_SUPPORT
29 ---help---29 ---help---
30 When selected the vivid module will emulate the optional30 When selected the vivid module will emulate the optional
31 HDMI CEC feature.31 HDMI CEC feature.
drivers/staging/media/Kconfig+0−2
@@ -21,8 +21,6 @@ if STAGING_MEDIA && MEDIA_SUPPORT · 20 unmodified lines
21# Please keep them in alphabetic order21# Please keep them in alphabetic order
22source "drivers/staging/media/bcm2048/Kconfig"22source "drivers/staging/media/bcm2048/Kconfig"
23 23
24source "drivers/staging/media/cec/Kconfig"
25
26source "drivers/staging/media/cxd2099/Kconfig"24source "drivers/staging/media/cxd2099/Kconfig"
27 25
28source "drivers/staging/media/davinci_vpfe/Kconfig"26source "drivers/staging/media/davinci_vpfe/Kconfig"
drivers/staging/media/Makefile+0−1
@@ -1,5 +1,4 @@
1obj-$(CONFIG_I2C_BCM2048) += bcm2048/1obj-$(CONFIG_I2C_BCM2048) += bcm2048/
2obj-$(CONFIG_MEDIA_CEC) += cec/
3obj-$(CONFIG_VIDEO_SAMSUNG_S5P_CEC) += s5p-cec/2obj-$(CONFIG_VIDEO_SAMSUNG_S5P_CEC) += s5p-cec/
4obj-$(CONFIG_DVB_CXD2099) += cxd2099/3obj-$(CONFIG_DVB_CXD2099) += cxd2099/
5obj-$(CONFIG_LIRC_STAGING) += lirc/4obj-$(CONFIG_LIRC_STAGING) += lirc/
drivers/staging/media/cec/Kconfig+0−12
@@ -1,12 +0,0 @@
1config MEDIA_CEC
2 bool "CEC API (EXPERIMENTAL)"
3 depends on MEDIA_SUPPORT
4 select MEDIA_CEC_EDID
5 ---help---
6 Enable the CEC API.
7
8config MEDIA_CEC_DEBUG
9 bool "CEC debugfs interface (EXPERIMENTAL)"
10 depends on MEDIA_CEC && DEBUG_FS
11 ---help---
12 Turns on the DebugFS interface for CEC devices.
drivers/staging/media/cec/TODO+0−9
@@ -1,9 +0,0 @@
1TODOs:
2
3- Once this is out of staging this should no longer be a separate
4 config option, instead it should be selected by drivers that want it.
5- Revisit the IS_REACHABLE(RC_CORE): perhaps the RC_CORE support should
6 be enabled through a separate config option in drivers/media/Kconfig
7 or rc/Kconfig?
8
9Hans Verkuil <hans.verkuil@cisco.com>
drivers/staging/media/pulse8-cec/Kconfig+1−1
@@ -1,6 +1,6 @@
1config USB_PULSE8_CEC1config USB_PULSE8_CEC
2 tristate "Pulse Eight HDMI CEC"2 tristate "Pulse Eight HDMI CEC"
3 depends on USB_ACM && MEDIA_CEC3 depends on USB_ACM && MEDIA_CEC_SUPPORT
4 select SERIO4 select SERIO
5 select SERIO_SERPORT5 select SERIO_SERPORT
6 ---help---6 ---help---
drivers/staging/media/s5p-cec/Kconfig+1−1
@@ -1,6 +1,6 @@
1config VIDEO_SAMSUNG_S5P_CEC1config VIDEO_SAMSUNG_S5P_CEC
2 tristate "Samsung S5P CEC driver"2 tristate "Samsung S5P CEC driver"
3 depends on VIDEO_DEV && MEDIA_CEC && (PLAT_S5P || ARCH_EXYNOS || COMPILE_TEST)3 depends on VIDEO_DEV && MEDIA_CEC_SUPPORT && (PLAT_S5P || ARCH_EXYNOS || COMPILE_TEST)
4 ---help---4 ---help---
5 This is a driver for Samsung S5P HDMI CEC interface. It uses the5 This is a driver for Samsung S5P HDMI CEC interface. It uses the
6 generic CEC framework interface.6 generic CEC framework interface.
drivers/staging/media/st-cec/Kconfig+1−1
@@ -1,6 +1,6 @@
1config VIDEO_STI_HDMI_CEC1config VIDEO_STI_HDMI_CEC
2 tristate "STMicroelectronics STiH4xx HDMI CEC driver"2 tristate "STMicroelectronics STiH4xx HDMI CEC driver"
3 depends on VIDEO_DEV && MEDIA_CEC && (ARCH_STI || COMPILE_TEST)3 depends on VIDEO_DEV && MEDIA_CEC_SUPPORT && (ARCH_STI || COMPILE_TEST)
4 ---help---4 ---help---
5 This is a driver for STIH4xx HDMI CEC interface. It uses the5 This is a driver for STIH4xx HDMI CEC interface. It uses the
6 generic CEC framework interface.6 generic CEC framework interface.
include/media/cec.h+1−1
@@ -196,7 +196,7 @@ static inline bool cec_is_sink(const struct cec_adapter *adap) · 195 unmodified lines
196 return adap->phys_addr == 0;196 return adap->phys_addr == 0;
197}197}
198 198
199#if IS_ENABLED(CONFIG_MEDIA_CEC)199#if IS_ENABLED(CONFIG_MEDIA_CEC_SUPPORT)
200struct cec_adapter *cec_allocate_adapter(const struct cec_adap_ops *ops,200struct cec_adapter *cec_allocate_adapter(const struct cec_adap_ops *ops,
201 void *priv, const char *name, u32 caps, u8 available_las,201 void *priv, const char *name, u32 caps, u8 available_las,
202 struct device *parent);202 struct device *parent);
include/uapi/linux/Kbuild+2−0
@@ -82,6 +82,8 @@ header-y += capi.h · 81 unmodified lines
82header-y += cciss_defs.h82header-y += cciss_defs.h
83header-y += cciss_ioctl.h83header-y += cciss_ioctl.h
84header-y += cdrom.h84header-y += cdrom.h
85header-y += cec.h
86header-y += cec-funcs.h
85header-y += cgroupstats.h87header-y += cgroupstats.h
86header-y += chio.h88header-y += chio.h
87header-y += cm4000_cs.h89header-y += cm4000_cs.h
include/uapi/linux/cec-funcs.hrenamed from include/linux/cec-funcs.h+0−6
@@ -33,12 +33,6 @@ · 32 unmodified lines
33 * SOFTWARE.33 * SOFTWARE.
34 */34 */
35 35
36/*
37 * Note: this framework is still in staging and it is likely the API
38 * will change before it goes out of staging.
39 *
40 * Once it is moved out of staging this header will move to uapi.
41 */
42#ifndef _CEC_UAPI_FUNCS_H36#ifndef _CEC_UAPI_FUNCS_H
43#define _CEC_UAPI_FUNCS_H37#define _CEC_UAPI_FUNCS_H
44 38
include/uapi/linux/cec.hrenamed from include/linux/cec.h+0−6
@@ -33,12 +33,6 @@ · 32 unmodified lines
33 * SOFTWARE.33 * SOFTWARE.
34 */34 */
35 35
36/*
37 * Note: this framework is still in staging and it is likely the API
38 * will change before it goes out of staging.
39 *
40 * Once it is moved out of staging this header will move to uapi.
41 */
42#ifndef _CEC_UAPI_H36#ifndef _CEC_UAPI_H
43#define _CEC_UAPI_H37#define _CEC_UAPI_H
44 38