can: build proc support only if CONFIG_PROC_FS is activated
authorAlexander Aring <aar@pengutronix.de>
Mon, 23 May 2016 13:13:00 +0000 (15:13 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 17 Jun 2016 13:39:41 +0000 (15:39 +0200)
When building can subsystem with CONFIG_PROC_FS=n I detected some unused
variables warning by using proc functions. In CAN the proc handling is
nicely placed in one object file. This patch adds simple add a
dependency on CONFIG_PROC_FS for CAN's proc.o file and corresponding
static inline no-op functions.

Signed-off-by: Alexander Aring <aar@pengutronix.de>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
[mkl: provide static inline noops instead of using #ifdefs]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/Makefile
net/can/af_can.h
net/can/proc.c

index cef49eb..1093675 100644 (file)
@@ -3,7 +3,8 @@
 #
 
 obj-$(CONFIG_CAN)      += can.o
-can-y                  := af_can.o proc.o
+can-y                  := af_can.o
+can-$(CONFIG_PROC_FS)  += proc.o
 
 obj-$(CONFIG_CAN_RAW)  += can-raw.o
 can-raw-y              := raw.o
index fca0fe9..38a79ff 100644 (file)
@@ -113,8 +113,19 @@ struct s_pstats {
 extern struct dev_rcv_lists can_rx_alldev_list;
 
 /* function prototypes for the CAN networklayer procfs (proc.c) */
+#ifdef CONFIG_PROC_FS
 void can_init_proc(void);
 void can_remove_proc(void);
+#else
+static inline void can_init_proc(void)
+{
+       pr_info("can: Can't create /proc/net/can. CONFIG_PROC_FS missing!\n");
+}
+
+static inline void can_remove_proc(void)
+{
+}
+#endif
 void can_stat_update(unsigned long data);
 
 /* structures and variables from af_can.c needed in proc.c for reading */
index 1a19b98..85ef7bb 100644 (file)
@@ -517,8 +517,7 @@ void can_init_proc(void)
        can_dir = proc_mkdir("can", init_net.proc_net);
 
        if (!can_dir) {
-               printk(KERN_INFO "can: failed to create /proc/net/can . "
-                      "CONFIG_PROC_FS missing?\n");
+               pr_info("can: failed to create /proc/net/can.\n");
                return;
        }