diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
index 3361ae9..7aa51eb 100644
--- a/net/llc/af_llc.c
+++ b/net/llc/af_llc.c
@@ -555,7 +555,7 @@
 	return rc;
 }
 
-int llc_wait_data(struct sock *sk, long timeo)
+static int llc_wait_data(struct sock *sk, long timeo)
 {
 	int rc;
 
@@ -1003,9 +1003,6 @@
 	.sendpage    = sock_no_sendpage,
 };
 
-extern void llc_sap_handler(struct llc_sap *sap, struct sk_buff *skb);
-extern void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb);
-
 static char llc_proc_err_msg[] __initdata =
         KERN_CRIT "LLC: Unable to register the proc_fs entries\n";
 static char llc_sysctl_err_msg[] __initdata =
diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c
index 05236c2..8f7b46d 100644
--- a/net/llc/llc_c_ac.c
+++ b/net/llc/llc_c_ac.c
@@ -1321,7 +1321,7 @@
 	return 0;
 }
 
-int llc_conn_ac_inc_vs_by_1(struct sock *sk, struct sk_buff *skb)
+static int llc_conn_ac_inc_vs_by_1(struct sock *sk, struct sk_buff *skb)
 {
 	llc_sk(sk)->vS = (llc_sk(sk)->vS + 1) % 128;
 	return 0;
diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c
index ab9e6d7..76f94e0 100644
--- a/net/llc/llc_conn.c
+++ b/net/llc/llc_conn.c
@@ -819,7 +819,8 @@
  *	Allocates a LLC sock and initializes it. Returns the new LLC sock
  *	or %NULL if there's no memory available for one
  */
-struct sock *llc_sk_alloc(int family, int priority, struct proto *prot)
+struct sock *llc_sk_alloc(int family, unsigned int __nocast priority,
+			 struct proto *prot)
 {
 	struct sock *sk = sk_alloc(family, priority, prot, 1);
 
diff --git a/net/llc/llc_core.c b/net/llc/llc_core.c
index 9ccff12..ab0fcd3 100644
--- a/net/llc/llc_core.c
+++ b/net/llc/llc_core.c
@@ -69,7 +69,7 @@
 	write_unlock_bh(&llc_sap_list_lock);
 }
 
-struct llc_sap *__llc_sap_find(unsigned char sap_value)
+static struct llc_sap *__llc_sap_find(unsigned char sap_value)
 {
 	struct llc_sap* sap;
 
diff --git a/net/llc/sysctl_net_llc.c b/net/llc/sysctl_net_llc.c
index 4d99d2f..d1eaddb 100644
--- a/net/llc/sysctl_net_llc.c
+++ b/net/llc/sysctl_net_llc.c
@@ -8,17 +8,12 @@
 #include <linux/mm.h>
 #include <linux/init.h>
 #include <linux/sysctl.h>
+#include <net/llc.h>
 
 #ifndef CONFIG_SYSCTL
 #error This file should not be compiled without CONFIG_SYSCTL defined
 #endif
 
-extern int sysctl_llc2_ack_timeout;
-extern int sysctl_llc2_busy_timeout;
-extern int sysctl_llc2_p_timeout;
-extern int sysctl_llc2_rej_timeout;
-extern int sysctl_llc_station_ack_timeout;
-
 static struct ctl_table llc2_timeout_table[] = {
 	{
 		.ctl_name	= NET_LLC2_ACK_TIMEOUT,
