/* create_proc_entry returns NULL if !CONFIG_PROC_FS. 
/* proc_mkdir returns NULL if !CONFIG_PROC_FS. 
static int __init vlsi_mod_init(void){	int	i, ret;	if (clksrc < 0  ||  clksrc > 3) {		IRDA_ERROR("%s: invalid clksrc=%d\n", drivername, clksrc);		return -1;	}	for (i = 0; i < 2; i++) {		switch(ringsize[i]) {			case 4:			case 8:			case 16:			case 32:			case 64:				break;			default:				IRDA_WARNING("%s: invalid %s ringsize %d, using default=8", drivername, (i)?"rx":"tx", ringsize[i]);				ringsize[i] = 8;				break;		}	} 	sirpulse = !!sirpulse;	/* create_proc_entry returns NULL if !CONFIG_PROC_FS.	 * Failure to create the procfs entry is handled like running	 * without procfs - it's not required for the driver to work.	 */	vlsi_proc_root = create_proc_entry(PROC_DIR, S_IFDIR, NULL);	if (vlsi_proc_root) {		/* protect registered procdir against module removal.		 * Because we are in the module init path there's no race		 * window after create_proc_entry (and no barrier needed).		 */		vlsi_proc_root->owner = THIS_MODULE;	}	ret = pci_module_init(&vlsi_irda_driver);	if (ret && vlsi_proc_root)		remove_proc_entry(PROC_DIR, NULL);	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/666002218d59db271e5c1ede1d80227170c51987/vlsi_ir.c/buggy/drivers/net/irda/vlsi_ir.c