Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/dev/cfi/cfi_bus_nexus.c
39507 views
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
50
cfi_nexus_probe(device_t dev)
51
{
52
return (BUS_PROBE_NOWILDCARD);
53
}
54
55
static int
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
83