# HG changeset patch # User asl # Date 1073423114 0 # Node ID 483a79fde42830d4eac1d0a410c9d655cdd2cd32 # Parent b535fe01cba6d60774fc61cd234214f8eb85d184 * 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. diff --git a/packages/devs/eth/smsc/lan91cxx/current/ChangeLog b/packages/devs/eth/smsc/lan91cxx/current/ChangeLog --- 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 + + * 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 * src/smsc_lan91cxx.h (get_banksel): Allow this function to be diff --git 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 --- 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 " diff --git a/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c b/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c --- 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