old version maemo19
authortanner <tanner@mach.kyb.local>
Thu, 15 Apr 2010 09:52:11 +0000 (11:52 +0200)
committertanner <tanner@mach.kyb.local>
Thu, 15 Apr 2010 09:52:11 +0000 (11:52 +0200)
kernel-maemo-2.6.28/debian/JoikuSpot_Bouncer.c [deleted file]
kernel-maemo-2.6.28/debian/changelog
kernel-maemo-2.6.28/debian/control
kernel-maemo-2.6.28/debian/joikuspot/JoikuSpot_Bouncer.c [new file with mode: 0644]
kernel-maemo-2.6.28/debian/joikuspot/Makefile [new file with mode: 0644]
kernel-maemo-2.6.28/debian/patches/overclock.diff [new file with mode: 0644]
kernel-maemo-2.6.28/debian/patches/series
kernel-maemo-2.6.28/debian/rules
kernel-maemo-2.6.28/debian/rx51maemo_defconfig

diff --git a/kernel-maemo-2.6.28/debian/JoikuSpot_Bouncer.c b/kernel-maemo-2.6.28/debian/JoikuSpot_Bouncer.c
deleted file mode 100644 (file)
index 8ff74a8..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/* 
- * Implementation of JoikuSpotBouncer module
- * JoikuSpot_Bouncer.c
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the license, or ( at your option ) any later version
- */
-
-#include <linux/module.h>         /* needed by all kernel modules          */
-#include <linux/init.h>           /* needed for custom init/exit functions */
-#include <linux/kernel.h>         /* needed for KERN_ALERT macro           */
-#include <linux/netfilter.h>      /* Hook register/unregister              */
-#include <linux/netfilter_ipv4.h> /* nf_hook_priorities                    */
-#include <linux/ip.h>             /* Ip header                             */
-#include <linux/tcp.h>            /* Tcp Header                            */
-#include <linux/udp.h>            /* Udp Header                            */
-#include <net/inet_hashtables.h>  /* __inet_lookup()                       */
-#include <net/inet_sock.h>        /* struct inet_sock                      */
-
-
-/* Special macro to indicate license (to avoid tainting the kernel) */
-
-MODULE_LICENSE( "Dual MIT/GPL" );
-MODULE_AUTHOR ( "JoikuSoft Oy Ltd <info@joikusoft.com>" );
-
-extern struct inet_hashinfo tcp_hashinfo;
-extern struct proto udp_prot;
-extern struct rwlock_t udp_hash_lock;
-
-static struct sock *__udp4_lib_lookup( struct net *net ,
-    unsigned long int saddr ,
-    unsigned short int sport ,
-    unsigned long int daddr ,
-    unsigned short int dport ,
-    int dif ,
-    struct hlist_head udptable[] )
-    {
-    struct sock *sk , *result = NULL;
-    struct hlist_node *node;
-    unsigned short int hnum = ntohs( dport );
-    int badness = -1;
-
-    read_lock( &udp_hash_lock );
-
-    sk_for_each ( sk , node , &udptable[ udp_hashfn ( net , hnum ) ] )
-        {
-        struct inet_sock *inet = inet_sk( sk );
-
-        if ( net_eq ( sock_net( sk ) , net ) && sk->sk_hash == hnum &&
-            !ipv6_only_sock( sk ) )
-            {
-
-            int score = ( sk->sk_family == PF_INET ? 1 : 0 );
-
-            if ( inet->rcv_saddr )
-                {
-                if ( inet->rcv_saddr != daddr )
-                    {
-                    continue;
-                    }
-                score += 2;
-                }
-            if ( inet->daddr )
-                {
-                if ( inet->daddr != saddr )
-                    {
-                    continue;
-                    }
-                score += 2;
-                }
-            if ( inet->dport )
-                {
-                if ( inet->dport != sport )
-                    {
-                    continue;
-                    }
-                score += 2;
-                }
-            if ( sk->sk_bound_dev_if )
-                {
-                if ( sk->sk_bound_dev_if != dif )
-                    {
-                    continue;
-                    }
-                score += 2;
-                }
-            if ( score == 9 )
-                {
-                result = sk;
-                break;
-                }
-                else if ( score > badness )
-                {
-                result  = sk;
-                badness = score;
-                }
-            }
-        }
-    if ( result )
-        {
-        sock_hold ( result );
-        }
-    read_unlock ( &udp_hash_lock );
-    return result;
-    }
-
-
-static unsigned int joikuspot_nf_hook ( unsigned int hook ,
-    struct sk_buff *pskb ,
-    const struct net_device *in ,
-    const struct net_device *out ,
-    int ( *okfn ) ( struct sk_buff * ) )
-    {
-    struct sock *sk;
-    struct iphdr *iph = ipip_hdr ( pskb );
-
-    if ( iph->protocol == 6 )
-        {
-        struct tcphdr *th, tcph;
-
-        th = skb_header_pointer (
-            pskb , iph->ihl << 2 , sizeof( tcph ) , &tcph );
-
-        sk = __inet_lookup( dev_net ( pskb->dst->dev ) , &tcp_hashinfo , 
-            iph->saddr , th->source , iph->daddr , th->dest , inet_iif ( pskb ) );
-
-        if( !sk )
-            {
-            return NF_DROP;
-            }
-        else
-            {
-            return NF_ACCEPT;
-            }
-        }
-
-    if ( iph->protocol == 17 )
-        {
-        struct udphdr *uh, udph;
-
-        uh = skb_header_pointer (
-            pskb , iph->ihl << 2 , sizeof( udph ) , &udph );
-
-        sk = __udp4_lib_lookup( dev_net ( pskb->dst->dev ) , iph->saddr , uh->source ,
-            iph->daddr , uh->dest , inet_iif ( pskb ) , udp_prot.h.udp_hash );
-
-        if ( sk != NULL )
-            {
-            return NF_ACCEPT;
-            }
-        else
-            {
-            return NF_DROP;
-            }
-        }
-
-    return NF_ACCEPT;
-    }
-
-
-static struct nf_hook_ops joikuspot_ops =
-    {
-    .hook     = joikuspot_nf_hook,
-    .owner    = THIS_MODULE,
-    .pf       = PF_INET,
-    .hooknum  = NF_INET_LOCAL_IN,
-    .priority = NF_IP_PRI_FIRST
-    };
-
-static int joikuspot_init( void )
-    {
-    int retval = 0;
-
-    printk( KERN_DEBUG "JoikuSpot Bouncer Kernel Module init\n" );
-
-    retval = nf_register_hook( &joikuspot_ops );
-
-    if ( retval < 0 )
-        {
-        return retval;
-        }
-
-    return retval;
-    }
-
-static void joikuspot_exit( void ) 
-    {
-    nf_unregister_hook ( &joikuspot_ops );
-    printk( KERN_DEBUG "JoikuSpot Bouncer Kernel Module exit\n" );
-    }
-
-module_init( joikuspot_init ); 
-module_exit( joikuspot_exit );
-
index 9d4dd75..7e9f727 100644 (file)
@@ -1,3 +1,11 @@
+kernel-maemo (2.6.28-maemo19) fremantle; urgency=low
+
+  * added overclocking (up to 1.2GHz) support, set default max to 600MHz
+  * added Joikuspot module and SLIP support
+  * control: added Provides for new features 
+
+ -- Thomas Tanner <maemo@tannerlab.com>  Sun, 04 Apr 2010 00:00:00 +0100
+
 kernel-maemo (2.6.28-maemo18) fremantle; urgency=low
 
   * add kexec patches to enable kexec support on N900
index 811e59e..7b71e03 100644 (file)
@@ -20,10 +20,10 @@ Architecture: armel
 Pre-Depends: kernel-maemo (= ${binary:Version}), kernel-modules-maemo (= ${binary:Version}), softupd (>= 0.4.0)
 Recommends: usbip, iptables, mtd-utils, kexec-tools
 Description: Linux kernel updater for an enhanced Maemo 5 kernel 2.6.28.10
- This package will flash the kernel image upon installation
- and eat kernel's files from /boot. If you want to revert to the stock
- kernel, run "apt-get install --reinstall kernel kernel-flasher" as root
+ This package will flash the kernel image upon installation. If you want to revert to the
+ stock Nokia kernel, run "apt-get install --reinstall kernel kernel-flasher" as root
  or use the flasher to flash the extracted zImage from the firmware image.
+ For discussion and support please visit http://talk.maemo.org/showthread.php?t=43420
  .
  This custom kernel contains additional modules for IPv6, packet filtering,
  QoS,  NAT, tunneling, kernel configuration, Wifi mesh networking,
@@ -31,8 +31,10 @@ Description: Linux kernel updater for an enhanced Maemo 5 kernel 2.6.28.10
  NTFS read support, ISO9660, UDF, CIFS, automounter,
  UNIONFS, device mapper and dm-loop, cryptography, cryptoloop,
  EFI partitions, UTF8 codepages, mouse+joystick input, PPP,
- serial support, USB/IP and generic USB device drivers
- and kexec support.
+ serial support, USB/IP and generic USB device drivers,
+ overclocking and kexec support.
+ .
+ Warning: Overclocking may damage your device and is at your own risk!
  .
  Known bugs: Touchscreen calibration (osso-applet-screencalibration) is incompatible
  with the enabled evdev modules. You need to use the stock Nokia kernel for calibration.
@@ -124,6 +126,7 @@ Depends: module-init-tools (>= 3.3), kernel-maemo (= ${binary:Version})
 Provides: kernel-feature-netfilter, kernel-feature-ipv6, kernel-feature-ext4, kernel-feature-xfs, kernel-feature-reiserfs,
   kernel-feature-ntfs-read, kernel-feature-udf, kernel-feature-cifs, kernel-feature-automounter,
   kernel-feature-unionfs, kernel-feature-crypto, kernel-feature-dmloop, kernel-feature-utf8, kernel-feature-mousejoy,
-  kernel-feature-usbip, kernel-feature-ppp, kernel-feature-qos, kernel-feature-block2mtd
+  kernel-feature-usbip, kernel-feature-ppp, kernel-feature-qos, kernel-feature-block2mtd, kernel-feature-kexec,
+  kernel-feature-overclock, kernel-feature-joikuspot, kernel-feature-slip
 Description: Linux kernel modules
  This package provides kernel modules for the enhanced Maemo 5 kernel 2.6.28.10
diff --git a/kernel-maemo-2.6.28/debian/joikuspot/JoikuSpot_Bouncer.c b/kernel-maemo-2.6.28/debian/joikuspot/JoikuSpot_Bouncer.c
new file mode 100644 (file)
index 0000000..8ff74a8
--- /dev/null
@@ -0,0 +1,196 @@
+/* 
+ * Implementation of JoikuSpotBouncer module
+ * JoikuSpot_Bouncer.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the license, or ( at your option ) any later version
+ */
+
+#include <linux/module.h>         /* needed by all kernel modules          */
+#include <linux/init.h>           /* needed for custom init/exit functions */
+#include <linux/kernel.h>         /* needed for KERN_ALERT macro           */
+#include <linux/netfilter.h>      /* Hook register/unregister              */
+#include <linux/netfilter_ipv4.h> /* nf_hook_priorities                    */
+#include <linux/ip.h>             /* Ip header                             */
+#include <linux/tcp.h>            /* Tcp Header                            */
+#include <linux/udp.h>            /* Udp Header                            */
+#include <net/inet_hashtables.h>  /* __inet_lookup()                       */
+#include <net/inet_sock.h>        /* struct inet_sock                      */
+
+
+/* Special macro to indicate license (to avoid tainting the kernel) */
+
+MODULE_LICENSE( "Dual MIT/GPL" );
+MODULE_AUTHOR ( "JoikuSoft Oy Ltd <info@joikusoft.com>" );
+
+extern struct inet_hashinfo tcp_hashinfo;
+extern struct proto udp_prot;
+extern struct rwlock_t udp_hash_lock;
+
+static struct sock *__udp4_lib_lookup( struct net *net ,
+    unsigned long int saddr ,
+    unsigned short int sport ,
+    unsigned long int daddr ,
+    unsigned short int dport ,
+    int dif ,
+    struct hlist_head udptable[] )
+    {
+    struct sock *sk , *result = NULL;
+    struct hlist_node *node;
+    unsigned short int hnum = ntohs( dport );
+    int badness = -1;
+
+    read_lock( &udp_hash_lock );
+
+    sk_for_each ( sk , node , &udptable[ udp_hashfn ( net , hnum ) ] )
+        {
+        struct inet_sock *inet = inet_sk( sk );
+
+        if ( net_eq ( sock_net( sk ) , net ) && sk->sk_hash == hnum &&
+            !ipv6_only_sock( sk ) )
+            {
+
+            int score = ( sk->sk_family == PF_INET ? 1 : 0 );
+
+            if ( inet->rcv_saddr )
+                {
+                if ( inet->rcv_saddr != daddr )
+                    {
+                    continue;
+                    }
+                score += 2;
+                }
+            if ( inet->daddr )
+                {
+                if ( inet->daddr != saddr )
+                    {
+                    continue;
+                    }
+                score += 2;
+                }
+            if ( inet->dport )
+                {
+                if ( inet->dport != sport )
+                    {
+                    continue;
+                    }
+                score += 2;
+                }
+            if ( sk->sk_bound_dev_if )
+                {
+                if ( sk->sk_bound_dev_if != dif )
+                    {
+                    continue;
+                    }
+                score += 2;
+                }
+            if ( score == 9 )
+                {
+                result = sk;
+                break;
+                }
+                else if ( score > badness )
+                {
+                result  = sk;
+                badness = score;
+                }
+            }
+        }
+    if ( result )
+        {
+        sock_hold ( result );
+        }
+    read_unlock ( &udp_hash_lock );
+    return result;
+    }
+
+
+static unsigned int joikuspot_nf_hook ( unsigned int hook ,
+    struct sk_buff *pskb ,
+    const struct net_device *in ,
+    const struct net_device *out ,
+    int ( *okfn ) ( struct sk_buff * ) )
+    {
+    struct sock *sk;
+    struct iphdr *iph = ipip_hdr ( pskb );
+
+    if ( iph->protocol == 6 )
+        {
+        struct tcphdr *th, tcph;
+
+        th = skb_header_pointer (
+            pskb , iph->ihl << 2 , sizeof( tcph ) , &tcph );
+
+        sk = __inet_lookup( dev_net ( pskb->dst->dev ) , &tcp_hashinfo , 
+            iph->saddr , th->source , iph->daddr , th->dest , inet_iif ( pskb ) );
+
+        if( !sk )
+            {
+            return NF_DROP;
+            }
+        else
+            {
+            return NF_ACCEPT;
+            }
+        }
+
+    if ( iph->protocol == 17 )
+        {
+        struct udphdr *uh, udph;
+
+        uh = skb_header_pointer (
+            pskb , iph->ihl << 2 , sizeof( udph ) , &udph );
+
+        sk = __udp4_lib_lookup( dev_net ( pskb->dst->dev ) , iph->saddr , uh->source ,
+            iph->daddr , uh->dest , inet_iif ( pskb ) , udp_prot.h.udp_hash );
+
+        if ( sk != NULL )
+            {
+            return NF_ACCEPT;
+            }
+        else
+            {
+            return NF_DROP;
+            }
+        }
+
+    return NF_ACCEPT;
+    }
+
+
+static struct nf_hook_ops joikuspot_ops =
+    {
+    .hook     = joikuspot_nf_hook,
+    .owner    = THIS_MODULE,
+    .pf       = PF_INET,
+    .hooknum  = NF_INET_LOCAL_IN,
+    .priority = NF_IP_PRI_FIRST
+    };
+
+static int joikuspot_init( void )
+    {
+    int retval = 0;
+
+    printk( KERN_DEBUG "JoikuSpot Bouncer Kernel Module init\n" );
+
+    retval = nf_register_hook( &joikuspot_ops );
+
+    if ( retval < 0 )
+        {
+        return retval;
+        }
+
+    return retval;
+    }
+
+static void joikuspot_exit( void ) 
+    {
+    nf_unregister_hook ( &joikuspot_ops );
+    printk( KERN_DEBUG "JoikuSpot Bouncer Kernel Module exit\n" );
+    }
+
+module_init( joikuspot_init ); 
+module_exit( joikuspot_exit );
+
diff --git a/kernel-maemo-2.6.28/debian/joikuspot/Makefile b/kernel-maemo-2.6.28/debian/joikuspot/Makefile
new file mode 100644 (file)
index 0000000..4e53dd3
--- /dev/null
@@ -0,0 +1,2 @@
+
+obj-m := JoikuSpot_Bouncer.o
diff --git a/kernel-maemo-2.6.28/debian/patches/overclock.diff b/kernel-maemo-2.6.28/debian/patches/overclock.diff
new file mode 100644 (file)
index 0000000..f399c29
--- /dev/null
@@ -0,0 +1,104 @@
+--- kernel-maemo-2.6.28.orig/arch/arm/mach-omap2/omap3-opp.h
++++ kernel-maemo-2.6.28/arch/arm/mach-omap2/omap3-opp.h
+@@ -4,6 +4,15 @@
+ #include <mach/omap-pm.h>
+ /* MPU speeds */
++#define S1200M  1200000000
++#define S1100M  1100000000
++#define S1000M  1000000000
++#define S950M   950000000
++#define S900M   900000000
++#define S850M   850000000
++#define S800M   800000000
++#define S750M   750000000
++#define S700M   700000000
+ #define S600M   600000000
+ #define S550M   550000000
+ #define S500M   500000000
+@@ -33,6 +42,16 @@
+       {S550M, VDD1_OPP4, 0x36},
+       /*OPP5*/
+       {S600M, VDD1_OPP5, 0x3C},
++      /*overclocking*/
++      {S700M, 6, 0x3C},
++      {S750M, 7, 0x3C},
++      {S800M, 8, 0x3C},
++      {S850M, 9, 0x3C},
++      {S900M, 10, 0x3C},
++      {S950M, 11, 0x3C},
++      {S1000M, 12, 0x3C},
++      {S1100M, 13, 0x3C},
++      {S1200M, 14, 0x3C},
+ };
+ static struct omap_opp omap3_l3_rate_table[] = {
+@@ -57,6 +76,16 @@
+       {S400M, VDD1_OPP4, 0x36},
+       /*OPP5*/
+       {S430M, VDD1_OPP5, 0x3C},
++      /*overclocking*/
++      {S430M, 6, 0x3C},
++      {S430M, 7, 0x3C},
++      {S430M, 8, 0x3C},/*800MHz*/
++      {S500M, 9, 0x3C},
++      {S500M, 10, 0x3C},
++      {S500M, 11, 0x3C},
++      {S500M, 12, 0x3C},
++      {S500M, 13, 0x3C},
++      {S500M, 14, 0x3C},
+ };
+ #endif
+--- kernel-maemo-2.6.28.orig/arch/arm/plat-omap/include/mach/omap34xx.h
++++ kernel-maemo-2.6.28/arch/arm/plat-omap/include/mach/omap34xx.h
+@@ -114,7 +114,8 @@
+ #define VDD2_OPP3     0x3
+ #define MIN_VDD1_OPP  VDD1_OPP1
+-#define MAX_VDD1_OPP  VDD1_OPP5
++/*#define MAX_VDD1_OPP        VDD1_OPP5*/
++#define MAX_VDD1_OPP  14
+ #define MIN_VDD2_OPP  VDD2_OPP1
+ #define MAX_VDD2_OPP  VDD2_OPP3
+--- kernel-maemo-2.6.28.orig/drivers/cpufreq/cpufreq.c
++++ kernel-maemo-2.6.28/drivers/cpufreq/cpufreq.c
+@@ -823,7 +823,8 @@
+               goto err_out;
+       }
+       policy->user_policy.min = policy->cpuinfo.min_freq;
+-      policy->user_policy.max = policy->cpuinfo.max_freq;
++      /*policy->user_policy.max = policy->cpuinfo.max_freq;*/
++      policy->user_policy.max = 600000; /*N900 hack: set default max to 600MHz */
+       blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
+                                    CPUFREQ_START, policy);
+--- kernel-maemo-2.6.28.orig/arch/arm/mach-omap2/smartreflex.c
++++ kernel-maemo-2.6.28/arch/arm/mach-omap2/smartreflex.c
+@@ -513,7 +513,7 @@
+       sr->req_opp_no = target_opp_no;
+       if (sr->srid == SR1) {
+-              switch (target_opp_no) {
++              switch (min(target_opp_no,5)) {
+               case 5:
+                       nvalue_reciprocal = sr->opp5_nvalue;
+                       break;
+--- kernel-maemo-2.6.28.orig/arch/arm/plat-omap/cpu-omap.c
++++ kernel-maemo-2.6.28/arch/arm/plat-omap/cpu-omap.c
+@@ -148,10 +148,12 @@
+                                                       VERY_HI_RATE) / 1000;
+       }
+-      clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);
++      /*clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);*/
++      clk_set_rate(mpu_clk, 600000 * 1000); /*N900 hack: set default max to 600MHz */
+       policy->min = policy->cpuinfo.min_freq;
+-      policy->max = policy->cpuinfo.max_freq;
++      /*policy->max = policy->cpuinfo.max_freq;*/
++      policy->max = 600000; /*N900 hack: set default max to 600MHz */
+       policy->cur = omap_getspeed(0);
+       policy->cpuinfo.transition_latency = 300 * 1000;
index 65229c6..98dca90 100644 (file)
@@ -12,3 +12,4 @@ ppp_async_matan.diff
 block2mtd-yoush.diff
 gentoo-fsfixes.diff
 kexec.diff
+overclock.diff
index 35361ba..ec04988 100644 (file)
@@ -63,6 +63,7 @@ kernel-stamp: configure-stamp
 modules-stamp: configure-stamp
        echo "compile $(PRODUCT) kernel modules"
        cd $(KSRC) && $(MAKE) $(NJOBS) $(EXTRAVERSION) modules
+       $(MAKE) -C $(KSRC) M=debian/joikuspot EXTRAVERSION=$(EXTRAVERSION) modules
        touch $@
 
 modules-extra: configure-stamp
@@ -80,8 +81,8 @@ clean:
        dh_testroot
 
        mkdir -p $(BUILDTMP)
-       $(MAKE) clean
-       -rm -f scripts/basic/{docproc,fixdep,hash} scripts/kconfig/mconf
+       $(MAKE) mrproper
+       -rm -f scripts/basic/{docproc,fixdep,hash} scripts/kconfig/mconf scripts/kconfig/*.o scripts/kconfig/lxdialog/*.o
        rm -f modules/modversions.h modules/ksyms.ver debian/files conf.vars scripts/cramfs/cramfsck \
                scripts/cramfs/mkcramfs applied_patches debian/buildinfo stamp-* .config* \
                debian/$(FLASHER_PACKAGE).postinst
index e9cb0ec..ae2191f 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28maemo-omap1
-# Tue Mar  9 09:28:49 2010
+# Linux kernel version: 2.6.28.10maemo-omap1
+# Mon Apr  5 13:00:41 2010
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -70,6 +70,7 @@ CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
 CONFIG_EMBEDDED=y
 CONFIG_UID16=y
 CONFIG_SYSCTL_SYSCALL=y
@@ -80,10 +81,8 @@ CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
-CONFIG_COMPAT_BRK=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
 CONFIG_TIMERFD=y
@@ -92,6 +91,7 @@ CONFIG_SHMEM=y
 CONFIG_AIO=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
 # CONFIG_SLAB is not set
 CONFIG_SLUB=y
 # CONFIG_SLOB is not set
@@ -964,8 +964,11 @@ CONFIG_PPP_BSDCOMP=m
 CONFIG_PPP_MPPE=m
 CONFIG_PPPOE=m
 CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
 CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
 # CONFIG_NETCONSOLE is not set
 # CONFIG_NETPOLL is not set
 # CONFIG_NET_POLL_CONTROLLER is not set
@@ -1953,7 +1956,6 @@ CONFIG_XFS_FS=m
 # CONFIG_XFS_POSIX_ACL is not set
 # CONFIG_XFS_RT is not set
 # CONFIG_XFS_DEBUG is not set
-# CONFIG_NILFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY=y