@@ -131,77 +131,74 @@ static void my_wq_function(struct work_struct *work)
131
131
132
132
int bcm2835_audio_start (struct bcm2835_alsa_stream * alsa_stream )
133
133
{
134
- int ret = -1 ;
135
-
136
134
LOG_DBG (" .. IN\n" );
137
135
if (alsa_stream -> my_wq ) {
138
136
struct bcm2835_audio_work * work ;
139
137
140
138
work = kmalloc (sizeof (* work ), GFP_ATOMIC );
141
139
/*--- Queue some work (item 1) ---*/
142
- if (work ) {
143
- INIT_WORK (& work -> my_work , my_wq_function );
144
- work -> alsa_stream = alsa_stream ;
145
- work -> cmd = BCM2835_AUDIO_START ;
146
- if (queue_work (alsa_stream -> my_wq , & work -> my_work ))
147
- ret = 0 ;
148
- } else {
140
+ if (!work ) {
149
141
LOG_ERR (" .. Error: NULL work kmalloc\n" );
142
+ return - ENOMEM ;
143
+ }
144
+ INIT_WORK (& work -> my_work , my_wq_function );
145
+ work -> alsa_stream = alsa_stream ;
146
+ work -> cmd = BCM2835_AUDIO_START ;
147
+ if (!queue_work (alsa_stream -> my_wq , & work -> my_work )) {
148
+ return - EBUSY ;
150
149
}
151
150
}
152
- LOG_DBG (" .. OUT %d \n" , ret );
153
- return ret ;
151
+ LOG_DBG (" .. OUT\n" );
152
+ return 0 ;
154
153
}
155
154
156
155
int bcm2835_audio_stop (struct bcm2835_alsa_stream * alsa_stream )
157
156
{
158
- int ret = -1 ;
159
-
160
157
LOG_DBG (" .. IN\n" );
161
158
if (alsa_stream -> my_wq ) {
162
159
struct bcm2835_audio_work * work ;
163
160
164
161
work = kmalloc (sizeof (* work ), GFP_ATOMIC );
165
162
/*--- Queue some work (item 1) ---*/
166
- if (work ) {
167
- INIT_WORK (& work -> my_work , my_wq_function );
168
- work -> alsa_stream = alsa_stream ;
169
- work -> cmd = BCM2835_AUDIO_STOP ;
170
- if (queue_work (alsa_stream -> my_wq , & work -> my_work ))
171
- ret = 0 ;
172
- } else {
163
+ if (!work ) {
173
164
LOG_ERR (" .. Error: NULL work kmalloc\n" );
165
+ return - ENOMEM ;
166
+ }
167
+ INIT_WORK (& work -> my_work , my_wq_function );
168
+ work -> alsa_stream = alsa_stream ;
169
+ work -> cmd = BCM2835_AUDIO_STOP ;
170
+ if (!queue_work (alsa_stream -> my_wq , & work -> my_work )) {
171
+ return - EBUSY ;
174
172
}
175
173
}
176
- LOG_DBG (" .. OUT %d \n" , ret );
177
- return ret ;
174
+ LOG_DBG (" .. OUT\n" );
175
+ return 0 ;
178
176
}
179
177
180
178
int bcm2835_audio_write (struct bcm2835_alsa_stream * alsa_stream ,
181
179
unsigned int count , void * src )
182
180
{
183
- int ret = -1 ;
184
-
185
181
LOG_DBG (" .. IN\n" );
186
182
if (alsa_stream -> my_wq ) {
187
183
struct bcm2835_audio_work * work ;
188
184
189
185
work = kmalloc (sizeof (* work ), GFP_ATOMIC );
190
186
/*--- Queue some work (item 1) ---*/
191
- if (work ) {
192
- INIT_WORK (& work -> my_work , my_wq_function );
193
- work -> alsa_stream = alsa_stream ;
194
- work -> cmd = BCM2835_AUDIO_WRITE ;
195
- work -> src = src ;
196
- work -> count = count ;
197
- if (queue_work (alsa_stream -> my_wq , & work -> my_work ))
198
- ret = 0 ;
199
- } else {
187
+ if (!work ) {
200
188
LOG_ERR (" .. Error: NULL work kmalloc\n" );
189
+ return - ENOMEM ;
190
+ }
191
+ INIT_WORK (& work -> my_work , my_wq_function );
192
+ work -> alsa_stream = alsa_stream ;
193
+ work -> cmd = BCM2835_AUDIO_WRITE ;
194
+ work -> src = src ;
195
+ work -> count = count ;
196
+ if (!queue_work (alsa_stream -> my_wq , & work -> my_work )) {
197
+ return - EBUSY ;
201
198
}
202
199
}
203
- LOG_DBG (" .. OUT %d \n" , ret );
204
- return ret ;
200
+ LOG_DBG (" .. OUT\n" );
201
+ return 0 ;
205
202
}
206
203
207
204
static void my_workqueue_init (struct bcm2835_alsa_stream * alsa_stream )
0 commit comments