Annotation of prex-old/dev/core/config_alloc.c, Revision 1.1
1.1 ! nbrk 1: /*
! 2: * $Id$
! 3: */
! 4: /*
! 5: * Allocate and initialize new device structure.
! 6: */
! 7: #include <driver.h>
! 8:
! 9: struct device
! 10: *config_alloc_device(struct driver *drv)
! 11: {
! 12: struct device *devp;
! 13:
! 14: /* device itself */
! 15: devp = kmem_alloc(sizeof(struct device));
! 16: if (devp == NULL)
! 17: panic("config: can't allocate memory for device");
! 18:
! 19: /* device data */
! 20: if (drv->dr_datasize != 0) {
! 21: /* XXX page_alloc() ? */
! 22: devp->dv_data = kmem_alloc(drv->dr_datasize);
! 23: if (devp->dv_data == NULL)
! 24: panic("config: can't allocate memory dor device data");
! 25: }
! 26:
! 27: devp->dv_xname = drv->dr_name;
! 28:
! 29: /* will be changed by config later */
! 30: devp->dv_unit = 0;
! 31: devp->dv_flags = 0; /* XXX */
! 32: devp->dv_parent = NULL;
! 33:
! 34: return(devp);
! 35: }
! 36:
! 37:
! 38: void
! 39: config_free_device(struct device *devp)
! 40: {
! 41: kmem_free(devp->dv_data);
! 42: kmem_free(devp);
! 43: }
! 44:
CVSweb