changeset 1459:483a79fde428

* cdl/smsc_lan91cxx_eth_drivers.cdl: * src/if_lan91cxx.c (smsc_lan91cxx_init): Allow the interrupt priority to be overrode by the HW specific part of the driver.
author asl
date Tue, 06 Jan 2004 21:05:14 +0000
parents b535fe01cba6
children 3203d2eca45d
files packages/devs/eth/smsc/lan91cxx/current/ChangeLog packages/devs/eth/smsc/lan91cxx/current/cdl/smsc_lan91cxx_eth_drivers.cdl packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
diffstat 3 files changed, 20 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/eth/smsc/lan91cxx/current/ChangeLog
+++ b/packages/devs/eth/smsc/lan91cxx/current/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-06  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+        * cdl/smsc_lan91cxx_eth_drivers.cdl: 
+	* src/if_lan91cxx.c (smsc_lan91cxx_init): Allow the interrupt
+	priority to be overrode by the HW specific part of the driver.
+
 2003-12-19  Gary Parnes  <garyp@logicpd.com>
 
 	* src/smsc_lan91cxx.h (get_banksel): Allow this function to be 
--- a/packages/devs/eth/smsc/lan91cxx/current/cdl/smsc_lan91cxx_eth_drivers.cdl
+++ b/packages/devs/eth/smsc/lan91cxx/current/cdl/smsc_lan91cxx_eth_drivers.cdl
@@ -9,6 +9,7 @@
 ## -------------------------------------------
 ## This file is part of eCos, the Embedded Configurable Operating System.
 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+## Copyright (C) 2004 Andrew Lunn
 ##
 ## eCos 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
@@ -78,6 +79,17 @@ cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91CX
 	    carefully chosen decision, hence this option."
     }
 
+    cdl_option CYGNUM_DEVS_ETH_SMSC_LAN91CXX_INT_PRIO {
+        display "Interrupt priority when registering interrupt handler"
+        flavor  data
+        default_value 3
+        description "
+            When registering the interrupt handler this specifies the 
+            priority of the interrupt. Some hardware platforms require
+            values other than the default given here. Such platforms
+            can then override this value in the hardware specific package. "
+    }
+
     cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91CXX_STATIC_ESA {
 	display "ESA is statically configured"
 	description "
--- a/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
+++ b/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
@@ -10,6 +10,7 @@
 // This file is part of eCos, the Embedded Configurable Operating System.
 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
 // Copyright (C) 2003 Nick Garnett 
+// Copyright (C) 2004 Andrew Lunn
 //
 // eCos 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
@@ -288,7 +289,7 @@ smsc_lan91cxx_init(struct cyg_netdevtab_
 #ifndef CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
     // Initialize environment, setup interrupt handler
     cyg_drv_interrupt_create(cpd->interrupt,
-                             3, // Priority - what goes here?
+                             CYGNUM_DEVS_ETH_SMSC_LAN91CXX_INT_PRIO,
                              (cyg_addrword_t)sc, //  Data item passed to interrupt handler
                              (cyg_ISR_t *)lan91cxx_isr,
                              (cyg_DSR_t *)eth_drv_dsr, // The logical driver DSR