@@ -1638,14 +1638,6 @@ static const struct file_operations dvb_ca_fops = {
.llseek = noop_llseek,
};
-static struct dvb_device dvbdev_ca = {
- .priv = NULL,
- .users = 1,
- .readers = 1,
- .writers = 1,
- .fops = &dvb_ca_fops,
-};
-
/* ******************************************************************************** */
/* Initialisation/shutdown functions */
@@ -1667,6 +1659,17 @@ int dvb_ca_en50221_init(struct dvb_adapter *dvb_adapter,
int ret;
struct dvb_ca_private *ca = NULL;
int i;
+ struct dvb_device dvbdev_ca = {
+ .priv = NULL,
+ .users = 1,
+ .readers = 1,
+ .writers = 1,
+ .fops = &dvb_ca_fops,
+#if defined(CONFIG_MEDIA_CONTROLLER)
+ .mdev = pubca->mdev,
+ .name = "ca_en50221",
+#endif
+ };
dprintk("%s\n", __func__);
@@ -24,6 +24,8 @@
#include <linux/list.h>
#include <linux/dvb/ca.h>
+#include <media/media-device.h>
+
#include "dvbdev.h"
#define DVB_CA_EN50221_POLL_CAM_PRESENT 1
@@ -74,6 +76,10 @@ struct dvb_ca_en50221 {
/* Opaque data used by the dvb_ca core. Do not modify! */
void* private;
+
+#if defined(CONFIG_MEDIA_CONTROLLER)
+ struct media_device *mdev;
+#endif
};
Make the dvb core CA support aware of the media controller and register the corresponding devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>