Patchwork [1/1] isdn: Make CONFIG_ISDN depend on CONFIG_NETDEVICES

login
register
mail settings
Submitter Lee Jones
Date Nov. 7, 2012, 9:55 a.m.
Message ID <1352282103-13665-1-git-send-email-lee.jones@linaro.org>
Download mbox | patch
Permalink /patch/197643/
State Accepted
Delegated to: David Miller
Headers show

Comments

Lee Jones - Nov. 7, 2012, 9:55 a.m.
It doesn't make much sense to enable ISDN services if you don't
intend to connect to a network. Therefore insisting that ISDN
depends on NETDEVICES seems logical. We can then remove any
guards mentioning NETDEVICES inside all subordinate drivers.

This also has the nice side-effect of fixing the warning below
when ISDN_I4L && !CONFIG_NETDEVICES at compile time.

This patch fixes:
drivers/isdn/i4l/isdn_common.c: In function ‘isdn_ioctl’:
drivers/isdn/i4l/isdn_common.c:1278:8: warning: unused variable ‘s’ [-Wunused-variable]

Cc: Karsten Keil <isdn@linux-pingi.de>
Cc: netdev@vger.kernel.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/isdn/Kconfig           |    2 +-
 drivers/isdn/i4l/Kconfig       |    2 +-
 drivers/isdn/i4l/isdn_common.c |    4 ----
 3 files changed, 2 insertions(+), 6 deletions(-)
Alan Cox - Nov. 7, 2012, 3:04 p.m.
On Wed,  7 Nov 2012 10:55:03 +0100
Lee Jones <lee.jones@linaro.org> wrote:

> It doesn't make much sense to enable ISDN services if you don't
> intend to connect to a network. 

I would disagree. However what I don't understand and you've not
explained is why the current code is a bug or a problem ?

This seems to be a make-work inconvenience causing patch that serves no
useful purpose ?

Alan
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Nov. 7, 2012, 7:42 p.m.
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
Date: Wed, 7 Nov 2012 15:04:36 +0000

> On Wed,  7 Nov 2012 10:55:03 +0100
> Lee Jones <lee.jones@linaro.org> wrote:
> 
>> It doesn't make much sense to enable ISDN services if you don't
>> intend to connect to a network. 
> 
> I would disagree. However what I don't understand and you've not
> explained is why the current code is a bug or a problem ?
> 
> This seems to be a make-work inconvenience causing patch that serves no
> useful purpose ?

The ISDN drivers are peppered with CONFIG_NETDEVICES protection,
but there are missing cases in several locations.

This is ugly, and causes build problems, so adding the dependency
is the cleanest and most correct soluation and I fully intend
to apply this patch.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Nov. 7, 2012, 11:59 p.m.
From: Lee Jones <lee.jones@linaro.org>

Date: Wed,  7 Nov 2012 10:55:03 +0100

> It doesn't make much sense to enable ISDN services if you don't

> intend to connect to a network. Therefore insisting that ISDN

> depends on NETDEVICES seems logical. We can then remove any

> guards mentioning NETDEVICES inside all subordinate drivers.

> 

> This also has the nice side-effect of fixing the warning below

> when ISDN_I4L && !CONFIG_NETDEVICES at compile time.

> 

> This patch fixes:

> drivers/isdn/i4l/isdn_common.c: In function ‘isdn_ioctl’:

> drivers/isdn/i4l/isdn_common.c:1278:8: warning: unused variable ‘s’ [-Wunused-variable]

> 

> Cc: Karsten Keil <isdn@linux-pingi.de>

> Cc: netdev@vger.kernel.org

> Signed-off-by: Lee Jones <lee.jones@linaro.org>


Applied, thanks.
Tilman Schmidt - Nov. 12, 2012, 5:08 p.m.
Am 07.11.2012 10:55, schrieb Lee Jones:
> It doesn't make much sense to enable ISDN services if you don't
> intend to connect to a network. Therefore insisting that ISDN
> depends on NETDEVICES seems logical.

Well, not quite. ISDN is (was?) also used for telephony applications
which could work just fine without network devices. But I guess not
many kernels will actually be built with CONFIG_NETDEVICES=n, so the
inconvenience is small.

Patch

diff --git a/drivers/isdn/Kconfig b/drivers/isdn/Kconfig
index a233ed5..86cd75a 100644
--- a/drivers/isdn/Kconfig
+++ b/drivers/isdn/Kconfig
@@ -4,7 +4,7 @@ 
 
 menuconfig ISDN
 	bool "ISDN support"
-	depends on NET
+	depends on NET && NETDEVICES
 	depends on !S390 && !UML
 	---help---
 	  ISDN ("Integrated Services Digital Network", called RNIS in France)
diff --git a/drivers/isdn/i4l/Kconfig b/drivers/isdn/i4l/Kconfig
index 2302fbe..9c6650e 100644
--- a/drivers/isdn/i4l/Kconfig
+++ b/drivers/isdn/i4l/Kconfig
@@ -6,7 +6,7 @@  if ISDN_I4L
 
 config ISDN_PPP
 	bool "Support synchronous PPP"
-	depends on INET && NETDEVICES
+	depends on INET
 	select SLHC
 	help
 	  Over digital connections such as ISDN, there is no need to
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c
index 8c610fa..e2a945e 100644
--- a/drivers/isdn/i4l/isdn_common.c
+++ b/drivers/isdn/i4l/isdn_common.c
@@ -1312,7 +1312,6 @@  isdn_ioctl(struct file *file, uint cmd, ulong arg)
 			} else
 				return -EINVAL;
 			break;
-#ifdef CONFIG_NETDEVICES
 		case IIOCNETGPN:
 			/* Get peer phone number of a connected
 			 * isdn network interface */
@@ -1322,7 +1321,6 @@  isdn_ioctl(struct file *file, uint cmd, ulong arg)
 				return isdn_net_getpeer(&phone, argp);
 			} else
 				return -EINVAL;
-#endif
 		default:
 			return -EINVAL;
 		}
@@ -1352,7 +1350,6 @@  isdn_ioctl(struct file *file, uint cmd, ulong arg)
 		case IIOCNETLCR:
 			printk(KERN_INFO "INFO: ISDN_ABC_LCR_SUPPORT not enabled\n");
 			return -ENODEV;
-#ifdef CONFIG_NETDEVICES
 		case IIOCNETAIF:
 			/* Add a network-interface */
 			if (arg) {
@@ -1491,7 +1488,6 @@  isdn_ioctl(struct file *file, uint cmd, ulong arg)
 				return -EFAULT;
 			return isdn_net_force_hangup(name);
 			break;
-#endif                          /* CONFIG_NETDEVICES */
 		case IIOCSETVER:
 			dev->net_verbose = arg;
 			printk(KERN_INFO "isdn: Verbose-Level is %d\n", dev->net_verbose);