2005-12-21 11:37:23

by Marc Burkhardt

[permalink] [raw]
Subject: [PATCH] conditionally #ifdef-out unused DiB3000M-C/P functions

The following tiny patch removes the two DiB3000M-C/P functions

int dibusb_dib3000mc_tuner_attach()
int dibusb_dib3000mc_frontend_attach()

that are not needed in case the module is not compiled. The modules a800 as well
as nova-t-usb2 select DVB_DIB3000MB in Kconfig thus the functions will be
enabled due to the module being compiled.

Regards,
Marc


Attachments:
(No filename) (0.00 B)
signature.asc (189.00 B)
Digital signature
Download all attachments

2005-12-23 02:04:45

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH] conditionally #ifdef-out unused DiB3000M-C/P functions

On Wed, Dec 21, 2005 at 12:37:43PM +0100, Marc Koschewski wrote:
> The following tiny patch removes the two DiB3000M-C/P functions
>
> int dibusb_dib3000mc_tuner_attach()
> int dibusb_dib3000mc_frontend_attach()
>
> that are not needed in case the module is not compiled. The modules a800 as well
> as nova-t-usb2 select DVB_DIB3000MB in Kconfig thus the functions will be
> enabled due to the module being compiled.

In theory, you could add #ifdef's in thousands of places of the kernel
around functions similarly small to these two ones or sometimes bigger
functions.

In practice, this would cause breakages in many configurations because
the #ifdef's might either be wrong (as in your patch) or become wrong
over time.

> Regards,
> Marc

> *** dibusb-common.c-orig 2005-12-21 11:04:49.000000000 +0100
> --- dibusb-common.c 2005-12-21 11:05:32.000000000 +0100
> *************** int dibusb_read_eeprom_byte(struct dvb_u
> *** 168,173 ****
> --- 168,174 ----
> }
> EXPORT_SYMBOL(dibusb_read_eeprom_byte);
>
> + #ifdef CONFIG_DVB_USB_DIBUSB_MC
>...

This breaks with DVB_USB_DIBUSB_MC=m.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2005-12-23 02:05:07

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH 2/2] conditionally #ifdef-out unused DiB3000M-C/P defs

On Wed, Dec 21, 2005 at 02:52:44PM +0100, Marc Koschewski wrote:
> This removes the declarations as well.

> *** dibusb.h-orig 2005-12-21 14:49:08.000000000 +0100
> --- dibusb.h 2005-12-21 14:49:30.000000000 +0100
> *************** struct dibusb_state {
> *** 104,111 ****
> --- 104,113 ----
>
> extern struct i2c_algorithm dibusb_i2c_algo;
>
> + #ifdef CONFIG_DVB_USB_DIBUSB_MC
> extern int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *);
> extern int dibusb_dib3000mc_tuner_attach (struct dvb_usb_device *);
> + #endif
>...

There's no need to #ifdef function declarations away.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed