diff options
author | Hans Petter Selasky <hselasky@c2i.net> | 2011-05-23 08:43:35 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-07-27 16:52:20 -0400 |
commit | a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057b (patch) | |
tree | 6b770c8f83b3406a497f8a70d9fda98d6d13f0f3 | |
parent | 4522e825dbfc19537a08f65719dc3d69c46fe661 (diff) |
[media] Make DVB NET configurable in the kernel
Signed-off-by: Hans Petter Selasky <hselasky@c2i.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/Kconfig | 12 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-core/Makefile | 4 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_net.h | 26 |
3 files changed, 40 insertions, 2 deletions
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig index 6995940b633a..dc61895abcf5 100644 --- a/drivers/media/Kconfig +++ b/drivers/media/Kconfig | |||
@@ -68,7 +68,6 @@ config VIDEO_V4L2_SUBDEV_API | |||
68 | 68 | ||
69 | config DVB_CORE | 69 | config DVB_CORE |
70 | tristate "DVB for Linux" | 70 | tristate "DVB for Linux" |
71 | depends on NET && INET | ||
72 | select CRC32 | 71 | select CRC32 |
73 | help | 72 | help |
74 | DVB core utility functions for device handling, software fallbacks etc. | 73 | DVB core utility functions for device handling, software fallbacks etc. |
@@ -85,6 +84,17 @@ config DVB_CORE | |||
85 | 84 | ||
86 | If unsure say N. | 85 | If unsure say N. |
87 | 86 | ||
87 | config DVB_NET | ||
88 | bool "DVB Network Support" | ||
89 | default (NET && INET) | ||
90 | depends on NET && INET | ||
91 | help | ||
92 | The DVB network support in the DVB core can | ||
93 | optionally be disabled if this | ||
94 | option is set to N. | ||
95 | |||
96 | If unsure say Y. | ||
97 | |||
88 | config VIDEO_MEDIA | 98 | config VIDEO_MEDIA |
89 | tristate | 99 | tristate |
90 | default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV) | 100 | default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV) |
diff --git a/drivers/media/dvb/dvb-core/Makefile b/drivers/media/dvb/dvb-core/Makefile index 0b5182835cc8..8f22bcd7c1f9 100644 --- a/drivers/media/dvb/dvb-core/Makefile +++ b/drivers/media/dvb/dvb-core/Makefile | |||
@@ -2,8 +2,10 @@ | |||
2 | # Makefile for the kernel DVB device drivers. | 2 | # Makefile for the kernel DVB device drivers. |
3 | # | 3 | # |
4 | 4 | ||
5 | dvb-net-$(CONFIG_DVB_NET) := dvb_net.o | ||
6 | |||
5 | dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o dvb_filter.o \ | 7 | dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o dvb_filter.o \ |
6 | dvb_ca_en50221.o dvb_frontend.o \ | 8 | dvb_ca_en50221.o dvb_frontend.o \ |
7 | dvb_net.o dvb_ringbuffer.o dvb_math.o | 9 | $(dvb-net-y) dvb_ringbuffer.o dvb_math.o |
8 | 10 | ||
9 | obj-$(CONFIG_DVB_CORE) += dvb-core.o | 11 | obj-$(CONFIG_DVB_CORE) += dvb-core.o |
diff --git a/drivers/media/dvb/dvb-core/dvb_net.h b/drivers/media/dvb/dvb-core/dvb_net.h index 3a3126cae03b..cfd2c46bd5d9 100644 --- a/drivers/media/dvb/dvb-core/dvb_net.h +++ b/drivers/media/dvb/dvb-core/dvb_net.h | |||
@@ -32,6 +32,8 @@ | |||
32 | 32 | ||
33 | #define DVB_NET_DEVICES_MAX 10 | 33 | #define DVB_NET_DEVICES_MAX 10 |
34 | 34 | ||
35 | #ifdef CONFIG_DVB_NET | ||
36 | |||
35 | struct dvb_net { | 37 | struct dvb_net { |
36 | struct dvb_device *dvbdev; | 38 | struct dvb_device *dvbdev; |
37 | struct net_device *device[DVB_NET_DEVICES_MAX]; | 39 | struct net_device *device[DVB_NET_DEVICES_MAX]; |
@@ -45,3 +47,27 @@ void dvb_net_release(struct dvb_net *); | |||
45 | int dvb_net_init(struct dvb_adapter *, struct dvb_net *, struct dmx_demux *); | 47 | int dvb_net_init(struct dvb_adapter *, struct dvb_net *, struct dmx_demux *); |
46 | 48 | ||
47 | #endif | 49 | #endif |
50 | |||
51 | #ifndef CONFIG_DVB_NET | ||
52 | |||
53 | struct dvb_dev_stub; | ||
54 | |||
55 | struct dvb_net { | ||
56 | struct dvb_dev_stub *dvbdev; | ||
57 | }; | ||
58 | |||
59 | static inline void dvb_net_release(struct dvb_net *dvbnet) | ||
60 | { | ||
61 | dvbnet->dvbdev = 0; | ||
62 | } | ||
63 | |||
64 | static inline int dvb_net_init(struct dvb_adapter *adap, | ||
65 | struct dvb_net *dvbnet, struct dmx_demux *dmx) | ||
66 | { | ||
67 | dvbnet->dvbdev = (void *)1; | ||
68 | return 0; | ||
69 | } | ||
70 | |||
71 | #endif | ||
72 | |||
73 | #endif | ||