1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
3 *
4 * Copyright (c) 2012 SRI International
5 * Copyright (c) 2009 Roelof Jonkman, Carlson Wireless Inc.
6 * Copyright (c) 2009 Sam Leffler, Errno Consulting
7 * All rights reserved.
8 *
9 * Portions of this software were developed by SRI International and the
10 * University of Cambridge Computer Laboratory under DARPA/AFRL contract
11 * (FA8750-10-C-0237) ("CTSRD"), as part of the DARPA CRASH research
12 * programme.
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35 #include <sys/param.h>
36 #include <sys/systm.h>
37 #include <sys/bus.h>
38 #include <sys/conf.h>
39 #include <sys/kernel.h>
40 #include <sys/malloc.h>
41 #include <sys/module.h>
42 #include <sys/rman.h>
43 #include <sys/sysctl.h>
44
45 #include <machine/bus.h>
46
47 #include <dev/cfi/cfi_var.h>
48
49 static int
cfi_nexus_probe(device_t dev)50 cfi_nexus_probe(device_t dev)
51 {
52 return (BUS_PROBE_NOWILDCARD);
53 }
54
55 static int
cfi_nexus_attach(device_t dev)56 cfi_nexus_attach(device_t dev)
57 {
58 int error;
59
60 error = cfi_probe(dev);
61 if (error != 0)
62 return (error);
63
64 return cfi_attach(dev);
65 }
66
67 static device_method_t cfi_nexus_methods[] = {
68 /* device interface */
69 DEVMETHOD(device_probe, cfi_nexus_probe),
70 DEVMETHOD(device_attach, cfi_nexus_attach),
71 DEVMETHOD(device_detach, cfi_detach),
72 {0, 0}
73 };
74
75 static driver_t cfi_nexus_driver = {
76 cfi_driver_name,
77 cfi_nexus_methods,
78 sizeof(struct cfi_softc),
79 };
80
81 DRIVER_MODULE(cfi, nexus, cfi_nexus_driver, 0, 0);
82