2005-04-16 15:20:36 -07:00
/*
* ALSA sequencer / proc interface
* Copyright ( c ) 1998 by Frank van de Pol < fvdpol @ coil . demon . nl >
*
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*
*/
# include <sound/driver.h>
# include <linux/init.h>
# include <sound/core.h>
# include "seq_info.h"
# include "seq_clientmgr.h"
# include "seq_timer.h"
2005-12-01 10:43:51 +01:00
# ifdef CONFIG_PROC_FS
2005-11-17 14:04:02 +01:00
static struct snd_info_entry * queues_entry ;
static struct snd_info_entry * clients_entry ;
static struct snd_info_entry * timer_entry ;
2005-04-16 15:20:36 -07:00
2005-11-17 14:04:02 +01:00
static struct snd_info_entry * __init
2006-04-28 15:13:41 +02:00
create_info_entry ( char * name , void ( * read ) ( struct snd_info_entry * ,
struct snd_info_buffer * ) )
2005-04-16 15:20:36 -07:00
{
2005-11-17 14:04:02 +01:00
struct snd_info_entry * entry ;
2005-04-16 15:20:36 -07:00
entry = snd_info_create_module_entry ( THIS_MODULE , name , snd_seq_root ) ;
if ( entry = = NULL )
return NULL ;
entry - > content = SNDRV_INFO_CONTENT_TEXT ;
entry - > c . text . read = read ;
if ( snd_info_register ( entry ) < 0 ) {
snd_info_free_entry ( entry ) ;
return NULL ;
}
return entry ;
}
/* create all our /proc entries */
int __init snd_seq_info_init ( void )
{
2006-04-28 15:13:41 +02:00
queues_entry = create_info_entry ( " queues " ,
2005-04-16 15:20:36 -07:00
snd_seq_info_queues_read ) ;
2006-04-28 15:13:41 +02:00
clients_entry = create_info_entry ( " clients " ,
2005-04-16 15:20:36 -07:00
snd_seq_info_clients_read ) ;
2006-04-28 15:13:41 +02:00
timer_entry = create_info_entry ( " timer " , snd_seq_info_timer_read ) ;
2005-04-16 15:20:36 -07:00
return 0 ;
}
int __exit snd_seq_info_done ( void )
{
2006-06-23 14:37:59 +02:00
snd_info_free_entry ( queues_entry ) ;
snd_info_free_entry ( clients_entry ) ;
snd_info_free_entry ( timer_entry ) ;
2005-04-16 15:20:36 -07:00
return 0 ;
}
2005-12-01 10:43:51 +01:00
# endif