svn commit: r323691 - in head/sys: dev/iicbus modules/i2c modules/i2c/icee
Ian Lepore
ian at FreeBSD.org
Sun Sep 17 22:58:14 UTC 2017
Author: ian
Date: Sun Sep 17 22:58:13 2017
New Revision: 323691
URL: https://svnweb.freebsd.org/changeset/base/323691
Log:
Give icee(4) a detach() method so it can be used as a module. Add a
module makefile for it.
Added:
head/sys/modules/i2c/icee/
head/sys/modules/i2c/icee/Makefile (contents, props changed)
Modified:
head/sys/dev/iicbus/icee.c
head/sys/modules/i2c/Makefile
Modified: head/sys/dev/iicbus/icee.c
==============================================================================
--- head/sys/dev/iicbus/icee.c Sun Sep 17 22:58:13 2017 (r323690)
+++ head/sys/dev/iicbus/icee.c Sun Sep 17 22:58:13 2017 (r323691)
@@ -206,17 +206,34 @@ icee_attach(device_t dev)
return (0);
}
+static int
+icee_detach(device_t dev)
+{
+ struct icee_softc *sc = device_get_softc(dev);
+
+ destroy_dev(sc->cdev);
+ return (0);
+}
+
static int
icee_open(struct cdev *dev, int oflags, int devtype, struct thread *td)
{
+ struct icee_softc *sc;
+ sc = CDEV2SOFTC(dev);
+ if (device_get_state(sc->dev) < DS_BUSY)
+ device_busy(sc->dev);
+
return (0);
}
static int
icee_close(struct cdev *dev, int fflag, int devtype, struct thread *td)
{
+ struct icee_softc *sc;
+ sc = CDEV2SOFTC(dev);
+ device_unbusy(sc->dev);
return (0);
}
@@ -345,6 +362,7 @@ icee_write(struct cdev *dev, struct uio *uio, int iofl
static device_method_t icee_methods[] = {
DEVMETHOD(device_probe, icee_probe),
DEVMETHOD(device_attach, icee_attach),
+ DEVMETHOD(device_detach, icee_detach),
DEVMETHOD_END
};
Modified: head/sys/modules/i2c/Makefile
==============================================================================
--- head/sys/modules/i2c/Makefile Sun Sep 17 22:58:13 2017 (r323690)
+++ head/sys/modules/i2c/Makefile Sun Sep 17 22:58:13 2017 (r323691)
@@ -6,6 +6,7 @@ SUBDIR = \
ds1307 \
ds13rtc \
ds3231 \
+ icee \
if_ic \
iic \
iicbb \
Added: head/sys/modules/i2c/icee/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/modules/i2c/icee/Makefile Sun Sep 17 22:58:13 2017 (r323691)
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/dev/iicbus
+KMOD= icee
+SRCS= icee.c
+
+SRCS+= \
+ bus_if.h \
+ device_if.h \
+ iicbus_if.h \
+ ofw_bus_if.h \
+ opt_platform.h \
+
+.include <bsd.kmod.mk>
More information about the svn-src-all
mailing list