diff rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch @ 21:052f9209ca09

rathaxes:: add the ifs
author Thomas Sanchez <thomas.sanchz@gmail.com>
date Sat, 07 Jan 2012 18:30:20 +0100
parents 670925d566c7
children 65523c345b40
line wrap: on
line diff
--- a/rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch	Sat Jan 07 12:46:45 2012 +0100
+++ b/rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch	Sat Jan 07 18:30:20 2012 +0100
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent 5c8a128a8804aa592e3ccc74e86e109d0b577896
+# Parent 2d1319eabf8acf2a7afeb6c8061d7a2c4793655f
 rathaxes: start to implement the Ethernet subsystem in linux LKM sample
 
-diff -r 5c8a128a8804 rathaxes/samples/lkm/CMakeLists.txt
---- a/rathaxes/samples/lkm/CMakeLists.txt	Sat Jan 07 11:23:27 2012 +0100
-+++ b/rathaxes/samples/lkm/CMakeLists.txt	Sat Jan 07 12:15:32 2012 +0100
+diff -r 2d1319eabf8a rathaxes/samples/lkm/CMakeLists.txt
+--- a/rathaxes/samples/lkm/CMakeLists.txt	Sat Jan 07 18:13:48 2012 +0100
++++ b/rathaxes/samples/lkm/CMakeLists.txt	Sat Jan 07 18:27:27 2012 +0100
 @@ -1,6 +1,6 @@
  ADD_RATHAXES_SOURCES(lkm lkm.rtx
 -                     RTI log.rti lkm.rti pci.rti
@@ -14,10 +14,10 @@
  
  # We can't name lkm since it's already used as the target name to generate the
  # source (with ADD_RATHAXES_SOURCES).
-diff -r 5c8a128a8804 rathaxes/samples/lkm/ethernet.blt
+diff -r 2d1319eabf8a rathaxes/samples/lkm/ethernet.blt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/rathaxes/samples/lkm/ethernet.blt	Sat Jan 07 12:15:32 2012 +0100
-@@ -0,0 +1,164 @@
++++ b/rathaxes/samples/lkm/ethernet.blt	Sat Jan 07 18:27:27 2012 +0100
+@@ -0,0 +1,173 @@
 +with Ethernet, PCI, LKM
 +{
 +    template type   Ethernet::Device()
@@ -133,10 +133,16 @@
 +            typedef int ${Ethernet::Device};
 +            ${Ethernet::Device} *rtx_ether_ctx;
 +            struct net_device   *net_dev;
++            int error;
 +
++            error = 0;
 +            net_dev = alloc_etherdev(sizeof(*rtx_ether_ctx));
-+            //if (net_dev == NULL)
-+                // How should we raise the error in the parent context?
++            if (net_dev == 0)
++            {
++                //Log::info("Cannot allocate memory");
++                // is it the thing to do?
++                return -ENOMEM;
++            }
 +            strlcpy(net_dev->name, ${config.ifname}, sizeof(net_dev->name));
 +            net_dev->irq = pdev->irq;
 +            // Maybe we should try ${rtx_ether_ctx.init()} here:
@@ -156,9 +162,12 @@
 +            //SET_NETDEV_DEV(net_dev, &${pdev}->dev);
 +            SET_NETDEV_DEV(net_dev, &pdev->dev);
 +            net_dev->netdev_ops = &rtx_ether_ops;
-+
-+            /* if (*/register_netdev(net_dev);/*)*/
-+                // Handle the error
++            if ((error = register_netdev(net_dev)))
++            {
++                // Log::info("Cannot register the driver");
++                // is it the thing to do?
++                return error;
++            }
 +
 +            /* same problem as above with ${pdev} */
 +            //pci_set_drvdata(${pdev}, net_dev);
@@ -182,9 +191,9 @@
 +        }
 +    }
 +}
-diff -r 5c8a128a8804 rathaxes/samples/lkm/ethernet.rti
+diff -r 2d1319eabf8a rathaxes/samples/lkm/ethernet.rti
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/rathaxes/samples/lkm/ethernet.rti	Sat Jan 07 12:15:32 2012 +0100
++++ b/rathaxes/samples/lkm/ethernet.rti	Sat Jan 07 18:27:27 2012 +0100
 @@ -0,0 +1,37 @@
 +interface Ethernet : PCI, LKM
 +{
@@ -223,9 +232,9 @@
 +        provided chunk  ::CALL;
 +    }
 +}
-diff -r 5c8a128a8804 rathaxes/samples/lkm/lkm.rtx
---- a/rathaxes/samples/lkm/lkm.rtx	Sat Jan 07 11:23:27 2012 +0100
-+++ b/rathaxes/samples/lkm/lkm.rtx	Sat Jan 07 12:15:32 2012 +0100
+diff -r 2d1319eabf8a rathaxes/samples/lkm/lkm.rtx
+--- a/rathaxes/samples/lkm/lkm.rtx	Sat Jan 07 18:13:48 2012 +0100
++++ b/rathaxes/samples/lkm/lkm.rtx	Sat Jan 07 18:27:27 2012 +0100
 @@ -1,13 +1,30 @@
  device LKM use LKM, PCI, Log
  {
@@ -266,9 +275,9 @@
 +
 +    Ethernet::ifname = "rtx%d";
  }
-diff -r 5c8a128a8804 rathaxes/samples/lkm/pci.blt
---- a/rathaxes/samples/lkm/pci.blt	Sat Jan 07 11:23:27 2012 +0100
-+++ b/rathaxes/samples/lkm/pci.blt	Sat Jan 07 12:15:32 2012 +0100
+diff -r 2d1319eabf8a rathaxes/samples/lkm/pci.blt
+--- a/rathaxes/samples/lkm/pci.blt	Sat Jan 07 18:13:48 2012 +0100
++++ b/rathaxes/samples/lkm/pci.blt	Sat Jan 07 18:27:27 2012 +0100
 @@ -11,15 +11,12 @@
  
          chunk   ::decl()
@@ -317,7 +326,7 @@
 -                ${PCI::Device}  *dev = NULL;
  
                  err = pci_enable_device(pdev);
- //              if (err < 0) /* `if' doesn't work */
+                 if (err < 0)
 @@ -52,8 +55,6 @@
  
                  ${pointcut ::IMPLEMENTATION};