void serialVFD_close_parallel (Driver *drvthis) { #ifdef HAVE_PCSTYLE_LPT_CONTROL PrivateData *p = drvthis->private_data; debug(RPT_DEBUG, "%s: Closing parallelport at: 0x%X", __FUNCTION__, p->port); if (port_deny_multiple(p->port,3)) { report(RPT_ERR, "%s: port_deny_multiple() of 0x%X failed (%s)\n", __FUNCTION__, p->port, strerror(errno)); } #endif }
/** * API: Close the driver (do necessary clean-up). */ MODULE_EXPORT void sdeclcd_close(Driver *drvthis) { PrivateData *p = (PrivateData *) drvthis->private_data; if (p) { if (p->framebuf) free(p->framebuf); if (p->framelcd) free(p->framelcd); if (p->vbar_cg) free(p->vbar_cg); if (p->hbar_cg) free(p->hbar_cg); free(p); } if (!port_deny_multiple(LPT_DEFAULT, 3)) { report(RPT_WARNING, "%s: cannot release IO-permission for 0x%03X!", drvthis->name, LPT_DEFAULT); } drvthis->store_private_ptr(drvthis, NULL); }