Re: [PATCH] Make DVB NET configurable in the kernel.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em 23-05-2011 10:11, Hans Petter Selasky escreveu:
> --HPS
> 
> 
> dvb-usb-0012.patch
> 
> 
> From 7222450a9d6f96f652237c65019fb25f54586d01 Mon Sep 17 00:00:00 2001
> From: Hans Petter Selasky <hselasky@xxxxxxx>
> Date: Mon, 23 May 2011 14:43:35 +0200
> Subject: [PATCH] Make DVB NET configurable in the kernel.
> 
> Signed-off-by: Hans Petter Selasky <hselasky@xxxxxxx>
> ---
>  drivers/media/Kconfig                |   12 +++++++++++-
>  drivers/media/dvb/dvb-core/Makefile  |    4 +++-
>  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 6995940..dc61895 100644
> --- a/drivers/media/Kconfig
> +++ b/drivers/media/Kconfig
> @@ -68,7 +68,6 @@ config VIDEO_V4L2_SUBDEV_API
>  
>  config DVB_CORE
>  	tristate "DVB for Linux"
> -	depends on NET && INET
>  	select CRC32
>  	help
>  	  DVB core utility functions for device handling, software fallbacks etc.
> @@ -85,6 +84,17 @@ config DVB_CORE
>  
>  	  If unsure say N.
>  
> +config DVB_NET
> +	bool "DVB Network Support"
> +	default (NET && INET)
> +	depends on NET && INET
> +	help
> +	  The DVB network support in the DVB core can
> +	  optionally be disabled if this
> +	  option is set to N.
> +
> +	  If unsure say Y.
> +
>  config VIDEO_MEDIA
>  	tristate
>  	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 0b51828..8f22bcd 100644
> --- a/drivers/media/dvb/dvb-core/Makefile
> +++ b/drivers/media/dvb/dvb-core/Makefile
> @@ -2,8 +2,10 @@
>  # Makefile for the kernel DVB device drivers.
>  #
>  
> +dvb-net-$(CONFIG_DVB_NET) := dvb_net.o
> +
>  dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o dvb_filter.o 	\
>  		 dvb_ca_en50221.o dvb_frontend.o 		\
> -		 dvb_net.o dvb_ringbuffer.o dvb_math.o
> +		 $(dvb-net-y) dvb_ringbuffer.o dvb_math.o
>  
>  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 3a3126c..8a0907f 100644
> --- a/drivers/media/dvb/dvb-core/dvb_net.h
> +++ b/drivers/media/dvb/dvb-core/dvb_net.h
> @@ -32,6 +32,8 @@
>  
>  #define DVB_NET_DEVICES_MAX 10
>  
> +#ifdef CONFIG_DVB_NET
> +
>  struct dvb_net {
>  	struct dvb_device *dvbdev;
>  	struct net_device *device[DVB_NET_DEVICES_MAX];
> @@ -45,3 +47,27 @@ void dvb_net_release(struct dvb_net *);
>  int  dvb_net_init(struct dvb_adapter *, struct dvb_net *, struct dmx_demux *);
>  
>  #endif
> +
> +#ifndef CONFIG_DVB_NET
> +
> +struct dvb_dev_stub;
> +
> +struct dvb_net {
> +	struct dvb_dev_stub *dvbdev;
> +};
> +
> +static inline void dvb_net_release(struct dvb_net *dvbnet)
> +{
> +	dvbnet->dvbdev = 0;
> +}
> +
> +static inline int dvb_net_init(struct dvb_adapter *adap,
> +    struct dvb_net *dvbnet, struct dmx_demux *dmx)
> +{
> +	dvbnet->dvbdev = (void *)1;
> +	return 0;
> +}
> +
> +#endif
> +
> +#endif
> -- 1.7.1.1
--HPS

Patch is ok, but the code when DVB_NET is not defined can
be simpler.

So, I'm applying the following patch after yours:

commit 92e226848f32fb593f5da0f1d1c30b6a6ec429b6
Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Date:   Wed Jun 1 13:03:12 2011 -0300

    dvb_net: Simplify the code if DVB NET is not defined
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>

diff --git a/drivers/media/dvb/dvb-core/dvb_net.h b/drivers/media/dvb/dvb-core/dvb_net.h
index cfd2c46..1e53acd 100644
--- a/drivers/media/dvb/dvb-core/dvb_net.h
+++ b/drivers/media/dvb/dvb-core/dvb_net.h
@@ -42,32 +42,25 @@ struct dvb_net {
 	struct dmx_demux *demux;
 };
 
-
 void dvb_net_release(struct dvb_net *);
 int  dvb_net_init(struct dvb_adapter *, struct dvb_net *, struct dmx_demux *);
 
-#endif
-
-#ifndef CONFIG_DVB_NET
-
-struct dvb_dev_stub;
+#else
 
 struct dvb_net {
-	struct dvb_dev_stub *dvbdev;
+	struct dvb_device *dvbdev;
 };
 
 static inline void dvb_net_release(struct dvb_net *dvbnet)
 {
-	dvbnet->dvbdev = 0;
 }
 
 static inline int dvb_net_init(struct dvb_adapter *adap,
 			       struct dvb_net *dvbnet, struct dmx_demux *dmx)
 {
-	dvbnet->dvbdev = (void *)1;
 	return 0;
 }
 
-#endif
+#endif /* ifdef CONFIG_DVB_NET */
 
 #endif
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux