---
name: "gone_in"
section: "9"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/gone_in"
---

# gone\_in(9)

deprecation notice functions

## NAME

**gone\_in**, **gone\_in\_dev** – deprecation notice functions

## SYNOPSIS

**#include \<sys/systm.h\>**

*void*\

**gone\_in**(*int major*, *const char \*msg*, *...*);

*void*\

**gone\_in\_dev**(*device\_t dev*, *int major*, *const char \*msg*, *...*);

## DESCRIPTION

The **gone\_in** functions are used to provide a notice that the kernel is actively using a driver or some other functionality that is deprecated, and is planned for removal in a future FreeBSD release. The notice is sent to the kernel [dmesg(8)](/dmesg/8.md) log and will appear on the console. The *major* argument specifies the major version of the FreeBSD release that will remove the deprecated functionality. The notice shall be printed only once, thus **gone\_in** functions are safe to use in often executed code paths.

**gone\_in\_dev** will prepend driver name before the notice.

In releases before *major* the provided notice will be appended with“ To be removed in FreeBSD*major*”.

## EXAMPLES

```
void
example_api(foo_t *args)
{
	gone_in(16, "Warning! %s[%u] uses obsolete API. ",
	    curthread->td_proc->p_comm, curthread->td_proc->p_pid);
	/* API implementation omitted. */
}
int
example_driver_attach(struct example_driver_softc *sc)
{
	/* Attach code omitted. */
        gone_in_dev(sc->dev, 16, "driver is deprecated");
}
```

## HISTORY

The **gone\_in** functions first appeared in FreeBSD 11.
