From 5e9cd1dbf8adbeddcedf697245d16430fb3bf569 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sun, 5 Sep 2010 14:47:46 +0000 Subject: [PATCH] Document MAKEDEV_ETERNAL. MFC after: 3 days --- share/man/man9/make_dev.9 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/share/man/man9/make_dev.9 b/share/man/man9/make_dev.9 index 7faedaa4392..9cc755f5a95 100644 --- a/share/man/man9/make_dev.9 +++ b/share/man/man9/make_dev.9 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 6, 2010 +.Dd September 5, 2010 .Dt MAKE_DEV 9 .Os .Sh NAME @@ -135,6 +135,7 @@ The following values are currently accepted: MAKEDEV_REF reference the created device MAKEDEV_NOWAIT do not sleep, may return NULL MAKEDEV_WAITOK allow the function to sleep to satisfy malloc +MAKEDEV_ETERNAL created device will be never destroyed .Ed .Pp The @@ -154,6 +155,18 @@ the device created is destroyed immediately after drops his reference to cdev. .Pp The +.Dv MAKEDEV_ETERNAL +flag allows the kernel to not acquire some locks when translating system +calls into the cdevsw methods calls. +It is responsibility of the driver author to make sure that +.Fn destroy_dev +is never called on the returned cdev. +For the convenience, use the +.Dv MAKEDEV_ETERNAL_KLD +flag for the code that can be compiled into kernel or loaded +(and unloaded) as loadable module. +.Pp +The .Fn make_dev_cred function is equivalent to the call .Bd -literal -offset indent