diff options
author | Andy Green <andy.green@linaro.org> | 2012-11-14 10:52:07 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-11-14 11:06:28 +0800 |
commit | d0890bebfe7cbd2b9bc2a3e91fe205408de43cfa (patch) | |
tree | 0718cfc575436e8c8becf3c639117064282f5ffb | |
parent | c13186e461d296641269eb808c0e5814a71ef7d1 (diff) |
update to use sema init
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r-- | fmb_driver/fmb_core.c | 10 | ||||
-rw-r--r-- | fmb_driver/fmb_hw.c | 13 |
2 files changed, 12 insertions, 11 deletions
diff --git a/fmb_driver/fmb_core.c b/fmb_driver/fmb_core.c index 64c42ec..252da0c 100644 --- a/fmb_driver/fmb_core.c +++ b/fmb_driver/fmb_core.c @@ -683,7 +683,7 @@ static int fmb_core_init_dma_queue_snd( /* spin lock */ spin_lock_irqsave( &priv_p->dma_snd_queue.lock, flags ); - init_MUTEX( &priv_p->dma_snd_queue.mutex_write ); + sema_init( &priv_p->dma_snd_queue.mutex_write, 1); init_waitqueue_head( &queue_p->buf_waitq ); init_waitqueue_head( &queue_p->comp_waitq ); @@ -757,7 +757,7 @@ static int fmb_core_init_dma_queue_rcv( priv_p->dma_rcv_queue.dma_comp_size = 0; init_waitqueue_head( &priv_p->dma_rcv_queue.comp_waitq ); - init_MUTEX( &priv_p->dma_rcv_queue.mutex_read ); + sema_init( &priv_p->dma_rcv_queue.mutex_read, 1); init_waitqueue_head( &queue_p->buf_waitq ); init_waitqueue_head( &queue_p->comp_waitq ); @@ -6283,8 +6283,6 @@ static int fmb_core_private_data_init( struct fmb_hard_private* hw_priv_p, minor = hw_priv_p->minor; MSG( INTERNAL_FUNC, minor, "START" ); - priv_p->lock_core_priv = SPIN_LOCK_UNLOCKED; - priv_p->lock_factor_num = SPIN_LOCK_UNLOCKED; priv_p->firm_write_redy = 0; priv_p->firm_write_size = 0; priv_p->system_status = FMB_ADD_PRAM_M_MODE_IDLE; @@ -6301,7 +6299,9 @@ static int fmb_core_private_data_init( struct fmb_hard_private* hw_priv_p, init_waitqueue_head( &priv_p->audio_msg_wait ); init_waitqueue_head( &priv_p->xerror_info_wait ); init_waitqueue_head( &priv_p->vudata_info_wait ); - init_MUTEX( &priv_p->sys_cmd_sync_send_mutex ); + sema_init( &priv_p->sys_cmd_sync_send_mutex, 1); + spin_lock_init(&priv_p->lock_core_priv); + spin_lock_init(&priv_p->lock_factor_num); priv_p->read_dma_flg = FMB_DATA_DMAFLAG_ON; priv_p->read_dma_count = g_Dmacount_read; priv_p->write_dma_flg = FMB_DATA_DMAFLAG_ON; diff --git a/fmb_driver/fmb_hw.c b/fmb_driver/fmb_hw.c index 4a63b2f..3678441 100644 --- a/fmb_driver/fmb_hw.c +++ b/fmb_driver/fmb_hw.c @@ -30,7 +30,7 @@ PREPARE_DEBUG(); MODULE_LICENSE( "GPL" ); MODULE_DESCRIPTION( "MB86_Driver" ); -DECLARE_MUTEX( sm ); +struct semaphore sm; /********************************************************/ /* GROBAL VALUES */ @@ -38,7 +38,7 @@ DECLARE_MUTEX( sm ); static struct fmb_hard_private s_Fmb_hard_private_list[FMB_MAX_CARDS]; static int s_Fmb_cards_active = 0; static int s_Fmb_driver_version_major; -static spinlock_t s_Fmb_hw_lock = SPIN_LOCK_UNLOCKED; +static spinlock_t s_Fmb_hw_lock; static dev_t s_dev; /********************************************************/ /* */ @@ -917,9 +917,9 @@ static void fmb_hw_private_data_init(struct fmb_hard_private* priv_p) MSG(INTERNAL_LOG, minor, "START"); - priv_p->lock_hw_priv = SPIN_LOCK_UNLOCKED; - priv_p->dma_reg_lock = SPIN_LOCK_UNLOCKED; - priv_p->core_reg_lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&priv_p->lock_hw_priv); + spin_lock_init(&priv_p->dma_reg_lock); + spin_lock_init(&priv_p->core_reg_lock); pci_read_config_byte(priv_p->pci_dev_p, PCI_CLASS_REVISION, &priv_p->card_rev); pci_read_config_byte(priv_p->pci_dev_p, PCI_LATENCY_TIMER, &pci_latency); @@ -1452,7 +1452,8 @@ static int __init fmb_hw_init_module(void) int rc; minor = -1; - + sema_init(&sm, 1); + spin_lock_init(&s_Fmb_hw_lock); MSG(DRIVER_FUNC_LVL, minor, "START"); memset( s_Fmb_hard_private_list, 0x00, sizeof( s_Fmb_hard_private_list ) ); |