Deleted Added
full compact
efidev.c (331019) efidev.c (331021)
1/*-
2 * Copyright (c) 2016 Netflix, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2016 Netflix, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
28__FBSDID("$FreeBSD: stable/11/sys/dev/efidev/efidev.c 331019 2018-03-15 19:31:39Z kevans $");
28__FBSDID("$FreeBSD: stable/11/sys/dev/efidev/efidev.c 331021 2018-03-15 19:41:26Z kevans $");
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/kernel.h>
33#include <sys/bus.h>
34#include <sys/conf.h>
35#include <sys/lock.h>
36#include <sys/malloc.h>
37#include <sys/module.h>
38
39#include <machine/efi.h>
40#include <sys/efiio.h>
41
29
30#include <sys/param.h>
31#include <sys/systm.h>
32#include <sys/kernel.h>
33#include <sys/bus.h>
34#include <sys/conf.h>
35#include <sys/lock.h>
36#include <sys/malloc.h>
37#include <sys/module.h>
38
39#include <machine/efi.h>
40#include <sys/efiio.h>
41
42static d_open_t efidev_open;
43static d_ioctl_t efidev_ioctl;
44
45static struct cdevsw efi_cdevsw = {
46 .d_name = "efi",
47 .d_version = D_VERSION,
42static d_ioctl_t efidev_ioctl;
43
44static struct cdevsw efi_cdevsw = {
45 .d_name = "efi",
46 .d_version = D_VERSION,
48 .d_open = efidev_open,
49 .d_ioctl = efidev_ioctl,
50};
51
52static int
47 .d_ioctl = efidev_ioctl,
48};
49
50static int
53efidev_open(struct cdev *dev __unused, int oflags __unused,
54 int devtype __unused, struct thread *td __unused)
55{
56 /*
57 * Only return success when we have an actual runtime to call.
58 */
59
60 return efi_rt_ok();
61}
62
63static int
64efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr,
65 int flags __unused, struct thread *td __unused)
66{
67 int error;
68
69 switch (cmd) {
70 case EFIIOC_GET_TABLE:
71 {

--- 118 unchanged lines hidden (view full) ---

190static int
191efidev_modevents(module_t m, int event, void *arg __unused)
192{
193 struct make_dev_args mda;
194 int error;
195
196 switch (event) {
197 case MOD_LOAD:
51efidev_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr,
52 int flags __unused, struct thread *td __unused)
53{
54 int error;
55
56 switch (cmd) {
57 case EFIIOC_GET_TABLE:
58 {

--- 118 unchanged lines hidden (view full) ---

177static int
178efidev_modevents(module_t m, int event, void *arg __unused)
179{
180 struct make_dev_args mda;
181 int error;
182
183 switch (event) {
184 case MOD_LOAD:
185 /*
186 * If we have no efi environment, then don't create the device.
187 */
188 if (efi_rt_ok() != 0)
189 return (0);
198 make_dev_args_init(&mda);
199 mda.mda_flags = MAKEDEV_WAITOK | MAKEDEV_CHECKNAME;
200 mda.mda_devsw = &efi_cdevsw;
201 mda.mda_uid = UID_ROOT;
202 mda.mda_gid = GID_WHEEL;
203 mda.mda_mode = 0700;
204 error = make_dev_s(&mda, &efidev, "efi");
205 return (error);

--- 24 unchanged lines hidden ---
190 make_dev_args_init(&mda);
191 mda.mda_flags = MAKEDEV_WAITOK | MAKEDEV_CHECKNAME;
192 mda.mda_devsw = &efi_cdevsw;
193 mda.mda_uid = UID_ROOT;
194 mda.mda_gid = GID_WHEEL;
195 mda.mda_mode = 0700;
196 error = make_dev_s(&mda, &efidev, "efi");
197 return (error);

--- 24 unchanged lines hidden ---