mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
demux: uapi header file rectification. [1/4]
PD#SWPL-103754 Problem: uapi header file rectification. Solution: uapi header file rectification. Verify: AH212/S905X4 Signed-off-by: hongyu.chen <hongyu.chen@amlogic.com> Change-Id: I9856b1424b9ebd25f9fdb6bf478d6304cbaf8ab5
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
|
||||
#ifdef CONFIG_AMLOGIC_DVB_COMPAT
|
||||
#include <uapi/linux/dvb/aml_dmx_ext.h>
|
||||
#include <media/aml_demux_ext.h>
|
||||
#endif
|
||||
|
||||
static int debug;
|
||||
@@ -1045,6 +1046,9 @@ static int dvb_demux_do_ioctl(struct file *file,
|
||||
{
|
||||
struct dmxdev_filter *dmxdevfilter = file->private_data;
|
||||
struct dmxdev *dmxdev = dmxdevfilter->dev;
|
||||
#ifdef CONFIG_AMLOGIC_DVB_COMPAT
|
||||
struct dmx_demux_ext *dmx_ext = container_of(dmxdev->demux, struct dmx_demux_ext, dmx);
|
||||
#endif
|
||||
unsigned long arg = (unsigned long)parg;
|
||||
int ret = 0;
|
||||
|
||||
@@ -1121,11 +1125,11 @@ static int dvb_demux_do_ioctl(struct file *file,
|
||||
|
||||
#ifdef CONFIG_AMLOGIC_DVB_COMPAT
|
||||
case DMX_SET_INPUT:
|
||||
if (!dmxdev->demux->set_input) {
|
||||
if (!dmx_ext->set_input) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->set_input(dmxdev->demux, arg);
|
||||
ret = dmx_ext->set_input(dmxdev->demux, arg);
|
||||
break;
|
||||
case DMX_GET_MEM_INFO:
|
||||
if (mutex_lock_interruptible(&dmxdevfilter->mutex)) {
|
||||
@@ -1140,22 +1144,22 @@ static int dvb_demux_do_ioctl(struct file *file,
|
||||
dvb_ringbuffer_free(&dmxdevfilter->buffer);
|
||||
|
||||
if (dmxdevfilter->type == DMXDEV_TYPE_SEC) {
|
||||
if (dmxdev->demux->get_sec_mem_info) {
|
||||
if (dmx_ext->get_sec_mem_info) {
|
||||
struct dmx_section_feed *sec_feed =
|
||||
dmxdevfilter->feed.sec;
|
||||
|
||||
ret =
|
||||
dmxdev->demux->get_sec_mem_info(dmxdev->demux,
|
||||
dmx_ext->get_sec_mem_info(dmxdev->demux,
|
||||
sec_feed, info);
|
||||
}
|
||||
} else if (dmxdevfilter->type == DMXDEV_TYPE_PES) {
|
||||
if (dmxdev->demux->get_ts_mem_info) {
|
||||
if (dmx_ext->get_ts_mem_info) {
|
||||
struct dmxdev_feed *feed;
|
||||
|
||||
list_for_each_entry(feed,
|
||||
&dmxdevfilter->feed.ts, next) {
|
||||
ret =
|
||||
dmxdev->demux->get_ts_mem_info(dmxdev->demux,
|
||||
dmx_ext->get_ts_mem_info(dmxdev->demux,
|
||||
feed->ts,
|
||||
info);
|
||||
break;
|
||||
@@ -1173,53 +1177,53 @@ static int dvb_demux_do_ioctl(struct file *file,
|
||||
{
|
||||
struct dmx_filter_mem_info *info = parg;
|
||||
|
||||
if (dmxdev->demux->get_dmx_mem_info)
|
||||
if (dmx_ext->get_dmx_mem_info)
|
||||
ret =
|
||||
dmxdev->demux->get_dmx_mem_info(dmxdev->demux, info);
|
||||
dmx_ext->get_dmx_mem_info(dmxdev->demux, info);
|
||||
}
|
||||
mutex_unlock(&dmxdevfilter->mutex);
|
||||
break;
|
||||
case DMX_SET_HW_SOURCE:
|
||||
if (!dmxdev->demux->set_hw_source) {
|
||||
if (!dmx_ext->set_hw_source) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->set_hw_source(dmxdev->demux, arg);
|
||||
ret = dmx_ext->set_hw_source(dmxdev->demux, arg);
|
||||
break;
|
||||
case DMX_GET_HW_SOURCE:
|
||||
if (!dmxdev->demux->get_hw_source) {
|
||||
if (!dmx_ext->get_hw_source) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->get_hw_source(dmxdev->demux, parg);
|
||||
ret = dmx_ext->get_hw_source(dmxdev->demux, parg);
|
||||
break;
|
||||
case DMX_SET_SEC_MEM:
|
||||
if (!dmxdev->demux->set_sec_mem) {
|
||||
if (!dmx_ext->set_sec_mem) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->set_sec_mem(dmxdev->demux, parg);
|
||||
ret = dmx_ext->set_sec_mem(dmxdev->demux, parg);
|
||||
break;
|
||||
case DMX_GET_DVR_MEM:
|
||||
if (!dmxdev->demux->get_dvr_mem) {
|
||||
if (!dmx_ext->get_dvr_mem) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->get_dvr_mem(dmxdev->demux, parg);
|
||||
ret = dmx_ext->get_dvr_mem(dmxdev->demux, parg);
|
||||
break;
|
||||
case DMX_REMAP_PID:
|
||||
if (!dmxdev->demux->remap_pid) {
|
||||
if (!dmx_ext->remap_pid) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->remap_pid(dmxdev->demux, parg);
|
||||
ret = dmx_ext->remap_pid(dmxdev->demux, parg);
|
||||
break;
|
||||
case DMX_SET_DECODE_INFO:
|
||||
if (!dmxdev->demux->decode_info) {
|
||||
if (!dmx_ext->decode_info) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->decode_info(dmxdev->demux, parg);
|
||||
ret = dmx_ext->decode_info(dmxdev->demux, parg);
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -1403,6 +1407,9 @@ static int dvb_dvr_do_ioctl(struct file *file,
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct dmxdev *dmxdev = dvbdev->priv;
|
||||
#ifdef CONFIG_AMLOGIC_DVB_COMPAT
|
||||
struct dmx_demux_ext *dmx_ext = container_of(dmxdev->demux, struct dmx_demux_ext, dmx);
|
||||
#endif
|
||||
unsigned long arg = (unsigned long)parg;
|
||||
int ret;
|
||||
|
||||
@@ -1415,18 +1422,18 @@ static int dvb_dvr_do_ioctl(struct file *file,
|
||||
break;
|
||||
#ifdef CONFIG_AMLOGIC_DVB_COMPAT
|
||||
case DMX_SET_INPUT:
|
||||
if (!dmxdev->demux->set_input) {
|
||||
if (!dmx_ext->set_input) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->set_input(dmxdev->demux, arg);
|
||||
ret = dmx_ext->set_input(dmxdev->demux, arg);
|
||||
break;
|
||||
case DMX_GET_DVR_MEM:
|
||||
if (!dmxdev->demux->get_dvr_mem) {
|
||||
if (!dmx_ext->get_dvr_mem) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
ret = dmxdev->demux->get_dvr_mem(dmxdev->demux, parg);
|
||||
ret = dmx_ext->get_dvr_mem(dmxdev->demux, parg);
|
||||
break;
|
||||
#endif
|
||||
#ifdef CONFIG_DVB_MMAP
|
||||
|
||||
35
include/media/aml_demux_ext.h
Normal file
35
include/media/aml_demux_ext.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
|
||||
/*
|
||||
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef AML_DEMUX_EXT_H_
|
||||
#define AML_DEMUX_EXT_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <media/demux.h>
|
||||
|
||||
struct dmx_demux_ext {
|
||||
struct dmx_demux dmx;
|
||||
int (*set_input)(struct dmx_demux *demux, int source);
|
||||
int (*get_ts_mem_info)(struct dmx_demux *demux,
|
||||
void *feed,
|
||||
void *info);
|
||||
int (*get_sec_mem_info)(struct dmx_demux *demux,
|
||||
void *feed,
|
||||
void *info);
|
||||
int (*set_hw_source)(struct dmx_demux *demux, int hw_source);
|
||||
int (*get_hw_source)(struct dmx_demux *demux, int *hw_source);
|
||||
int (*get_dmx_mem_info)(struct dmx_demux *demux,
|
||||
void *info);
|
||||
int (*set_sec_mem)(struct dmx_demux *demux,
|
||||
void *sec_mem);
|
||||
int (*get_dvr_mem)(struct dmx_demux *demux,
|
||||
void *info);
|
||||
int (*remap_pid)(struct dmx_demux *demux,
|
||||
u16 pids[2]);
|
||||
int (*decode_info)(struct dmx_demux *demux,
|
||||
void *info);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -595,28 +595,6 @@ struct dmx_demux {
|
||||
*/
|
||||
int (*get_stc)(struct dmx_demux *demux, unsigned int num,
|
||||
u64 *stc, unsigned int *base);
|
||||
|
||||
#ifdef CONFIG_AMLOGIC_DVB_COMPAT
|
||||
int (*set_input)(struct dmx_demux *demux, int source);
|
||||
int (*get_ts_mem_info)(struct dmx_demux *demux,
|
||||
void *feed,
|
||||
void *info);
|
||||
int (*get_sec_mem_info)(struct dmx_demux *demux,
|
||||
void *feed,
|
||||
void *info);
|
||||
int (*set_hw_source)(struct dmx_demux *demux, int hw_source);
|
||||
int (*get_hw_source)(struct dmx_demux *demux, int *hw_source);
|
||||
int (*get_dmx_mem_info)(struct dmx_demux *demux,
|
||||
void *info);
|
||||
int (*set_sec_mem)(struct dmx_demux *demux,
|
||||
void *sec_mem);
|
||||
int (*get_dvr_mem)(struct dmx_demux *demux,
|
||||
void *info);
|
||||
int (*remap_pid)(struct dmx_demux *demux,
|
||||
u16 pids[2]);
|
||||
int (*decode_info)(struct dmx_demux *demux,
|
||||
void *info);
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif /* #ifndef __DEMUX_H */
|
||||
|
||||
Reference in New Issue
Block a user