Mercurial > archived > louis > epitech > mq > rathaxes
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};