From: Jonathan Nieder Date: Sun, 1 May 2011 09:31:40 +0000 (-0300) Subject: [media] cx88: don't use atomic_t for core->users X-Git-Tag: firefly_0821_release~7613^2~1037^2~141 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8d115931622eb19a15f2633cb35dd2c4a66db255;p=firefly-linux-kernel-4.4.55.git [media] cx88: don't use atomic_t for core->users users is always read or written with core->lock held. A plain int is simpler and faster. Tested-by: Andi Huber Tested-by: Marlon de Boer Signed-off-by: Jonathan Nieder Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c index b1f734dccea0..cef4f282e5aa 100644 --- a/drivers/media/video/cx88/cx88-video.c +++ b/drivers/media/video/cx88/cx88-video.c @@ -824,7 +824,7 @@ static int video_open(struct file *file) call_all(core, tuner, s_radio); } - atomic_inc(&core->users); + core->users++; mutex_unlock(&core->lock); return 0; @@ -922,7 +922,8 @@ static int video_release(struct file *file) file->private_data = NULL; kfree(fh); - if(atomic_dec_and_test(&dev->core->users)) + dev->core->users--; + if (!dev->core->users) call_all(dev->core, core, s_power, 0); mutex_unlock(&dev->core->lock); diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 9e8176ecf648..a399a8b086ba 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h @@ -389,7 +389,7 @@ struct cx88_core { struct mutex lock; /* various v4l controls */ u32 freq; - atomic_t users; + int users; int mpeg_users; /* cx88-video needs to access cx8802 for hybrid tuner pll access. */