summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-02 21:08:44 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-02 21:08:44 +0000
commit3393f6dda3ed09d70e286acc00cdcf81f4a32f75 (patch)
tree67e132e1b3b826d82f5fc0f8e736569b9e4d8311
parentchanged version to ss-20000802 (diff)
downloadrtems-3393f6dda3ed09d70e286acc00cdcf81f4a32f75.tar.bz2
Patch from Eric Norum <eric@cls.usask.ca> to add "attaching" argument
to driver attach routine.
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/include/bsp.h2
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/network/network.c12
2 files changed, 11 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68360/include/bsp.h b/c/src/lib/libbsp/m68k/gen68360/include/bsp.h
index 01a44c9202..08b109b172 100644
--- a/c/src/lib/libbsp/m68k/gen68360/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/gen68360/include/bsp.h
@@ -48,7 +48,7 @@ extern "C" {
* Network driver configuration
*/
struct rtems_bsdnet_ifconfig;
-extern int rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config);
+extern int rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config, int attaching);
#define RTEMS_BSP_NETWORK_DRIVER_NAME "scc1"
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_scc1_driver_attach
diff --git a/c/src/lib/libbsp/m68k/gen68360/network/network.c b/c/src/lib/libbsp/m68k/gen68360/network/network.c
index 8364dbbf07..bb89e7867e 100644
--- a/c/src/lib/libbsp/m68k/gen68360/network/network.c
+++ b/c/src/lib/libbsp/m68k/gen68360/network/network.c
@@ -942,7 +942,7 @@ scc_ioctl (struct ifnet *ifp, int command, caddr_t data)
* Attach an SCC driver to the system
*/
int
-rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config)
+rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config, int attaching)
{
struct scc_softc *sc;
struct ifnet *ifp;
@@ -951,6 +951,14 @@ rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config)
char *unitName;
/*
+ * Make sure we're really being attached
+ */
+ if (!attaching) {
+ printf ("SCC1 driver can not be detached.\n");
+ return 0;
+ }
+
+ /*
* Parse driver name
*/
if ((unitNumber = rtems_bsdnet_parse_driver_name (config, &unitName)) < 0)
@@ -1049,4 +1057,4 @@ rtems_scc1_driver_attach (struct rtems_bsdnet_ifconfig *config)
if_attach (ifp);
ether_ifattach (ifp);
return 1;
-};
+}