aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/tidspbridge/pmgr
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2012-02-06 18:39:34 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-09 12:38:18 -0500
commit276cc746d58b73aa4e046745441b8cf56858f9ef (patch)
tree775c713fb3153e11bc17af94b1614b9fc3b5843d /drivers/staging/tidspbridge/pmgr
parent8900f00b1546a32be6b9dd7cf1633560e4381a76 (diff)
staging: tidspbridge: remove DBC_ENSURE and DBC_REQUIRED
The kernel does not use a "Design by Contract" approach, and it is only activated in the module if CONFIG_TIDSPBRDIGE_DEBUG is enabled, so they are executed rarely. It is better to remove them: less code to maintain. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/tidspbridge/pmgr')
-rw-r--r--drivers/staging/tidspbridge/pmgr/chnl.c16
-rw-r--r--drivers/staging/tidspbridge/pmgr/cmm.c59
-rw-r--r--drivers/staging/tidspbridge/pmgr/cod.c71
-rw-r--r--drivers/staging/tidspbridge/pmgr/dbll.c108
-rw-r--r--drivers/staging/tidspbridge/pmgr/dev.c123
-rw-r--r--drivers/staging/tidspbridge/pmgr/dmm.c11
-rw-r--r--drivers/staging/tidspbridge/pmgr/dspapi.c4
-rw-r--r--drivers/staging/tidspbridge/pmgr/io.c14
-rw-r--r--drivers/staging/tidspbridge/pmgr/msg.c14
9 files changed, 1 insertions, 419 deletions
diff --git a/drivers/staging/tidspbridge/pmgr/chnl.c b/drivers/staging/tidspbridge/pmgr/chnl.c
index 245de82e2d6..61ee0f0e511 100644
--- a/drivers/staging/tidspbridge/pmgr/chnl.c
+++ b/drivers/staging/tidspbridge/pmgr/chnl.c
@@ -58,10 +58,6 @@ int chnl_create(struct chnl_mgr **channel_mgr,
58 struct chnl_mgr *hchnl_mgr; 58 struct chnl_mgr *hchnl_mgr;
59 struct chnl_mgr_ *chnl_mgr_obj = NULL; 59 struct chnl_mgr_ *chnl_mgr_obj = NULL;
60 60
61 DBC_REQUIRE(refs > 0);
62 DBC_REQUIRE(channel_mgr != NULL);
63 DBC_REQUIRE(mgr_attrts != NULL);
64
65 *channel_mgr = NULL; 61 *channel_mgr = NULL;
66 62
67 /* Validate args: */ 63 /* Validate args: */
@@ -99,8 +95,6 @@ int chnl_create(struct chnl_mgr **channel_mgr,
99 } 95 }
100 } 96 }
101 97
102 DBC_ENSURE(status || chnl_mgr_obj);
103
104 return status; 98 return status;
105} 99}
106 100
@@ -115,8 +109,6 @@ int chnl_destroy(struct chnl_mgr *hchnl_mgr)
115 struct bridge_drv_interface *intf_fxns; 109 struct bridge_drv_interface *intf_fxns;
116 int status; 110 int status;
117 111
118 DBC_REQUIRE(refs > 0);
119
120 if (chnl_mgr_obj) { 112 if (chnl_mgr_obj) {
121 intf_fxns = chnl_mgr_obj->intf_fxns; 113 intf_fxns = chnl_mgr_obj->intf_fxns;
122 /* Let Bridge channel module destroy the chnl_mgr: */ 114 /* Let Bridge channel module destroy the chnl_mgr: */
@@ -135,11 +127,7 @@ int chnl_destroy(struct chnl_mgr *hchnl_mgr)
135 */ 127 */
136void chnl_exit(void) 128void chnl_exit(void)
137{ 129{
138 DBC_REQUIRE(refs > 0);
139
140 refs--; 130 refs--;
141
142 DBC_ENSURE(refs >= 0);
143} 131}
144 132
145/* 133/*
@@ -151,12 +139,8 @@ bool chnl_init(void)
151{ 139{
152 bool ret = true; 140 bool ret = true;
153 141
154 DBC_REQUIRE(refs >= 0);
155
156 if (ret) 142 if (ret)
157 refs++; 143 refs++;
158 144
159 DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));
160
161 return ret; 145 return ret;
162} 146}
diff --git a/drivers/staging/tidspbridge/pmgr/cmm.c b/drivers/staging/tidspbridge/pmgr/cmm.c
index e6b2c8962f8..2eeb5370927 100644
--- a/drivers/staging/tidspbridge/pmgr/cmm.c
+++ b/drivers/staging/tidspbridge/pmgr/cmm.c
@@ -244,9 +244,6 @@ int cmm_create(struct cmm_object **ph_cmm_mgr,
244 struct cmm_object *cmm_obj = NULL; 244 struct cmm_object *cmm_obj = NULL;
245 int status = 0; 245 int status = 0;
246 246
247 DBC_REQUIRE(refs > 0);
248 DBC_REQUIRE(ph_cmm_mgr != NULL);
249
250 *ph_cmm_mgr = NULL; 247 *ph_cmm_mgr = NULL;
251 /* create, zero, and tag a cmm mgr object */ 248 /* create, zero, and tag a cmm mgr object */
252 cmm_obj = kzalloc(sizeof(struct cmm_object), GFP_KERNEL); 249 cmm_obj = kzalloc(sizeof(struct cmm_object), GFP_KERNEL);
@@ -283,7 +280,6 @@ int cmm_destroy(struct cmm_object *hcmm_mgr, bool force)
283 s32 slot_seg; 280 s32 slot_seg;
284 struct cmm_mnode *node, *tmp; 281 struct cmm_mnode *node, *tmp;
285 282
286 DBC_REQUIRE(refs > 0);
287 if (!hcmm_mgr) { 283 if (!hcmm_mgr) {
288 status = -EFAULT; 284 status = -EFAULT;
289 return status; 285 return status;
@@ -333,8 +329,6 @@ int cmm_destroy(struct cmm_object *hcmm_mgr, bool force)
333 */ 329 */
334void cmm_exit(void) 330void cmm_exit(void)
335{ 331{
336 DBC_REQUIRE(refs > 0);
337
338 refs--; 332 refs--;
339} 333}
340 334
@@ -351,9 +345,6 @@ int cmm_free_buf(struct cmm_object *hcmm_mgr, void *buf_pa, u32 ul_seg_id)
351 struct cmm_allocator *allocator; 345 struct cmm_allocator *allocator;
352 struct cmm_attrs *pattrs; 346 struct cmm_attrs *pattrs;
353 347
354 DBC_REQUIRE(refs > 0);
355 DBC_REQUIRE(buf_pa != NULL);
356
357 if (ul_seg_id == 0) { 348 if (ul_seg_id == 0) {
358 pattrs = &cmm_dfltalctattrs; 349 pattrs = &cmm_dfltalctattrs;
359 ul_seg_id = pattrs->seg_id; 350 ul_seg_id = pattrs->seg_id;
@@ -392,8 +383,6 @@ int cmm_get_handle(void *hprocessor, struct cmm_object ** ph_cmm_mgr)
392 int status = 0; 383 int status = 0;
393 struct dev_object *hdev_obj; 384 struct dev_object *hdev_obj;
394 385
395 DBC_REQUIRE(refs > 0);
396 DBC_REQUIRE(ph_cmm_mgr != NULL);
397 if (hprocessor != NULL) 386 if (hprocessor != NULL)
398 status = proc_get_dev_object(hprocessor, &hdev_obj); 387 status = proc_get_dev_object(hprocessor, &hdev_obj);
399 else 388 else
@@ -419,8 +408,6 @@ int cmm_get_info(struct cmm_object *hcmm_mgr,
419 struct cmm_allocator *altr; 408 struct cmm_allocator *altr;
420 struct cmm_mnode *curr; 409 struct cmm_mnode *curr;
421 410
422 DBC_REQUIRE(cmm_info_obj != NULL);
423
424 if (!hcmm_mgr) { 411 if (!hcmm_mgr) {
425 status = -EFAULT; 412 status = -EFAULT;
426 return status; 413 return status;
@@ -472,12 +459,9 @@ bool cmm_init(void)
472{ 459{
473 bool ret = true; 460 bool ret = true;
474 461
475 DBC_REQUIRE(refs >= 0);
476 if (ret) 462 if (ret)
477 refs++; 463 refs++;
478 464
479 DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));
480
481 return ret; 465 return ret;
482} 466}
483 467
@@ -499,13 +483,6 @@ int cmm_register_gppsm_seg(struct cmm_object *hcmm_mgr,
499 struct cmm_mnode *new_node; 483 struct cmm_mnode *new_node;
500 s32 slot_seg; 484 s32 slot_seg;
501 485
502 DBC_REQUIRE(ul_size > 0);
503 DBC_REQUIRE(sgmt_id != NULL);
504 DBC_REQUIRE(dw_gpp_base_pa != 0);
505 DBC_REQUIRE(gpp_base_va != 0);
506 DBC_REQUIRE((c_factor <= CMM_ADDTODSPPA) &&
507 (c_factor >= CMM_SUBFROMDSPPA));
508
509 dev_dbg(bridge, "%s: dw_gpp_base_pa %x ul_size %x dsp_addr_offset %x " 486 dev_dbg(bridge, "%s: dw_gpp_base_pa %x ul_size %x dsp_addr_offset %x "
510 "dw_dsp_base %x ul_dsp_size %x gpp_base_va %x\n", 487 "dw_dsp_base %x ul_dsp_size %x gpp_base_va %x\n",
511 __func__, dw_gpp_base_pa, ul_size, dsp_addr_offset, 488 __func__, dw_gpp_base_pa, ul_size, dsp_addr_offset,
@@ -589,7 +566,6 @@ int cmm_un_register_gppsm_seg(struct cmm_object *hcmm_mgr,
589 struct cmm_allocator *psma; 566 struct cmm_allocator *psma;
590 u32 ul_id = ul_seg_id; 567 u32 ul_id = ul_seg_id;
591 568
592 DBC_REQUIRE(ul_seg_id > 0);
593 if (!hcmm_mgr) 569 if (!hcmm_mgr)
594 return -EFAULT; 570 return -EFAULT;
595 571
@@ -635,8 +611,6 @@ static void un_register_gppsm_seg(struct cmm_allocator *psma)
635{ 611{
636 struct cmm_mnode *curr, *tmp; 612 struct cmm_mnode *curr, *tmp;
637 613
638 DBC_REQUIRE(psma != NULL);
639
640 /* free nodes on free list */ 614 /* free nodes on free list */
641 list_for_each_entry_safe(curr, tmp, &psma->free_list, link) { 615 list_for_each_entry_safe(curr, tmp, &psma->free_list, link) {
642 list_del(&curr->link); 616 list_del(&curr->link);
@@ -664,7 +638,6 @@ static void un_register_gppsm_seg(struct cmm_allocator *psma)
664static s32 get_slot(struct cmm_object *cmm_mgr_obj) 638static s32 get_slot(struct cmm_object *cmm_mgr_obj)
665{ 639{
666 s32 slot_seg = -1; /* neg on failure */ 640 s32 slot_seg = -1; /* neg on failure */
667 DBC_REQUIRE(cmm_mgr_obj != NULL);
668 /* get first available slot in cmm mgr SMSegTab[] */ 641 /* get first available slot in cmm mgr SMSegTab[] */
669 for (slot_seg = 0; slot_seg < CMM_MAXGPPSEGS; slot_seg++) { 642 for (slot_seg = 0; slot_seg < CMM_MAXGPPSEGS; slot_seg++) {
670 if (cmm_mgr_obj->pa_gppsm_seg_tab[slot_seg] == NULL) 643 if (cmm_mgr_obj->pa_gppsm_seg_tab[slot_seg] == NULL)
@@ -687,11 +660,6 @@ static struct cmm_mnode *get_node(struct cmm_object *cmm_mgr_obj, u32 dw_pa,
687{ 660{
688 struct cmm_mnode *pnode; 661 struct cmm_mnode *pnode;
689 662
690 DBC_REQUIRE(cmm_mgr_obj != NULL);
691 DBC_REQUIRE(dw_pa != 0);
692 DBC_REQUIRE(dw_va != 0);
693 DBC_REQUIRE(ul_size != 0);
694
695 /* Check cmm mgr's node freelist */ 663 /* Check cmm mgr's node freelist */
696 if (list_empty(&cmm_mgr_obj->node_free_list)) { 664 if (list_empty(&cmm_mgr_obj->node_free_list)) {
697 pnode = kzalloc(sizeof(struct cmm_mnode), GFP_KERNEL); 665 pnode = kzalloc(sizeof(struct cmm_mnode), GFP_KERNEL);
@@ -719,7 +687,6 @@ static struct cmm_mnode *get_node(struct cmm_object *cmm_mgr_obj, u32 dw_pa,
719 */ 687 */
720static void delete_node(struct cmm_object *cmm_mgr_obj, struct cmm_mnode *pnode) 688static void delete_node(struct cmm_object *cmm_mgr_obj, struct cmm_mnode *pnode)
721{ 689{
722 DBC_REQUIRE(pnode != NULL);
723 list_add_tail(&pnode->link, &cmm_mgr_obj->node_free_list); 690 list_add_tail(&pnode->link, &cmm_mgr_obj->node_free_list);
724} 691}
725 692
@@ -794,9 +761,6 @@ static void add_to_free_list(struct cmm_allocator *allocator,
794static struct cmm_allocator *get_allocator(struct cmm_object *cmm_mgr_obj, 761static struct cmm_allocator *get_allocator(struct cmm_object *cmm_mgr_obj,
795 u32 ul_seg_id) 762 u32 ul_seg_id)
796{ 763{
797 DBC_REQUIRE(cmm_mgr_obj != NULL);
798 DBC_REQUIRE((ul_seg_id > 0) && (ul_seg_id <= CMM_MAXGPPSEGS));
799
800 return cmm_mgr_obj->pa_gppsm_seg_tab[ul_seg_id - 1]; 764 return cmm_mgr_obj->pa_gppsm_seg_tab[ul_seg_id - 1];
801} 765}
802 766
@@ -818,10 +782,6 @@ int cmm_xlator_create(struct cmm_xlatorobject **xlator,
818 struct cmm_xlator *xlator_object = NULL; 782 struct cmm_xlator *xlator_object = NULL;
819 int status = 0; 783 int status = 0;
820 784
821 DBC_REQUIRE(refs > 0);
822 DBC_REQUIRE(xlator != NULL);
823 DBC_REQUIRE(hcmm_mgr != NULL);
824
825 *xlator = NULL; 785 *xlator = NULL;
826 if (xlator_attrs == NULL) 786 if (xlator_attrs == NULL)
827 xlator_attrs = &cmm_dfltxlatorattrs; /* set defaults */ 787 xlator_attrs = &cmm_dfltxlatorattrs; /* set defaults */
@@ -851,13 +811,6 @@ void *cmm_xlator_alloc_buf(struct cmm_xlatorobject *xlator, void *va_buf,
851 void *tmp_va_buff; 811 void *tmp_va_buff;
852 struct cmm_attrs attrs; 812 struct cmm_attrs attrs;
853 813
854 DBC_REQUIRE(refs > 0);
855 DBC_REQUIRE(xlator != NULL);
856 DBC_REQUIRE(xlator_obj->cmm_mgr != NULL);
857 DBC_REQUIRE(va_buf != NULL);
858 DBC_REQUIRE(pa_size > 0);
859 DBC_REQUIRE(xlator_obj->seg_id > 0);
860
861 if (xlator_obj) { 814 if (xlator_obj) {
862 attrs.seg_id = xlator_obj->seg_id; 815 attrs.seg_id = xlator_obj->seg_id;
863 __raw_writel(0, va_buf); 816 __raw_writel(0, va_buf);
@@ -887,10 +840,6 @@ int cmm_xlator_free_buf(struct cmm_xlatorobject *xlator, void *buf_va)
887 int status = -EPERM; 840 int status = -EPERM;
888 void *buf_pa = NULL; 841 void *buf_pa = NULL;
889 842
890 DBC_REQUIRE(refs > 0);
891 DBC_REQUIRE(buf_va != NULL);
892 DBC_REQUIRE(xlator_obj->seg_id > 0);
893
894 if (xlator_obj) { 843 if (xlator_obj) {
895 /* convert Va to Pa so we can free it. */ 844 /* convert Va to Pa so we can free it. */
896 buf_pa = cmm_xlator_translate(xlator, buf_va, CMM_VA2PA); 845 buf_pa = cmm_xlator_translate(xlator, buf_va, CMM_VA2PA);
@@ -918,10 +867,6 @@ int cmm_xlator_info(struct cmm_xlatorobject *xlator, u8 ** paddr,
918 struct cmm_xlator *xlator_obj = (struct cmm_xlator *)xlator; 867 struct cmm_xlator *xlator_obj = (struct cmm_xlator *)xlator;
919 int status = 0; 868 int status = 0;
920 869
921 DBC_REQUIRE(refs > 0);
922 DBC_REQUIRE(paddr != NULL);
923 DBC_REQUIRE((segm_id > 0) && (segm_id <= CMM_MAXGPPSEGS));
924
925 if (xlator_obj) { 870 if (xlator_obj) {
926 if (set_info) { 871 if (set_info) {
927 /* set translators virtual address range */ 872 /* set translators virtual address range */
@@ -948,10 +893,6 @@ void *cmm_xlator_translate(struct cmm_xlatorobject *xlator, void *paddr,
948 struct cmm_allocator *allocator = NULL; 893 struct cmm_allocator *allocator = NULL;
949 u32 dw_offset = 0; 894 u32 dw_offset = 0;
950 895
951 DBC_REQUIRE(refs > 0);
952 DBC_REQUIRE(paddr != NULL);
953 DBC_REQUIRE((xtype >= CMM_VA2PA) && (xtype <= CMM_DSPPA2PA));
954
955 if (!xlator_obj) 896 if (!xlator_obj)
956 goto loop_cont; 897 goto loop_cont;
957 898
diff --git a/drivers/staging/tidspbridge/pmgr/cod.c b/drivers/staging/tidspbridge/pmgr/cod.c
index 1a29264b585..be7c7772521 100644
--- a/drivers/staging/tidspbridge/pmgr/cod.c
+++ b/drivers/staging/tidspbridge/pmgr/cod.c
@@ -183,10 +183,6 @@ void cod_close(struct cod_libraryobj *lib)
183{ 183{
184 struct cod_manager *hmgr; 184 struct cod_manager *hmgr;
185 185
186 DBC_REQUIRE(refs > 0);
187 DBC_REQUIRE(lib != NULL);
188 DBC_REQUIRE(lib->cod_mgr);
189
190 hmgr = lib->cod_mgr; 186 hmgr = lib->cod_mgr;
191 hmgr->fxns.close_fxn(lib->dbll_lib); 187 hmgr->fxns.close_fxn(lib->dbll_lib);
192 188
@@ -208,9 +204,6 @@ int cod_create(struct cod_manager **mgr, char *str_zl_file)
208 struct dbll_attrs zl_attrs; 204 struct dbll_attrs zl_attrs;
209 int status = 0; 205 int status = 0;
210 206
211 DBC_REQUIRE(refs > 0);
212 DBC_REQUIRE(mgr != NULL);
213
214 /* assume failure */ 207 /* assume failure */
215 *mgr = NULL; 208 *mgr = NULL;
216 209
@@ -263,9 +256,6 @@ int cod_create(struct cod_manager **mgr, char *str_zl_file)
263 */ 256 */
264void cod_delete(struct cod_manager *cod_mgr_obj) 257void cod_delete(struct cod_manager *cod_mgr_obj)
265{ 258{
266 DBC_REQUIRE(refs > 0);
267 DBC_REQUIRE(cod_mgr_obj);
268
269 if (cod_mgr_obj->base_lib) { 259 if (cod_mgr_obj->base_lib) {
270 if (cod_mgr_obj->loaded) 260 if (cod_mgr_obj->loaded)
271 cod_mgr_obj->fxns.unload_fxn(cod_mgr_obj->base_lib, 261 cod_mgr_obj->fxns.unload_fxn(cod_mgr_obj->base_lib,
@@ -288,11 +278,7 @@ void cod_delete(struct cod_manager *cod_mgr_obj)
288 */ 278 */
289void cod_exit(void) 279void cod_exit(void)
290{ 280{
291 DBC_REQUIRE(refs > 0);
292
293 refs--; 281 refs--;
294
295 DBC_ENSURE(refs >= 0);
296} 282}
297 283
298/* 284/*
@@ -305,10 +291,6 @@ int cod_get_base_lib(struct cod_manager *cod_mgr_obj,
305{ 291{
306 int status = 0; 292 int status = 0;
307 293
308 DBC_REQUIRE(refs > 0);
309 DBC_REQUIRE(cod_mgr_obj);
310 DBC_REQUIRE(plib != NULL);
311
312 *plib = (struct dbll_library_obj *)cod_mgr_obj->base_lib; 294 *plib = (struct dbll_library_obj *)cod_mgr_obj->base_lib;
313 295
314 return status; 296 return status;
@@ -322,10 +304,6 @@ int cod_get_base_name(struct cod_manager *cod_mgr_obj, char *sz_name,
322{ 304{
323 int status = 0; 305 int status = 0;
324 306
325 DBC_REQUIRE(refs > 0);
326 DBC_REQUIRE(cod_mgr_obj);
327 DBC_REQUIRE(sz_name != NULL);
328
329 if (usize <= COD_MAXPATHLENGTH) 307 if (usize <= COD_MAXPATHLENGTH)
330 strncpy(sz_name, cod_mgr_obj->sz_zl_file, usize); 308 strncpy(sz_name, cod_mgr_obj->sz_zl_file, usize);
331 else 309 else
@@ -342,10 +320,6 @@ int cod_get_base_name(struct cod_manager *cod_mgr_obj, char *sz_name,
342 */ 320 */
343int cod_get_entry(struct cod_manager *cod_mgr_obj, u32 *entry_pt) 321int cod_get_entry(struct cod_manager *cod_mgr_obj, u32 *entry_pt)
344{ 322{
345 DBC_REQUIRE(refs > 0);
346 DBC_REQUIRE(cod_mgr_obj);
347 DBC_REQUIRE(entry_pt != NULL);
348
349 *entry_pt = cod_mgr_obj->entry; 323 *entry_pt = cod_mgr_obj->entry;
350 324
351 return 0; 325 return 0;
@@ -361,10 +335,6 @@ int cod_get_loader(struct cod_manager *cod_mgr_obj,
361{ 335{
362 int status = 0; 336 int status = 0;
363 337
364 DBC_REQUIRE(refs > 0);
365 DBC_REQUIRE(cod_mgr_obj);
366 DBC_REQUIRE(loader != NULL);
367
368 *loader = (struct dbll_tar_obj *)cod_mgr_obj->target; 338 *loader = (struct dbll_tar_obj *)cod_mgr_obj->target;
369 339
370 return status; 340 return status;
@@ -382,13 +352,6 @@ int cod_get_section(struct cod_libraryobj *lib, char *str_sect,
382 struct cod_manager *cod_mgr_obj; 352 struct cod_manager *cod_mgr_obj;
383 int status = 0; 353 int status = 0;
384 354
385 DBC_REQUIRE(refs > 0);
386 DBC_REQUIRE(lib != NULL);
387 DBC_REQUIRE(lib->cod_mgr);
388 DBC_REQUIRE(str_sect != NULL);
389 DBC_REQUIRE(addr != NULL);
390 DBC_REQUIRE(len != NULL);
391
392 *addr = 0; 355 *addr = 0;
393 *len = 0; 356 *len = 0;
394 if (lib != NULL) { 357 if (lib != NULL) {
@@ -399,8 +362,6 @@ int cod_get_section(struct cod_libraryobj *lib, char *str_sect,
399 status = -ESPIPE; 362 status = -ESPIPE;
400 } 363 }
401 364
402 DBC_ENSURE(!status || ((*addr == 0) && (*len == 0)));
403
404 return status; 365 return status;
405} 366}
406 367
@@ -417,11 +378,6 @@ int cod_get_sym_value(struct cod_manager *cod_mgr_obj, char *str_sym,
417{ 378{
418 struct dbll_sym_val *dbll_sym; 379 struct dbll_sym_val *dbll_sym;
419 380
420 DBC_REQUIRE(refs > 0);
421 DBC_REQUIRE(cod_mgr_obj);
422 DBC_REQUIRE(str_sym != NULL);
423 DBC_REQUIRE(pul_value != NULL);
424
425 dev_dbg(bridge, "%s: cod_mgr_obj: %p str_sym: %s pul_value: %p\n", 381 dev_dbg(bridge, "%s: cod_mgr_obj: %p str_sym: %s pul_value: %p\n",
426 __func__, cod_mgr_obj, str_sym, pul_value); 382 __func__, cod_mgr_obj, str_sym, pul_value);
427 if (cod_mgr_obj->base_lib) { 383 if (cod_mgr_obj->base_lib) {
@@ -451,12 +407,9 @@ bool cod_init(void)
451{ 407{
452 bool ret = true; 408 bool ret = true;
453 409
454 DBC_REQUIRE(refs >= 0);
455
456 if (ret) 410 if (ret)
457 refs++; 411 refs++;
458 412
459 DBC_ENSURE((ret && refs > 0) || (!ret && refs >= 0));
460 return ret; 413 return ret;
461} 414}
462 415
@@ -482,14 +435,6 @@ int cod_load_base(struct cod_manager *cod_mgr_obj, u32 num_argc, char *args[],
482 int status; 435 int status;
483 u32 i; 436 u32 i;
484 437
485 DBC_REQUIRE(refs > 0);
486 DBC_REQUIRE(cod_mgr_obj);
487 DBC_REQUIRE(num_argc > 0);
488 DBC_REQUIRE(args != NULL);
489 DBC_REQUIRE(args[0] != NULL);
490 DBC_REQUIRE(pfn_write != NULL);
491 DBC_REQUIRE(cod_mgr_obj->base_lib != NULL);
492
493 /* 438 /*
494 * Make sure every argv[] stated in argc has a value, or change argc to 439 * Make sure every argv[] stated in argc has a value, or change argc to
495 * reflect true number in NULL terminated argv array. 440 * reflect true number in NULL terminated argv array.
@@ -538,12 +483,6 @@ int cod_open(struct cod_manager *hmgr, char *sz_coff_path,
538 int status = 0; 483 int status = 0;
539 struct cod_libraryobj *lib = NULL; 484 struct cod_libraryobj *lib = NULL;
540 485
541 DBC_REQUIRE(refs > 0);
542 DBC_REQUIRE(hmgr);
543 DBC_REQUIRE(sz_coff_path != NULL);
544 DBC_REQUIRE(flags == COD_NOLOAD || flags == COD_SYMB);
545 DBC_REQUIRE(lib_obj != NULL);
546
547 *lib_obj = NULL; 486 *lib_obj = NULL;
548 487
549 lib = kzalloc(sizeof(struct cod_libraryobj), GFP_KERNEL); 488 lib = kzalloc(sizeof(struct cod_libraryobj), GFP_KERNEL);
@@ -575,10 +514,6 @@ int cod_open_base(struct cod_manager *hmgr, char *sz_coff_path,
575 int status = 0; 514 int status = 0;
576 struct dbll_library_obj *lib; 515 struct dbll_library_obj *lib;
577 516
578 DBC_REQUIRE(refs > 0);
579 DBC_REQUIRE(hmgr);
580 DBC_REQUIRE(sz_coff_path != NULL);
581
582 /* if we previously opened a base image, close it now */ 517 /* if we previously opened a base image, close it now */
583 if (hmgr->base_lib) { 518 if (hmgr->base_lib) {
584 if (hmgr->loaded) { 519 if (hmgr->loaded) {
@@ -612,12 +547,6 @@ int cod_read_section(struct cod_libraryobj *lib, char *str_sect,
612{ 547{
613 int status = 0; 548 int status = 0;
614 549
615 DBC_REQUIRE(refs > 0);
616 DBC_REQUIRE(lib != NULL);
617 DBC_REQUIRE(lib->cod_mgr);
618 DBC_REQUIRE(str_sect != NULL);
619 DBC_REQUIRE(str_content != NULL);
620
621 if (lib != NULL) 550 if (lib != NULL)
622 status = 551 status =
623 lib->cod_mgr->fxns.read_sect_fxn(lib->dbll_lib, str_sect, 552 lib->cod_mgr->fxns.read_sect_fxn(lib->dbll_lib, str_sect,
diff --git a/drivers/staging/tidspbridge/pmgr/dbll.c b/drivers/staging/tidspbridge/pmgr/dbll.c
index 31da62b14bc..db1af795544 100644
--- a/drivers/staging/tidspbridge/pmgr/dbll.c
+++ b/drivers/staging/tidspbridge/pmgr/dbll.c
@@ -202,9 +202,6 @@ void dbll_close(struct dbll_library_obj *zl_lib)
202{ 202{
203 struct dbll_tar_obj *zl_target; 203 struct dbll_tar_obj *zl_target;
204 204
205 DBC_REQUIRE(refs > 0);
206 DBC_REQUIRE(zl_lib);
207 DBC_REQUIRE(zl_lib->open_ref > 0);
208 zl_target = zl_lib->target_obj; 205 zl_target = zl_lib->target_obj;
209 zl_lib->open_ref--; 206 zl_lib->open_ref--;
210 if (zl_lib->open_ref == 0) { 207 if (zl_lib->open_ref == 0) {
@@ -241,10 +238,6 @@ int dbll_create(struct dbll_tar_obj **target_obj,
241 struct dbll_tar_obj *pzl_target; 238 struct dbll_tar_obj *pzl_target;
242 int status = 0; 239 int status = 0;
243 240
244 DBC_REQUIRE(refs > 0);
245 DBC_REQUIRE(pattrs != NULL);
246 DBC_REQUIRE(target_obj != NULL);
247
248 /* Allocate DBL target object */ 241 /* Allocate DBL target object */
249 pzl_target = kzalloc(sizeof(struct dbll_tar_obj), GFP_KERNEL); 242 pzl_target = kzalloc(sizeof(struct dbll_tar_obj), GFP_KERNEL);
250 if (target_obj != NULL) { 243 if (target_obj != NULL) {
@@ -255,8 +248,6 @@ int dbll_create(struct dbll_tar_obj **target_obj,
255 pzl_target->attrs = *pattrs; 248 pzl_target->attrs = *pattrs;
256 *target_obj = (struct dbll_tar_obj *)pzl_target; 249 *target_obj = (struct dbll_tar_obj *)pzl_target;
257 } 250 }
258 DBC_ENSURE((!status && *target_obj) ||
259 (status && *target_obj == NULL));
260 } 251 }
261 252
262 return status; 253 return status;
@@ -269,9 +260,6 @@ void dbll_delete(struct dbll_tar_obj *target)
269{ 260{
270 struct dbll_tar_obj *zl_target = (struct dbll_tar_obj *)target; 261 struct dbll_tar_obj *zl_target = (struct dbll_tar_obj *)target;
271 262
272 DBC_REQUIRE(refs > 0);
273 DBC_REQUIRE(zl_target);
274
275 kfree(zl_target); 263 kfree(zl_target);
276 264
277} 265}
@@ -282,14 +270,10 @@ void dbll_delete(struct dbll_tar_obj *target)
282 */ 270 */
283void dbll_exit(void) 271void dbll_exit(void)
284{ 272{
285 DBC_REQUIRE(refs > 0);
286
287 refs--; 273 refs--;
288 274
289 if (refs == 0) 275 if (refs == 0)
290 gh_exit(); 276 gh_exit();
291
292 DBC_ENSURE(refs >= 0);
293} 277}
294 278
295/* 279/*
@@ -302,12 +286,6 @@ bool dbll_get_addr(struct dbll_library_obj *zl_lib, char *name,
302 struct dbll_symbol *sym; 286 struct dbll_symbol *sym;
303 bool status = false; 287 bool status = false;
304 288
305 DBC_REQUIRE(refs > 0);
306 DBC_REQUIRE(zl_lib);
307 DBC_REQUIRE(name != NULL);
308 DBC_REQUIRE(sym_val != NULL);
309 DBC_REQUIRE(zl_lib->sym_tab != NULL);
310
311 sym = (struct dbll_symbol *)gh_find(zl_lib->sym_tab, name); 289 sym = (struct dbll_symbol *)gh_find(zl_lib->sym_tab, name);
312 if (sym != NULL) { 290 if (sym != NULL) {
313 *sym_val = &sym->value; 291 *sym_val = &sym->value;
@@ -327,10 +305,6 @@ void dbll_get_attrs(struct dbll_tar_obj *target, struct dbll_attrs *pattrs)
327{ 305{
328 struct dbll_tar_obj *zl_target = (struct dbll_tar_obj *)target; 306 struct dbll_tar_obj *zl_target = (struct dbll_tar_obj *)target;
329 307
330 DBC_REQUIRE(refs > 0);
331 DBC_REQUIRE(zl_target);
332 DBC_REQUIRE(pattrs != NULL);
333
334 if ((pattrs != NULL) && (zl_target != NULL)) 308 if ((pattrs != NULL) && (zl_target != NULL))
335 *pattrs = zl_target->attrs; 309 *pattrs = zl_target->attrs;
336 310
@@ -347,12 +321,6 @@ bool dbll_get_c_addr(struct dbll_library_obj *zl_lib, char *name,
347 char cname[MAXEXPR + 1]; 321 char cname[MAXEXPR + 1];
348 bool status = false; 322 bool status = false;
349 323
350 DBC_REQUIRE(refs > 0);
351 DBC_REQUIRE(zl_lib);
352 DBC_REQUIRE(sym_val != NULL);
353 DBC_REQUIRE(zl_lib->sym_tab != NULL);
354 DBC_REQUIRE(name != NULL);
355
356 cname[0] = '_'; 324 cname[0] = '_';
357 325
358 strncpy(cname + 1, name, sizeof(cname) - 2); 326 strncpy(cname + 1, name, sizeof(cname) - 2);
@@ -382,12 +350,6 @@ int dbll_get_sect(struct dbll_library_obj *lib, char *name, u32 *paddr,
382 struct dbll_library_obj *zl_lib = (struct dbll_library_obj *)lib; 350 struct dbll_library_obj *zl_lib = (struct dbll_library_obj *)lib;
383 int status = 0; 351 int status = 0;
384 352
385 DBC_REQUIRE(refs > 0);
386 DBC_REQUIRE(name != NULL);
387 DBC_REQUIRE(paddr != NULL);
388 DBC_REQUIRE(psize != NULL);
389 DBC_REQUIRE(zl_lib);
390
391 /* If DOFF file is not open, we open it. */ 353 /* If DOFF file is not open, we open it. */
392 if (zl_lib != NULL) { 354 if (zl_lib != NULL) {
393 if (zl_lib->fp == NULL) { 355 if (zl_lib->fp == NULL) {
@@ -434,8 +396,6 @@ int dbll_get_sect(struct dbll_library_obj *lib, char *name, u32 *paddr,
434 */ 396 */
435bool dbll_init(void) 397bool dbll_init(void)
436{ 398{
437 DBC_REQUIRE(refs >= 0);
438
439 if (refs == 0) 399 if (refs == 0)
440 gh_init(); 400 gh_init();
441 401
@@ -456,10 +416,6 @@ int dbll_load(struct dbll_library_obj *lib, dbll_flags flags,
456 s32 err; 416 s32 err;
457 int status = 0; 417 int status = 0;
458 bool opened_doff = false; 418 bool opened_doff = false;
459 DBC_REQUIRE(refs > 0);
460 DBC_REQUIRE(zl_lib);
461 DBC_REQUIRE(entry != NULL);
462 DBC_REQUIRE(attrs != NULL);
463 419
464 /* 420 /*
465 * Load if not already loaded. 421 * Load if not already loaded.
@@ -558,8 +514,6 @@ int dbll_load(struct dbll_library_obj *lib, dbll_flags flags,
558 if (opened_doff) 514 if (opened_doff)
559 dof_close(zl_lib); 515 dof_close(zl_lib);
560 516
561 DBC_ENSURE(status || zl_lib->load_ref > 0);
562
563 dev_dbg(bridge, "%s: lib: %p flags: 0x%x entry: %p, status 0x%x\n", 517 dev_dbg(bridge, "%s: lib: %p flags: 0x%x entry: %p, status 0x%x\n",
564 __func__, lib, flags, entry, status); 518 __func__, lib, flags, entry, status);
565 519
@@ -577,12 +531,6 @@ int dbll_open(struct dbll_tar_obj *target, char *file, dbll_flags flags,
577 s32 err; 531 s32 err;
578 int status = 0; 532 int status = 0;
579 533
580 DBC_REQUIRE(refs > 0);
581 DBC_REQUIRE(zl_target);
582 DBC_REQUIRE(zl_target->attrs.fopen != NULL);
583 DBC_REQUIRE(file != NULL);
584 DBC_REQUIRE(lib_obj != NULL);
585
586 zl_lib = zl_target->head; 534 zl_lib = zl_target->head;
587 while (zl_lib != NULL) { 535 while (zl_lib != NULL) {
588 if (strcmp(zl_lib->file_name, file) == 0) { 536 if (strcmp(zl_lib->file_name, file) == 0) {
@@ -699,8 +647,6 @@ func_cont:
699 dbll_close((struct dbll_library_obj *)zl_lib); 647 dbll_close((struct dbll_library_obj *)zl_lib);
700 648
701 } 649 }
702 DBC_ENSURE((!status && (zl_lib->open_ref > 0) && *lib_obj)
703 || (status && *lib_obj == NULL));
704 650
705 dev_dbg(bridge, "%s: target: %p file: %s lib_obj: %p, status 0x%x\n", 651 dev_dbg(bridge, "%s: target: %p file: %s lib_obj: %p, status 0x%x\n",
706 __func__, target, file, lib_obj, status); 652 __func__, target, file, lib_obj, status);
@@ -722,12 +668,6 @@ int dbll_read_sect(struct dbll_library_obj *lib, char *name,
722 const struct ldr_section_info *sect = NULL; 668 const struct ldr_section_info *sect = NULL;
723 int status = 0; 669 int status = 0;
724 670
725 DBC_REQUIRE(refs > 0);
726 DBC_REQUIRE(zl_lib);
727 DBC_REQUIRE(name != NULL);
728 DBC_REQUIRE(buf != NULL);
729 DBC_REQUIRE(size != 0);
730
731 /* If DOFF file is not open, we open it. */ 671 /* If DOFF file is not open, we open it. */
732 if (zl_lib != NULL) { 672 if (zl_lib != NULL) {
733 if (zl_lib->fp == NULL) { 673 if (zl_lib->fp == NULL) {
@@ -788,14 +728,11 @@ void dbll_unload(struct dbll_library_obj *lib, struct dbll_attrs *attrs)
788 struct dbll_library_obj *zl_lib = (struct dbll_library_obj *)lib; 728 struct dbll_library_obj *zl_lib = (struct dbll_library_obj *)lib;
789 s32 err = 0; 729 s32 err = 0;
790 730
791 DBC_REQUIRE(refs > 0);
792 DBC_REQUIRE(zl_lib);
793 DBC_REQUIRE(zl_lib->load_ref > 0);
794 dev_dbg(bridge, "%s: lib: %p\n", __func__, lib); 731 dev_dbg(bridge, "%s: lib: %p\n", __func__, lib);
795 zl_lib->load_ref--; 732 zl_lib->load_ref--;
796 /* Unload only if reference count is 0 */ 733 /* Unload only if reference count is 0 */
797 if (zl_lib->load_ref != 0) 734 if (zl_lib->load_ref != 0)
798 goto func_end; 735 return;
799 736
800 zl_lib->target_obj->attrs = *attrs; 737 zl_lib->target_obj->attrs = *attrs;
801 if (zl_lib->dload_mod_obj) { 738 if (zl_lib->dload_mod_obj) {
@@ -814,8 +751,6 @@ void dbll_unload(struct dbll_library_obj *lib, struct dbll_attrs *attrs)
814 /* delete DOFF desc since it holds *lots* of host OS 751 /* delete DOFF desc since it holds *lots* of host OS
815 * resources */ 752 * resources */
816 dof_close(zl_lib); 753 dof_close(zl_lib);
817func_end:
818 DBC_ENSURE(zl_lib->load_ref >= 0);
819} 754}
820 755
821/* 756/*
@@ -874,8 +809,6 @@ static u16 name_hash(void *key, u16 max_bucket)
874 u16 hash; 809 u16 hash;
875 char *name = (char *)key; 810 char *name = (char *)key;
876 811
877 DBC_REQUIRE(name != NULL);
878
879 hash = 0; 812 hash = 0;
880 813
881 while (*name) { 814 while (*name) {
@@ -893,9 +826,6 @@ static u16 name_hash(void *key, u16 max_bucket)
893 */ 826 */
894static bool name_match(void *key, void *sp) 827static bool name_match(void *key, void *sp)
895{ 828{
896 DBC_REQUIRE(key != NULL);
897 DBC_REQUIRE(sp != NULL);
898
899 if ((key != NULL) && (sp != NULL)) { 829 if ((key != NULL) && (sp != NULL)) {
900 if (strcmp((char *)key, ((struct dbll_symbol *)sp)->name) == 830 if (strcmp((char *)key, ((struct dbll_symbol *)sp)->name) ==
901 0) 831 0)
@@ -938,10 +868,7 @@ static int dbll_read_buffer(struct dynamic_loader_stream *this, void *buffer,
938 struct dbll_library_obj *lib; 868 struct dbll_library_obj *lib;
939 int bytes_read = 0; 869 int bytes_read = 0;
940 870
941 DBC_REQUIRE(this != NULL);
942 lib = pstream->lib; 871 lib = pstream->lib;
943 DBC_REQUIRE(lib);
944
945 if (lib != NULL) { 872 if (lib != NULL) {
946 bytes_read = 873 bytes_read =
947 (*(lib->target_obj->attrs.fread)) (buffer, 1, bufsize, 874 (*(lib->target_obj->attrs.fread)) (buffer, 1, bufsize,
@@ -960,10 +887,7 @@ static int dbll_set_file_posn(struct dynamic_loader_stream *this,
960 struct dbll_library_obj *lib; 887 struct dbll_library_obj *lib;
961 int status = 0; /* Success */ 888 int status = 0; /* Success */
962 889
963 DBC_REQUIRE(this != NULL);
964 lib = pstream->lib; 890 lib = pstream->lib;
965 DBC_REQUIRE(lib);
966
967 if (lib != NULL) { 891 if (lib != NULL) {
968 status = (*(lib->target_obj->attrs.fseek)) (lib->fp, (long)pos, 892 status = (*(lib->target_obj->attrs.fseek)) (lib->fp, (long)pos,
969 SEEK_SET); 893 SEEK_SET);
@@ -986,10 +910,7 @@ static struct dynload_symbol *dbll_find_symbol(struct dynamic_loader_sym *this,
986 struct dbll_sym_val *dbll_sym = NULL; 910 struct dbll_sym_val *dbll_sym = NULL;
987 bool status = false; /* Symbol not found yet */ 911 bool status = false; /* Symbol not found yet */
988 912
989 DBC_REQUIRE(this != NULL);
990 lib = ldr_sym->lib; 913 lib = ldr_sym->lib;
991 DBC_REQUIRE(lib);
992
993 if (lib != NULL) { 914 if (lib != NULL) {
994 if (lib->target_obj->attrs.sym_lookup) { 915 if (lib->target_obj->attrs.sym_lookup) {
995 /* Check current lib + base lib + dep lib + 916 /* Check current lib + base lib + dep lib +
@@ -1034,11 +955,7 @@ static struct dynload_symbol *find_in_symbol_table(struct dynamic_loader_sym
1034 struct dbll_library_obj *lib; 955 struct dbll_library_obj *lib;
1035 struct dbll_symbol *sym; 956 struct dbll_symbol *sym;
1036 957
1037 DBC_REQUIRE(this != NULL);
1038 lib = ldr_sym->lib; 958 lib = ldr_sym->lib;
1039 DBC_REQUIRE(lib);
1040 DBC_REQUIRE(lib->sym_tab != NULL);
1041
1042 sym = (struct dbll_symbol *)gh_find(lib->sym_tab, (char *)name); 959 sym = (struct dbll_symbol *)gh_find(lib->sym_tab, (char *)name);
1043 960
1044 ret_sym = (struct dynload_symbol *)&sym->value; 961 ret_sym = (struct dynload_symbol *)&sym->value;
@@ -1059,10 +976,7 @@ static struct dynload_symbol *dbll_add_to_symbol_table(struct dynamic_loader_sym
1059 struct dbll_library_obj *lib; 976 struct dbll_library_obj *lib;
1060 struct dynload_symbol *ret; 977 struct dynload_symbol *ret;
1061 978
1062 DBC_REQUIRE(this != NULL);
1063 DBC_REQUIRE(name);
1064 lib = ldr_sym->lib; 979 lib = ldr_sym->lib;
1065 DBC_REQUIRE(lib);
1066 980
1067 /* Check to see if symbol is already defined in symbol table */ 981 /* Check to see if symbol is already defined in symbol table */
1068 if (!(lib->target_obj->attrs.base_image)) { 982 if (!(lib->target_obj->attrs.base_image)) {
@@ -1111,10 +1025,7 @@ static void dbll_purge_symbol_table(struct dynamic_loader_sym *this,
1111 struct ldr_symbol *ldr_sym = (struct ldr_symbol *)this; 1025 struct ldr_symbol *ldr_sym = (struct ldr_symbol *)this;
1112 struct dbll_library_obj *lib; 1026 struct dbll_library_obj *lib;
1113 1027
1114 DBC_REQUIRE(this != NULL);
1115 lib = ldr_sym->lib; 1028 lib = ldr_sym->lib;
1116 DBC_REQUIRE(lib);
1117
1118 /* May not need to do anything */ 1029 /* May not need to do anything */
1119} 1030}
1120 1031
@@ -1127,9 +1038,7 @@ static void *allocate(struct dynamic_loader_sym *this, unsigned memsize)
1127 struct dbll_library_obj *lib; 1038 struct dbll_library_obj *lib;
1128 void *buf; 1039 void *buf;
1129 1040
1130 DBC_REQUIRE(this != NULL);
1131 lib = ldr_sym->lib; 1041 lib = ldr_sym->lib;
1132 DBC_REQUIRE(lib);
1133 1042
1134 buf = kzalloc(memsize, GFP_KERNEL); 1043 buf = kzalloc(memsize, GFP_KERNEL);
1135 1044
@@ -1144,9 +1053,7 @@ static void deallocate(struct dynamic_loader_sym *this, void *mem_ptr)
1144 struct ldr_symbol *ldr_sym = (struct ldr_symbol *)this; 1053 struct ldr_symbol *ldr_sym = (struct ldr_symbol *)this;
1145 struct dbll_library_obj *lib; 1054 struct dbll_library_obj *lib;
1146 1055
1147 DBC_REQUIRE(this != NULL);
1148 lib = ldr_sym->lib; 1056 lib = ldr_sym->lib;
1149 DBC_REQUIRE(lib);
1150 1057
1151 kfree(mem_ptr); 1058 kfree(mem_ptr);
1152} 1059}
@@ -1161,9 +1068,7 @@ static void dbll_err_report(struct dynamic_loader_sym *this, const char *errstr,
1161 struct dbll_library_obj *lib; 1068 struct dbll_library_obj *lib;
1162 char temp_buf[MAXEXPR]; 1069 char temp_buf[MAXEXPR];
1163 1070
1164 DBC_REQUIRE(this != NULL);
1165 lib = ldr_sym->lib; 1071 lib = ldr_sym->lib;
1166 DBC_REQUIRE(lib);
1167 vsnprintf((char *)temp_buf, MAXEXPR, (char *)errstr, args); 1072 vsnprintf((char *)temp_buf, MAXEXPR, (char *)errstr, args);
1168 dev_dbg(bridge, "%s\n", temp_buf); 1073 dev_dbg(bridge, "%s\n", temp_buf);
1169} 1074}
@@ -1195,9 +1100,7 @@ static int dbll_rmm_alloc(struct dynamic_loader_allocate *this,
1195 u32 alloc_size = 0; 1100 u32 alloc_size = 0;
1196 u32 run_addr_flag = 0; 1101 u32 run_addr_flag = 0;
1197 1102
1198 DBC_REQUIRE(this != NULL);
1199 lib = dbll_alloc_obj->lib; 1103 lib = dbll_alloc_obj->lib;
1200 DBC_REQUIRE(lib);
1201 1104
1202 mem_sect_type = 1105 mem_sect_type =
1203 (stype == DLOAD_TEXT) ? DBLL_CODE : (stype == 1106 (stype == DLOAD_TEXT) ? DBLL_CODE : (stype ==
@@ -1206,7 +1109,6 @@ static int dbll_rmm_alloc(struct dynamic_loader_allocate *this,
1206 1109
1207 /* Attempt to extract the segment ID and requirement information from 1110 /* Attempt to extract the segment ID and requirement information from
1208 the name of the section */ 1111 the name of the section */
1209 DBC_REQUIRE(info->name);
1210 token_len = strlen((char *)(info->name)) + 1; 1112 token_len = strlen((char *)(info->name)) + 1;
1211 1113
1212 sz_sect_name = kzalloc(token_len, GFP_KERNEL); 1114 sz_sect_name = kzalloc(token_len, GFP_KERNEL);
@@ -1307,9 +1209,7 @@ static void rmm_dealloc(struct dynamic_loader_allocate *this,
1307 (stype == DLOAD_TEXT) ? DBLL_CODE : (stype == 1209 (stype == DLOAD_TEXT) ? DBLL_CODE : (stype ==
1308 DLOAD_BSS) ? DBLL_BSS : 1210 DLOAD_BSS) ? DBLL_BSS :
1309 DBLL_DATA; 1211 DBLL_DATA;
1310 DBC_REQUIRE(this != NULL);
1311 lib = dbll_alloc_obj->lib; 1212 lib = dbll_alloc_obj->lib;
1312 DBC_REQUIRE(lib);
1313 /* segid was set by alloc function */ 1213 /* segid was set by alloc function */
1314 segid = (u32) info->context; 1214 segid = (u32) info->context;
1315 if (mem_sect_type == DBLL_CODE) 1215 if (mem_sect_type == DBLL_CODE)
@@ -1347,9 +1247,7 @@ static int read_mem(struct dynamic_loader_initialize *this, void *buf,
1347 struct dbll_library_obj *lib; 1247 struct dbll_library_obj *lib;
1348 int bytes_read = 0; 1248 int bytes_read = 0;
1349 1249
1350 DBC_REQUIRE(this != NULL);
1351 lib = init_obj->lib; 1250 lib = init_obj->lib;
1352 DBC_REQUIRE(lib);
1353 /* Need bridge_brd_read function */ 1251 /* Need bridge_brd_read function */
1354 return bytes_read; 1252 return bytes_read;
1355} 1253}
@@ -1368,7 +1266,6 @@ static int write_mem(struct dynamic_loader_initialize *this, void *buf,
1368 u32 mem_sect_type; 1266 u32 mem_sect_type;
1369 bool ret = true; 1267 bool ret = true;
1370 1268
1371 DBC_REQUIRE(this != NULL);
1372 lib = init_obj->lib; 1269 lib = init_obj->lib;
1373 if (!lib) 1270 if (!lib)
1374 return false; 1271 return false;
@@ -1415,7 +1312,6 @@ static int fill_mem(struct dynamic_loader_initialize *this, ldr_addr addr,
1415 struct dbll_library_obj *lib; 1312 struct dbll_library_obj *lib;
1416 struct dbll_init_obj *init_obj = (struct dbll_init_obj *)this; 1313 struct dbll_init_obj *init_obj = (struct dbll_init_obj *)this;
1417 1314
1418 DBC_REQUIRE(this != NULL);
1419 lib = init_obj->lib; 1315 lib = init_obj->lib;
1420 pbuf = NULL; 1316 pbuf = NULL;
1421 /* Pass the NULL pointer to write_mem to get the start address of Shared 1317 /* Pass the NULL pointer to write_mem to get the start address of Shared
@@ -1439,9 +1335,7 @@ static int execute(struct dynamic_loader_initialize *this, ldr_addr start)
1439 struct dbll_library_obj *lib; 1335 struct dbll_library_obj *lib;
1440 bool ret = true; 1336 bool ret = true;
1441 1337
1442 DBC_REQUIRE(this != NULL);
1443 lib = init_obj->lib; 1338 lib = init_obj->lib;
1444 DBC_REQUIRE(lib);
1445 /* Save entry point */ 1339 /* Save entry point */
1446 if (lib != NULL) 1340 if (lib != NULL)
1447 lib->entry = (u32) start; 1341 lib->entry = (u32) start;
diff --git a/drivers/staging/tidspbridge/pmgr/dev.c b/drivers/staging/tidspbridge/pmgr/dev.c
index 522810bc742..e4257fd7ff0 100644
--- a/drivers/staging/tidspbridge/pmgr/dev.c
+++ b/drivers/staging/tidspbridge/pmgr/dev.c
@@ -106,8 +106,6 @@ u32 dev_brd_write_fxn(void *arb, u32 dsp_add, void *host_buf,
106 u32 ul_written = 0; 106 u32 ul_written = 0;
107 int status; 107 int status;
108 108
109 DBC_REQUIRE(refs > 0);
110 DBC_REQUIRE(host_buf != NULL); /* Required of BrdWrite(). */
111 if (dev_obj) { 109 if (dev_obj) {
112 /* Require of BrdWrite() */ 110 /* Require of BrdWrite() */
113 DBC_ASSERT(dev_obj->bridge_context != NULL); 111 DBC_ASSERT(dev_obj->bridge_context != NULL);
@@ -143,9 +141,6 @@ int dev_create_device(struct dev_object **device_obj,
143 struct drv_object *hdrv_obj = NULL; 141 struct drv_object *hdrv_obj = NULL;
144 struct drv_data *drv_datap = dev_get_drvdata(bridge); 142 struct drv_data *drv_datap = dev_get_drvdata(bridge);
145 int status = 0; 143 int status = 0;
146 DBC_REQUIRE(refs > 0);
147 DBC_REQUIRE(device_obj != NULL);
148 DBC_REQUIRE(driver_file_name != NULL);
149 144
150 status = drv_request_bridge_res_dsp((void *)&host_res); 145 status = drv_request_bridge_res_dsp((void *)&host_res);
151 146
@@ -271,7 +266,6 @@ leave:
271 *device_obj = NULL; 266 *device_obj = NULL;
272 } 267 }
273 268
274 DBC_ENSURE((!status && *device_obj) || (status && !*device_obj));
275 return status; 269 return status;
276} 270}
277 271
@@ -287,17 +281,12 @@ int dev_create2(struct dev_object *hdev_obj)
287 int status = 0; 281 int status = 0;
288 struct dev_object *dev_obj = hdev_obj; 282 struct dev_object *dev_obj = hdev_obj;
289 283
290 DBC_REQUIRE(refs > 0);
291 DBC_REQUIRE(hdev_obj);
292
293 /* There can be only one Node Manager per DEV object */ 284 /* There can be only one Node Manager per DEV object */
294 DBC_ASSERT(!dev_obj->node_mgr); 285 DBC_ASSERT(!dev_obj->node_mgr);
295 status = node_create_mgr(&dev_obj->node_mgr, hdev_obj); 286 status = node_create_mgr(&dev_obj->node_mgr, hdev_obj);
296 if (status) 287 if (status)
297 dev_obj->node_mgr = NULL; 288 dev_obj->node_mgr = NULL;
298 289
299 DBC_ENSURE((!status && dev_obj->node_mgr != NULL)
300 || (status && dev_obj->node_mgr == NULL));
301 return status; 290 return status;
302} 291}
303 292
@@ -311,9 +300,6 @@ int dev_destroy2(struct dev_object *hdev_obj)
311 int status = 0; 300 int status = 0;
312 struct dev_object *dev_obj = hdev_obj; 301 struct dev_object *dev_obj = hdev_obj;
313 302
314 DBC_REQUIRE(refs > 0);
315 DBC_REQUIRE(hdev_obj);
316
317 if (dev_obj->node_mgr) { 303 if (dev_obj->node_mgr) {
318 if (node_delete_mgr(dev_obj->node_mgr)) 304 if (node_delete_mgr(dev_obj->node_mgr))
319 status = -EPERM; 305 status = -EPERM;
@@ -322,7 +308,6 @@ int dev_destroy2(struct dev_object *hdev_obj)
322 308
323 } 309 }
324 310
325 DBC_ENSURE((!status && dev_obj->node_mgr == NULL) || status);
326 return status; 311 return status;
327} 312}
328 313
@@ -337,8 +322,6 @@ int dev_destroy_device(struct dev_object *hdev_obj)
337 int status = 0; 322 int status = 0;
338 struct dev_object *dev_obj = hdev_obj; 323 struct dev_object *dev_obj = hdev_obj;
339 324
340 DBC_REQUIRE(refs > 0);
341
342 if (hdev_obj) { 325 if (hdev_obj) {
343 if (dev_obj->cod_mgr) { 326 if (dev_obj->cod_mgr) {
344 cod_delete(dev_obj->cod_mgr); 327 cod_delete(dev_obj->cod_mgr);
@@ -415,9 +398,6 @@ int dev_get_chnl_mgr(struct dev_object *hdev_obj,
415 int status = 0; 398 int status = 0;
416 struct dev_object *dev_obj = hdev_obj; 399 struct dev_object *dev_obj = hdev_obj;
417 400
418 DBC_REQUIRE(refs > 0);
419 DBC_REQUIRE(mgr != NULL);
420
421 if (hdev_obj) { 401 if (hdev_obj) {
422 *mgr = dev_obj->chnl_mgr; 402 *mgr = dev_obj->chnl_mgr;
423 } else { 403 } else {
@@ -425,7 +405,6 @@ int dev_get_chnl_mgr(struct dev_object *hdev_obj,
425 status = -EFAULT; 405 status = -EFAULT;
426 } 406 }
427 407
428 DBC_ENSURE(!status || (mgr != NULL && *mgr == NULL));
429 return status; 408 return status;
430} 409}
431 410
@@ -441,9 +420,6 @@ int dev_get_cmm_mgr(struct dev_object *hdev_obj,
441 int status = 0; 420 int status = 0;
442 struct dev_object *dev_obj = hdev_obj; 421 struct dev_object *dev_obj = hdev_obj;
443 422
444 DBC_REQUIRE(refs > 0);
445 DBC_REQUIRE(mgr != NULL);
446
447 if (hdev_obj) { 423 if (hdev_obj) {
448 *mgr = dev_obj->cmm_mgr; 424 *mgr = dev_obj->cmm_mgr;
449 } else { 425 } else {
@@ -451,7 +427,6 @@ int dev_get_cmm_mgr(struct dev_object *hdev_obj,
451 status = -EFAULT; 427 status = -EFAULT;
452 } 428 }
453 429
454 DBC_ENSURE(!status || (mgr != NULL && *mgr == NULL));
455 return status; 430 return status;
456} 431}
457 432
@@ -467,9 +442,6 @@ int dev_get_dmm_mgr(struct dev_object *hdev_obj,
467 int status = 0; 442 int status = 0;
468 struct dev_object *dev_obj = hdev_obj; 443 struct dev_object *dev_obj = hdev_obj;
469 444
470 DBC_REQUIRE(refs > 0);
471 DBC_REQUIRE(mgr != NULL);
472
473 if (hdev_obj) { 445 if (hdev_obj) {
474 *mgr = dev_obj->dmm_mgr; 446 *mgr = dev_obj->dmm_mgr;
475 } else { 447 } else {
@@ -477,7 +449,6 @@ int dev_get_dmm_mgr(struct dev_object *hdev_obj,
477 status = -EFAULT; 449 status = -EFAULT;
478 } 450 }
479 451
480 DBC_ENSURE(!status || (mgr != NULL && *mgr == NULL));
481 return status; 452 return status;
482} 453}
483 454
@@ -492,9 +463,6 @@ int dev_get_cod_mgr(struct dev_object *hdev_obj,
492 int status = 0; 463 int status = 0;
493 struct dev_object *dev_obj = hdev_obj; 464 struct dev_object *dev_obj = hdev_obj;
494 465
495 DBC_REQUIRE(refs > 0);
496 DBC_REQUIRE(cod_mgr != NULL);
497
498 if (hdev_obj) { 466 if (hdev_obj) {
499 *cod_mgr = dev_obj->cod_mgr; 467 *cod_mgr = dev_obj->cod_mgr;
500 } else { 468 } else {
@@ -502,7 +470,6 @@ int dev_get_cod_mgr(struct dev_object *hdev_obj,
502 status = -EFAULT; 470 status = -EFAULT;
503 } 471 }
504 472
505 DBC_ENSURE(!status || (cod_mgr != NULL && *cod_mgr == NULL));
506 return status; 473 return status;
507} 474}
508 475
@@ -514,9 +481,6 @@ int dev_get_deh_mgr(struct dev_object *hdev_obj,
514{ 481{
515 int status = 0; 482 int status = 0;
516 483
517 DBC_REQUIRE(refs > 0);
518 DBC_REQUIRE(deh_manager != NULL);
519 DBC_REQUIRE(hdev_obj);
520 if (hdev_obj) { 484 if (hdev_obj) {
521 *deh_manager = hdev_obj->deh_mgr; 485 *deh_manager = hdev_obj->deh_mgr;
522 } else { 486 } else {
@@ -537,9 +501,6 @@ int dev_get_dev_node(struct dev_object *hdev_obj,
537 int status = 0; 501 int status = 0;
538 struct dev_object *dev_obj = hdev_obj; 502 struct dev_object *dev_obj = hdev_obj;
539 503
540 DBC_REQUIRE(refs > 0);
541 DBC_REQUIRE(dev_nde != NULL);
542
543 if (hdev_obj) { 504 if (hdev_obj) {
544 *dev_nde = dev_obj->dev_node_obj; 505 *dev_nde = dev_obj->dev_node_obj;
545 } else { 506 } else {
@@ -547,7 +508,6 @@ int dev_get_dev_node(struct dev_object *hdev_obj,
547 status = -EFAULT; 508 status = -EFAULT;
548 } 509 }
549 510
550 DBC_ENSURE(!status || (dev_nde != NULL && *dev_nde == NULL));
551 return status; 511 return status;
552} 512}
553 513
@@ -578,9 +538,6 @@ int dev_get_intf_fxns(struct dev_object *hdev_obj,
578 int status = 0; 538 int status = 0;
579 struct dev_object *dev_obj = hdev_obj; 539 struct dev_object *dev_obj = hdev_obj;
580 540
581 DBC_REQUIRE(refs > 0);
582 DBC_REQUIRE(if_fxns != NULL);
583
584 if (hdev_obj) { 541 if (hdev_obj) {
585 *if_fxns = &dev_obj->bridge_interface; 542 *if_fxns = &dev_obj->bridge_interface;
586 } else { 543 } else {
@@ -588,7 +545,6 @@ int dev_get_intf_fxns(struct dev_object *hdev_obj,
588 status = -EFAULT; 545 status = -EFAULT;
589 } 546 }
590 547
591 DBC_ENSURE(!status || ((if_fxns != NULL) && (*if_fxns == NULL)));
592 return status; 548 return status;
593} 549}
594 550
@@ -600,10 +556,6 @@ int dev_get_io_mgr(struct dev_object *hdev_obj,
600{ 556{
601 int status = 0; 557 int status = 0;
602 558
603 DBC_REQUIRE(refs > 0);
604 DBC_REQUIRE(io_man != NULL);
605 DBC_REQUIRE(hdev_obj);
606
607 if (hdev_obj) { 559 if (hdev_obj) {
608 *io_man = hdev_obj->iomgr; 560 *io_man = hdev_obj->iomgr;
609 } else { 561 } else {
@@ -638,10 +590,6 @@ struct dev_object *dev_get_next(struct dev_object *hdev_obj)
638 */ 590 */
639void dev_get_msg_mgr(struct dev_object *hdev_obj, struct msg_mgr **msg_man) 591void dev_get_msg_mgr(struct dev_object *hdev_obj, struct msg_mgr **msg_man)
640{ 592{
641 DBC_REQUIRE(refs > 0);
642 DBC_REQUIRE(msg_man != NULL);
643 DBC_REQUIRE(hdev_obj);
644
645 *msg_man = hdev_obj->msg_mgr; 593 *msg_man = hdev_obj->msg_mgr;
646} 594}
647 595
@@ -656,9 +604,6 @@ int dev_get_node_manager(struct dev_object *hdev_obj,
656 int status = 0; 604 int status = 0;
657 struct dev_object *dev_obj = hdev_obj; 605 struct dev_object *dev_obj = hdev_obj;
658 606
659 DBC_REQUIRE(refs > 0);
660 DBC_REQUIRE(node_man != NULL);
661
662 if (hdev_obj) { 607 if (hdev_obj) {
663 *node_man = dev_obj->node_mgr; 608 *node_man = dev_obj->node_mgr;
664 } else { 609 } else {
@@ -666,7 +611,6 @@ int dev_get_node_manager(struct dev_object *hdev_obj,
666 status = -EFAULT; 611 status = -EFAULT;
667 } 612 }
668 613
669 DBC_ENSURE(!status || (node_man != NULL && *node_man == NULL));
670 return status; 614 return status;
671} 615}
672 616
@@ -679,9 +623,6 @@ int dev_get_symbol(struct dev_object *hdev_obj,
679 int status = 0; 623 int status = 0;
680 struct cod_manager *cod_mgr; 624 struct cod_manager *cod_mgr;
681 625
682 DBC_REQUIRE(refs > 0);
683 DBC_REQUIRE(str_sym != NULL && pul_value != NULL);
684
685 if (hdev_obj) { 626 if (hdev_obj) {
686 status = dev_get_cod_mgr(hdev_obj, &cod_mgr); 627 status = dev_get_cod_mgr(hdev_obj, &cod_mgr);
687 if (cod_mgr) 628 if (cod_mgr)
@@ -706,9 +647,6 @@ int dev_get_bridge_context(struct dev_object *hdev_obj,
706 int status = 0; 647 int status = 0;
707 struct dev_object *dev_obj = hdev_obj; 648 struct dev_object *dev_obj = hdev_obj;
708 649
709 DBC_REQUIRE(refs > 0);
710 DBC_REQUIRE(phbridge_context != NULL);
711
712 if (hdev_obj) { 650 if (hdev_obj) {
713 *phbridge_context = dev_obj->bridge_context; 651 *phbridge_context = dev_obj->bridge_context;
714 } else { 652 } else {
@@ -716,8 +654,6 @@ int dev_get_bridge_context(struct dev_object *hdev_obj,
716 status = -EFAULT; 654 status = -EFAULT;
717 } 655 }
718 656
719 DBC_ENSURE(!status || ((phbridge_context != NULL) &&
720 (*phbridge_context == NULL)));
721 return status; 657 return status;
722} 658}
723 659
@@ -729,16 +665,12 @@ int dev_get_bridge_context(struct dev_object *hdev_obj,
729 */ 665 */
730void dev_exit(void) 666void dev_exit(void)
731{ 667{
732 DBC_REQUIRE(refs > 0);
733
734 refs--; 668 refs--;
735 669
736 if (refs == 0) { 670 if (refs == 0) {
737 cmm_exit(); 671 cmm_exit();
738 dmm_exit(); 672 dmm_exit();
739 } 673 }
740
741 DBC_ENSURE(refs >= 0);
742} 674}
743 675
744/* 676/*
@@ -750,8 +682,6 @@ bool dev_init(void)
750{ 682{
751 bool cmm_ret, dmm_ret, ret = true; 683 bool cmm_ret, dmm_ret, ret = true;
752 684
753 DBC_REQUIRE(refs >= 0);
754
755 if (refs == 0) { 685 if (refs == 0) {
756 cmm_ret = cmm_init(); 686 cmm_ret = cmm_init();
757 dmm_ret = dmm_init(); 687 dmm_ret = dmm_init();
@@ -771,8 +701,6 @@ bool dev_init(void)
771 if (ret) 701 if (ret)
772 refs++; 702 refs++;
773 703
774 DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));
775
776 return ret; 704 return ret;
777} 705}
778 706
@@ -841,14 +769,11 @@ int dev_set_chnl_mgr(struct dev_object *hdev_obj,
841 int status = 0; 769 int status = 0;
842 struct dev_object *dev_obj = hdev_obj; 770 struct dev_object *dev_obj = hdev_obj;
843 771
844 DBC_REQUIRE(refs > 0);
845
846 if (hdev_obj) 772 if (hdev_obj)
847 dev_obj->chnl_mgr = hmgr; 773 dev_obj->chnl_mgr = hmgr;
848 else 774 else
849 status = -EFAULT; 775 status = -EFAULT;
850 776
851 DBC_ENSURE(status || (dev_obj->chnl_mgr == hmgr));
852 return status; 777 return status;
853} 778}
854 779
@@ -859,9 +784,6 @@ int dev_set_chnl_mgr(struct dev_object *hdev_obj,
859 */ 784 */
860void dev_set_msg_mgr(struct dev_object *hdev_obj, struct msg_mgr *hmgr) 785void dev_set_msg_mgr(struct dev_object *hdev_obj, struct msg_mgr *hmgr)
861{ 786{
862 DBC_REQUIRE(refs > 0);
863 DBC_REQUIRE(hdev_obj);
864
865 hdev_obj->msg_mgr = hmgr; 787 hdev_obj->msg_mgr = hmgr;
866} 788}
867 789
@@ -879,8 +801,6 @@ int dev_start_device(struct cfg_devnode *dev_node_obj)
879 struct mgr_object *hmgr_obj = NULL; 801 struct mgr_object *hmgr_obj = NULL;
880 struct drv_data *drv_datap = dev_get_drvdata(bridge); 802 struct drv_data *drv_datap = dev_get_drvdata(bridge);
881 803
882 DBC_REQUIRE(refs > 0);
883
884 /* Given all resources, create a device object. */ 804 /* Given all resources, create a device object. */
885 status = dev_create_device(&hdev_obj, bridge_file_name, 805 status = dev_create_device(&hdev_obj, bridge_file_name,
886 dev_node_obj); 806 dev_node_obj);
@@ -944,9 +864,6 @@ static int init_cod_mgr(struct dev_object *dev_obj)
944 int status = 0; 864 int status = 0;
945 char *sz_dummy_file = "dummy"; 865 char *sz_dummy_file = "dummy";
946 866
947 DBC_REQUIRE(refs > 0);
948 DBC_REQUIRE(!dev_obj || (dev_obj->cod_mgr == NULL));
949
950 status = cod_create(&dev_obj->cod_mgr, sz_dummy_file); 867 status = cod_create(&dev_obj->cod_mgr, sz_dummy_file);
951 868
952 return status; 869 return status;
@@ -976,10 +893,6 @@ int dev_insert_proc_object(struct dev_object *hdev_obj,
976{ 893{
977 struct dev_object *dev_obj = (struct dev_object *)hdev_obj; 894 struct dev_object *dev_obj = (struct dev_object *)hdev_obj;
978 895
979 DBC_REQUIRE(refs > 0);
980 DBC_REQUIRE(dev_obj);
981 DBC_REQUIRE(proc_obj != 0);
982 DBC_REQUIRE(already_attached != NULL);
983 if (!list_empty(&dev_obj->proc_list)) 896 if (!list_empty(&dev_obj->proc_list))
984 *already_attached = true; 897 *already_attached = true;
985 898
@@ -1017,10 +930,6 @@ int dev_remove_proc_object(struct dev_object *hdev_obj, u32 proc_obj)
1017 struct list_head *cur_elem; 930 struct list_head *cur_elem;
1018 struct dev_object *dev_obj = (struct dev_object *)hdev_obj; 931 struct dev_object *dev_obj = (struct dev_object *)hdev_obj;
1019 932
1020 DBC_REQUIRE(dev_obj);
1021 DBC_REQUIRE(proc_obj != 0);
1022 DBC_REQUIRE(!list_empty(&dev_obj->proc_list));
1023
1024 /* Search list for dev_obj: */ 933 /* Search list for dev_obj: */
1025 list_for_each(cur_elem, &dev_obj->proc_list) { 934 list_for_each(cur_elem, &dev_obj->proc_list) {
1026 if ((u32) cur_elem == proc_obj) { 935 if ((u32) cur_elem == proc_obj) {
@@ -1069,10 +978,6 @@ static void store_interface_fxns(struct bridge_drv_interface *drv_fxns,
1069 (intf_fxns->pfn = ((drv_fxns->pfn != NULL) ? drv_fxns->pfn : \ 978 (intf_fxns->pfn = ((drv_fxns->pfn != NULL) ? drv_fxns->pfn : \
1070 (cast)fxn_not_implemented)) 979 (cast)fxn_not_implemented))
1071 980
1072 DBC_REQUIRE(intf_fxns != NULL);
1073 DBC_REQUIRE(drv_fxns != NULL);
1074 DBC_REQUIRE(MAKEVERSION(drv_fxns->brd_api_major_version,
1075 drv_fxns->brd_api_minor_version) <= BRD_API_VERSION);
1076 bridge_version = MAKEVERSION(drv_fxns->brd_api_major_version, 981 bridge_version = MAKEVERSION(drv_fxns->brd_api_major_version,
1077 drv_fxns->brd_api_minor_version); 982 drv_fxns->brd_api_minor_version);
1078 intf_fxns->brd_api_major_version = drv_fxns->brd_api_major_version; 983 intf_fxns->brd_api_major_version = drv_fxns->brd_api_major_version;
@@ -1119,33 +1024,5 @@ static void store_interface_fxns(struct bridge_drv_interface *drv_fxns,
1119 STORE_FXN(fxn_msg_setqueueid, msg_set_queue_id); 1024 STORE_FXN(fxn_msg_setqueueid, msg_set_queue_id);
1120 } 1025 }
1121 /* Add code for any additional functions in newerBridge versions here */ 1026 /* Add code for any additional functions in newerBridge versions here */
1122 /* Ensure postcondition: */
1123 DBC_ENSURE(intf_fxns->dev_create != NULL);
1124 DBC_ENSURE(intf_fxns->dev_destroy != NULL);
1125 DBC_ENSURE(intf_fxns->dev_cntrl != NULL);
1126 DBC_ENSURE(intf_fxns->brd_monitor != NULL);
1127 DBC_ENSURE(intf_fxns->brd_start != NULL);
1128 DBC_ENSURE(intf_fxns->brd_stop != NULL);
1129 DBC_ENSURE(intf_fxns->brd_status != NULL);
1130 DBC_ENSURE(intf_fxns->brd_read != NULL);
1131 DBC_ENSURE(intf_fxns->brd_write != NULL);
1132 DBC_ENSURE(intf_fxns->chnl_create != NULL);
1133 DBC_ENSURE(intf_fxns->chnl_destroy != NULL);
1134 DBC_ENSURE(intf_fxns->chnl_open != NULL);
1135 DBC_ENSURE(intf_fxns->chnl_close != NULL);
1136 DBC_ENSURE(intf_fxns->chnl_add_io_req != NULL);
1137 DBC_ENSURE(intf_fxns->chnl_get_ioc != NULL);
1138 DBC_ENSURE(intf_fxns->chnl_cancel_io != NULL);
1139 DBC_ENSURE(intf_fxns->chnl_flush_io != NULL);
1140 DBC_ENSURE(intf_fxns->chnl_get_info != NULL);
1141 DBC_ENSURE(intf_fxns->chnl_get_mgr_info != NULL);
1142 DBC_ENSURE(intf_fxns->chnl_idle != NULL);
1143 DBC_ENSURE(intf_fxns->chnl_register_notify != NULL);
1144 DBC_ENSURE(intf_fxns->io_create != NULL);
1145 DBC_ENSURE(intf_fxns->io_destroy != NULL);
1146 DBC_ENSURE(intf_fxns->io_on_loaded != NULL);
1147 DBC_ENSURE(intf_fxns->io_get_proc_load != NULL);
1148 DBC_ENSURE(intf_fxns->msg_set_queue_id != NULL);
1149
1150#undef STORE_FXN 1027#undef STORE_FXN
1151} 1028}
diff --git a/drivers/staging/tidspbridge/pmgr/dmm.c b/drivers/staging/tidspbridge/pmgr/dmm.c
index 8685233d762..cece7801d6c 100644
--- a/drivers/staging/tidspbridge/pmgr/dmm.c
+++ b/drivers/staging/tidspbridge/pmgr/dmm.c
@@ -123,8 +123,6 @@ int dmm_create(struct dmm_object **dmm_manager,
123{ 123{
124 struct dmm_object *dmm_obj = NULL; 124 struct dmm_object *dmm_obj = NULL;
125 int status = 0; 125 int status = 0;
126 DBC_REQUIRE(refs > 0);
127 DBC_REQUIRE(dmm_manager != NULL);
128 126
129 *dmm_manager = NULL; 127 *dmm_manager = NULL;
130 /* create, zero, and tag a cmm mgr object */ 128 /* create, zero, and tag a cmm mgr object */
@@ -149,7 +147,6 @@ int dmm_destroy(struct dmm_object *dmm_mgr)
149 struct dmm_object *dmm_obj = (struct dmm_object *)dmm_mgr; 147 struct dmm_object *dmm_obj = (struct dmm_object *)dmm_mgr;
150 int status = 0; 148 int status = 0;
151 149
152 DBC_REQUIRE(refs > 0);
153 if (dmm_mgr) { 150 if (dmm_mgr) {
154 status = dmm_delete_tables(dmm_obj); 151 status = dmm_delete_tables(dmm_obj);
155 if (!status) 152 if (!status)
@@ -169,7 +166,6 @@ int dmm_delete_tables(struct dmm_object *dmm_mgr)
169{ 166{
170 int status = 0; 167 int status = 0;
171 168
172 DBC_REQUIRE(refs > 0);
173 /* Delete all DMM tables */ 169 /* Delete all DMM tables */
174 if (dmm_mgr) 170 if (dmm_mgr)
175 vfree(virtual_mapping_table); 171 vfree(virtual_mapping_table);
@@ -186,7 +182,6 @@ int dmm_delete_tables(struct dmm_object *dmm_mgr)
186 */ 182 */
187void dmm_exit(void) 183void dmm_exit(void)
188{ 184{
189 DBC_REQUIRE(refs > 0);
190 185
191 refs--; 186 refs--;
192} 187}
@@ -202,8 +197,6 @@ int dmm_get_handle(void *hprocessor, struct dmm_object **dmm_manager)
202 int status = 0; 197 int status = 0;
203 struct dev_object *hdev_obj; 198 struct dev_object *hdev_obj;
204 199
205 DBC_REQUIRE(refs > 0);
206 DBC_REQUIRE(dmm_manager != NULL);
207 if (hprocessor != NULL) 200 if (hprocessor != NULL)
208 status = proc_get_dev_object(hprocessor, &hdev_obj); 201 status = proc_get_dev_object(hprocessor, &hdev_obj);
209 else 202 else
@@ -224,13 +217,9 @@ bool dmm_init(void)
224{ 217{
225 bool ret = true; 218 bool ret = true;
226 219
227 DBC_REQUIRE(refs >= 0);
228
229 if (ret) 220 if (ret)
230 refs++; 221 refs++;
231 222
232 DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));
233
234 virtual_mapping_table = NULL; 223 virtual_mapping_table = NULL;
235 table_size = 0; 224 table_size = 0;
236 225
diff --git a/drivers/staging/tidspbridge/pmgr/dspapi.c b/drivers/staging/tidspbridge/pmgr/dspapi.c
index 767ffe270ed..27c14a577dc 100644
--- a/drivers/staging/tidspbridge/pmgr/dspapi.c
+++ b/drivers/staging/tidspbridge/pmgr/dspapi.c
@@ -266,7 +266,6 @@ err:
266 */ 266 */
267void api_exit(void) 267void api_exit(void)
268{ 268{
269 DBC_REQUIRE(api_c_refs > 0);
270 api_c_refs--; 269 api_c_refs--;
271 270
272 if (api_c_refs == 0) { 271 if (api_c_refs == 0) {
@@ -284,7 +283,6 @@ void api_exit(void)
284 rmm_exit(); 283 rmm_exit();
285 drv_exit(); 284 drv_exit();
286 } 285 }
287 DBC_ENSURE(api_c_refs >= 0);
288} 286}
289 287
290/* 288/*
@@ -382,8 +380,6 @@ int api_init_complete2(void)
382 struct drv_data *drv_datap; 380 struct drv_data *drv_datap;
383 u8 dev_type; 381 u8 dev_type;
384 382
385 DBC_REQUIRE(api_c_refs > 0);
386
387 /* Walk the list of DevObjects, get each devnode, and attempting to 383 /* Walk the list of DevObjects, get each devnode, and attempting to
388 * autostart the board. Note that this requires COF loading, which 384 * autostart the board. Note that this requires COF loading, which
389 * requires KFILE. */ 385 * requires KFILE. */
diff --git a/drivers/staging/tidspbridge/pmgr/io.c b/drivers/staging/tidspbridge/pmgr/io.c
index 65245f310f8..bbfe94cb36b 100644
--- a/drivers/staging/tidspbridge/pmgr/io.c
+++ b/drivers/staging/tidspbridge/pmgr/io.c
@@ -50,10 +50,6 @@ int io_create(struct io_mgr **io_man, struct dev_object *hdev_obj,
50 struct io_mgr_ *pio_mgr = NULL; 50 struct io_mgr_ *pio_mgr = NULL;
51 int status = 0; 51 int status = 0;
52 52
53 DBC_REQUIRE(refs > 0);
54 DBC_REQUIRE(io_man != NULL);
55 DBC_REQUIRE(mgr_attrts != NULL);
56
57 *io_man = NULL; 53 *io_man = NULL;
58 54
59 /* A memory base of 0 implies no memory base: */ 55 /* A memory base of 0 implies no memory base: */
@@ -94,8 +90,6 @@ int io_destroy(struct io_mgr *hio_mgr)
94 struct io_mgr_ *pio_mgr = (struct io_mgr_ *)hio_mgr; 90 struct io_mgr_ *pio_mgr = (struct io_mgr_ *)hio_mgr;
95 int status; 91 int status;
96 92
97 DBC_REQUIRE(refs > 0);
98
99 intf_fxns = pio_mgr->intf_fxns; 93 intf_fxns = pio_mgr->intf_fxns;
100 94
101 /* Let Bridge channel module destroy the io_mgr: */ 95 /* Let Bridge channel module destroy the io_mgr: */
@@ -111,11 +105,7 @@ int io_destroy(struct io_mgr *hio_mgr)
111 */ 105 */
112void io_exit(void) 106void io_exit(void)
113{ 107{
114 DBC_REQUIRE(refs > 0);
115
116 refs--; 108 refs--;
117
118 DBC_ENSURE(refs >= 0);
119} 109}
120 110
121/* 111/*
@@ -127,12 +117,8 @@ bool io_init(void)
127{ 117{
128 bool ret = true; 118 bool ret = true;
129 119
130 DBC_REQUIRE(refs >= 0);
131
132 if (ret) 120 if (ret)
133 refs++; 121 refs++;
134 122
135 DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0)));
136
137 return ret; 123 return ret;
138} 124}
diff --git a/drivers/staging/tidspbridge/pmgr/msg.c b/drivers/staging/tidspbridge/pmgr/msg.c
index a6916039eed..150026dfc74 100644
--- a/drivers/staging/tidspbridge/pmgr/msg.c
+++ b/drivers/staging/tidspbridge/pmgr/msg.c
@@ -53,11 +53,6 @@ int msg_create(struct msg_mgr **msg_man,
53 struct msg_mgr *hmsg_mgr; 53 struct msg_mgr *hmsg_mgr;
54 int status = 0; 54 int status = 0;
55 55
56 DBC_REQUIRE(refs > 0);
57 DBC_REQUIRE(msg_man != NULL);
58 DBC_REQUIRE(msg_callback != NULL);
59 DBC_REQUIRE(hdev_obj != NULL);
60
61 *msg_man = NULL; 56 *msg_man = NULL;
62 57
63 dev_get_intf_fxns(hdev_obj, &intf_fxns); 58 dev_get_intf_fxns(hdev_obj, &intf_fxns);
@@ -90,8 +85,6 @@ void msg_delete(struct msg_mgr *hmsg_mgr)
90 struct msg_mgr_ *msg_mgr_obj = (struct msg_mgr_ *)hmsg_mgr; 85 struct msg_mgr_ *msg_mgr_obj = (struct msg_mgr_ *)hmsg_mgr;
91 struct bridge_drv_interface *intf_fxns; 86 struct bridge_drv_interface *intf_fxns;
92 87
93 DBC_REQUIRE(refs > 0);
94
95 if (msg_mgr_obj) { 88 if (msg_mgr_obj) {
96 intf_fxns = msg_mgr_obj->intf_fxns; 89 intf_fxns = msg_mgr_obj->intf_fxns;
97 90
@@ -108,10 +101,7 @@ void msg_delete(struct msg_mgr *hmsg_mgr)
108 */ 101 */
109void msg_exit(void) 102void msg_exit(void)
110{ 103{
111 DBC_REQUIRE(refs > 0);
112 refs--; 104 refs--;
113
114 DBC_ENSURE(refs >= 0);
115} 105}
116 106
117/* 107/*
@@ -119,11 +109,7 @@ void msg_exit(void)
119 */ 109 */
120bool msg_mod_init(void) 110bool msg_mod_init(void)
121{ 111{
122 DBC_REQUIRE(refs >= 0);
123
124 refs++; 112 refs++;
125 113
126 DBC_ENSURE(refs >= 0);
127
128 return true; 114 return true;
129} 115}