Messages in this thread | | | From | Takashi Iwai <> | Subject | [PATCH 00/29] staging: bcm2835-audio: Cleanups and fixes | Date | Tue, 4 Sep 2018 17:58:29 +0200 |
| |
Hi,
since I had an opportunity to play with RPi3B+ recently, I took a look at the existing bcm2835-audio driver code and was amused very much :)
So here is the result, a cleanup and fix patch series.
Most of the patches are trivial cleanups, just brushing up, removing many redundant and buggy codes, as well as code simplifications.
A big functional change is that now it uses non-atomic PCM ops, so that we can kill the ugly workqueue usages. Also, the resource management was simplified.
As a result, we can get rid of ca 1000 lines. Not too bad.
Takashi
===
Takashi Iwai (29): staging: bcm2835-audio: Clean up mutex locks staging: bcm2835-audio: Remove redundant spdif stream ctls staging: bcm2835-audio: Clean up include files in bcm2835-ctl.c staging: bcm2835-audio: Remove redundant substream mask checks staging: bcm2835-audio: Fix mute controls, volume handling cleanup staging: bcm2835-audio: Remove redundant function calls staging: bcm2835-audio: Remove superfluous open flag staging: bcm2835-audio: Drop useless running flag and check staging: bcm2835-audio: Fix incorrect draining handling staging: bcm2835-audio: Kill unused spinlock staging: bcm2835-audio: Use PCM runtime values instead staging: bcm2835-audio: Drop unnecessary pcm indirect setup staging: bcm2835-audio: Drop useless NULL check staging: bcm2835-audio: Propagate parameter setup error staging: bcm2835-audio: Drop debug messages in bcm2835-pcm.c staging: bcm2835-audio: Drop superfluous mutex lock during prepare staging: bcm2835-audio: Add 10ms period constraint staging: bcm2835-audio: Make single vchi handle staging: bcm2835-audio: Code refactoring of vchiq accessor codes staging: bcm2835-audio: Operate non-atomic PCM ops staging: bcm2835-audio: Use card->private_data staging: bcm2835-audio: Use standard error print helpers staging: bcm2835-audio: Remove unnecessary header file includes staging: bcm2835-audio: Move module parameter description staging: bcm2835-audio: Use coherent device buffers staging: bcm2835-audio: Set SNDRV_PCM_INFO_SYNC_APPLPTR staging: bcm2835-audio: Simplify PCM creation helpers staging: bcm2835-audio: Simplify kctl creation helpers staging: bcm2835-audio: Simplify card object management
.../vc04_services/bcm2835-audio/bcm2835-ctl.c | 235 ++--- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 338 ++----- .../bcm2835-audio/bcm2835-vchiq.c | 893 +++++------------- .../vc04_services/bcm2835-audio/bcm2835.c | 222 ++--- .../vc04_services/bcm2835-audio/bcm2835.h | 85 +- 5 files changed, 413 insertions(+), 1360 deletions(-)
-- 2.18.0
| |