Mercurial > archived > louis > epitech > mq > rathaxes
view e1000_rework_without_explicit_call.patch @ 33:60a59bf708df
merge
author | Thomas Sanchez <thomas.sanchz@gmail.com> |
---|---|
date | Sun, 08 Jan 2012 00:39:56 +0100 |
parents | |
children | 62fba8b9db06 |
line wrap: on
line source
# HG changeset patch # Parent c3265ca219d51aa493db9639444eba7d72812e69 rathaxes: initialize the e1000 sepcific code in an elegant implicit way diff -r c3265ca219d5 -r 5c8bb469d5a5 rathaxes/samples/lkm/e1000.blt --- a/rathaxes/samples/lkm/e1000.blt Sun Jan 08 00:13:22 2012 +0100 +++ b/rathaxes/samples/lkm/e1000.blt Sun Jan 08 00:35:30 2012 +0100 @@ -27,9 +27,9 @@ } } - template sequence e1000::create() + template sequence e1000::create_device() { - chunk ::CALL + chunk Ethernet::create_device() { rtx_ether_ctx->hw_ctx.bars = pci_select_bars(pdev, IORESOURCE_MEM); if (pci_enable_device_mem(pdev)) @@ -54,11 +54,15 @@ ${Log::info("e1000::create: pci_ioremap_bar failed")}; } } + + chunk ::CALL + { + } } - template sequence e1000::destroy() + template sequence e1000::destroy_device() { - chunk ::CALL + chunk Ethernet::destroy_device { // XXX: add a check in order to avoid freeing none allocated // resources. @@ -67,5 +71,9 @@ pci_release_selected_regions(pdev, rtx_ether_ctx->hw_ctx.bars); pci_release_region(pdev, 0); } + + chunk ::CALL + { + } } } diff -r c3265ca219d5 -r 5c8bb469d5a5 rathaxes/samples/lkm/e1000.rti --- a/rathaxes/samples/lkm/e1000.rti Sun Jan 08 00:13:22 2012 +0100 +++ b/rathaxes/samples/lkm/e1000.rti Sun Jan 08 00:35:30 2012 +0100 @@ -3,13 +3,15 @@ provided type e1000::Context; /* Not sure if we need the argument */ - provided sequence e1000::create() + provided sequence e1000::create_device() { + provided chunk Ethernet::create_device; provided chunk ::CALL; } - provided sequence e1000::destroy() + provided sequence e1000::destroy_device() { + provided chunk Ethernet::destroy_device; provided chunk ::CALL; } } diff -r c3265ca219d5 -r 5c8bb469d5a5 rathaxes/samples/lkm/ethernet.blt --- a/rathaxes/samples/lkm/ethernet.blt Sun Jan 08 00:13:22 2012 +0100 +++ b/rathaxes/samples/lkm/ethernet.blt Sun Jan 08 00:35:30 2012 +0100 @@ -173,6 +173,7 @@ /* same problem as above with ${pdev} */ //pci_set_drvdata(${pdev}, net_dev); pci_set_drvdata(pdev, net_dev); + ${pointcut Ethernet::create_device}; } chunk ::CALL @@ -186,6 +187,8 @@ { struct net_device *net_dev = pci_get_drvdata(pdev); + ${pointcut Ethernet::destroy_device}; + unregister_netdev(net_dev); /* * If we had some cleanup todo with struct rtx_ether_ctx we would diff -r c3265ca219d5 -r 5c8bb469d5a5 rathaxes/samples/lkm/ethernet.rti --- a/rathaxes/samples/lkm/ethernet.rti Sun Jan 08 00:13:22 2012 +0100 +++ b/rathaxes/samples/lkm/ethernet.rti Sun Jan 08 00:35:30 2012 +0100 @@ -33,6 +33,8 @@ provided chunk LKM::data; provided chunk PCI::pci_probe_hook; provided chunk ::CALL; + + provided pointcut Ethernet::create_device; } /* Likely extends PCI::remove */ @@ -40,5 +42,7 @@ { provided chunk ::CALL; provided chunk PCI::pci_remove_hook; + + provided pointcut Ethernet::destroy_device; } }