CCD_DPRINTF(CCDB_FOLLOW, ("ccdclose(%x, %x)\n", dev, flags));
ccdclose(dev_t dev, int flags, int fmt, struct proc *p){	int unit = ccdunit(dev);	struct ccd_softc *cs;	int error = 0, part;#ifdef DEBUG	if (ccddebug & CCDB_FOLLOW)		printf("ccdclose(%x, %x)\n", dev, flags);#endif	if (unit >= numccd)		return (ENXIO);	cs = &ccd_softc[unit];	if ((error = ccdlock(cs)) != 0)		return (error);	part = DISKPART(dev);	/* ...that much closer to allowing unconfiguration... */	switch (fmt) {	case S_IFCHR:		cs->sc_dkdev.dk_copenmask &= ~(1 << part);		break;	case S_IFBLK:		cs->sc_dkdev.dk_bopenmask &= ~(1 << part);		break;	}	cs->sc_dkdev.dk_openmask =	    cs->sc_dkdev.dk_copenmask | cs->sc_dkdev.dk_bopenmask;	ccdunlock(cs);	return (0);}