void sound_init(void) { debug("sound: init\n"); debug_flush(); sound_init_rcc(); sound_init_gpio(); sound_queue_state = 0; sound_set_frequency(0); /* sound_queue[0].frequency = 500; sound_queue[0].duration_ms = 8000; sound_queue[1].frequency = 890; sound_queue[1].duration_ms = 80; sound_queue[2].frequency = 1000; sound_queue[2].duration_ms = 8000; sound_queue[3].frequency = 0; sound_queue[3].duration_ms = 0; sound_queue_state = 1; */ sound_tone_duration = 0; }
/* * does local module initialisation. * returns 0 on success, non-zero on error. */ static int sound_module_init (void) { int ret; /* Note: GPIO region is (should be) handled upstream in ev3dev. * FIXME: still need some clean-up here. * XXX: the conflict in I/O mapping may be causing some issue here. */ // if (request_mem_region (DA8XX_GPIO_BASE, 0xD8, MODULE_NAME) >= 0) { // GpioBase = (void *) ioremap (DA8XX_GPIO_BASE, 0xD8); // if (GpioBase != NULL) { // InitGpio (); // Device1Init (); // // } // } ret = sound_init_gpio (); if (ret) { /* failed */ goto out_err0; } /* initialised GPIO okay, so do the rest */ ret = Device1Init (); if (ret) { goto out_err1; } return 0; out_err1: sound_free_gpio (); out_err0: return ret; }