ieee1394: de-inline some functions
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 13 Mar 2007 23:20:53 +0000 (00:20 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Sun, 29 Apr 2007 22:00:28 +0000 (00:00 +0200)
This small reorganization of public csr1212 functions saves one
exported symbol and a few bytes in the driver modules.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/ieee1394/csr1212.c
drivers/ieee1394/csr1212.h
drivers/ieee1394/ieee1394_core.c

index 54408cbe8f8f25c52c04d0f334eb750ec0719bfe..6c2f55bb9463b68fb0ed1b85fe79ec711508b923 100644 (file)
@@ -518,7 +518,7 @@ void csr1212_detach_keyval_from_directory(struct csr1212_keyval *dir,
  * will be destroyed as well if their respective refcnts are 0.  By means of
  * list manipulation, this routine will descend a directory structure in a
  * non-recursive manner. */
-void _csr1212_destroy_keyval(struct csr1212_keyval *kv)
+static void csr1212_destroy_keyval(struct csr1212_keyval *kv)
 {
        struct csr1212_keyval *k, *a;
        struct csr1212_dentry dentry;
@@ -566,6 +566,14 @@ void _csr1212_destroy_keyval(struct csr1212_keyval *kv)
        }
 }
 
+void csr1212_release_keyval(struct csr1212_keyval *kv)
+{
+       if (kv->refcnt > 1)
+               kv->refcnt--;
+       else
+               csr1212_destroy_keyval(kv);
+}
+
 void csr1212_destroy_csr(struct csr1212_csr *csr)
 {
        struct csr1212_csr_rom_cache *c, *oc;
@@ -1251,7 +1259,8 @@ fail:
        return ret;
 }
 
-int _csr1212_read_keyval(struct csr1212_csr *csr, struct csr1212_keyval *kv)
+static int
+csr1212_read_keyval(struct csr1212_csr *csr, struct csr1212_keyval *kv)
 {
        struct csr1212_cache_region *cr, *ncr, *newcr = NULL;
        struct csr1212_keyval_img *kvi = NULL;
@@ -1412,6 +1421,17 @@ int _csr1212_read_keyval(struct csr1212_csr *csr, struct csr1212_keyval *kv)
        return csr1212_parse_keyval(kv, cache);
 }
 
+struct csr1212_keyval *
+csr1212_get_keyval(struct csr1212_csr *csr, struct csr1212_keyval *kv)
+{
+       if (!kv)
+               return NULL;
+       if (!kv->valid)
+               if (csr1212_read_keyval(csr, kv) != CSR1212_SUCCESS)
+                       return NULL;
+       return kv;
+}
+
 int csr1212_parse_csr(struct csr1212_csr *csr)
 {
        static const int mr_map[] = { 4, 64, 1024, 0 };
@@ -1443,7 +1463,7 @@ int csr1212_parse_csr(struct csr1212_csr *csr)
        csr->root_kv->valid = 0;
        csr->root_kv->next = csr->root_kv;
        csr->root_kv->prev = csr->root_kv;
-       ret = _csr1212_read_keyval(csr, csr->root_kv);
+       ret = csr1212_read_keyval(csr, csr->root_kv);
        if (ret != CSR1212_SUCCESS)
                return ret;
 
@@ -1453,7 +1473,7 @@ int csr1212_parse_csr(struct csr1212_csr *csr)
             dentry; dentry = dentry->next) {
                if (dentry->kv->key.id == CSR1212_KV_ID_EXTENDED_ROM &&
                        !dentry->kv->valid) {
-                       ret = _csr1212_read_keyval(csr, dentry->kv);
+                       ret = csr1212_read_keyval(csr, dentry->kv);
                        if (ret != CSR1212_SUCCESS)
                                return ret;
                }
index 4ef0949589c7c169a8797f00ccc2c3aeaea1a4ba..655827527ecc9133f85494ef8db8662fd60090ac 100644 (file)
@@ -313,15 +313,11 @@ extern int csr1212_parse_keyval(struct csr1212_keyval *kv,
                                struct csr1212_csr_rom_cache *cache);
 extern int csr1212_parse_csr(struct csr1212_csr *csr);
 
-/* These are internal functions referenced by inline functions below. */
-extern int _csr1212_read_keyval(struct csr1212_csr *csr, struct csr1212_keyval *kv);
-extern void _csr1212_destroy_keyval(struct csr1212_keyval *kv);
-
 
 /* This function allocates a new cache which may be used for either parsing or
  * generating sub-sets of Configuration ROM images. */
-static inline struct csr1212_csr_rom_cache *csr1212_rom_cache_malloc(u32 offset,
-                                                                    size_t size)
+static inline struct csr1212_csr_rom_cache *
+csr1212_rom_cache_malloc(u32 offset, size_t size)
 {
        struct csr1212_csr_rom_cache *cache;
 
@@ -345,16 +341,8 @@ static inline struct csr1212_csr_rom_cache *csr1212_rom_cache_malloc(u32 offset,
 
 /* This function ensures that a keyval contains data when referencing a keyval
  * created by parsing a Configuration ROM. */
-static inline struct csr1212_keyval *csr1212_get_keyval(struct csr1212_csr *csr,
-                                                       struct csr1212_keyval *kv)
-{
-       if (!kv)
-               return NULL;
-       if (!kv->valid)
-               if (_csr1212_read_keyval(csr, kv) != CSR1212_SUCCESS)
-                       return NULL;
-       return kv;
-}
+extern struct csr1212_keyval *
+csr1212_get_keyval(struct csr1212_csr *csr, struct csr1212_keyval *kv);
 
 
 /* This function increments the reference count for a keyval should there be a
@@ -369,13 +357,7 @@ static inline void csr1212_keep_keyval(struct csr1212_keyval *kv)
  * keyval when there are no more users of the keyval.  This should be called by
  * any code that calls csr1212_keep_keyval() or any of the keyval creation
  * routines csr1212_new_*(). */
-static inline void csr1212_release_keyval(struct csr1212_keyval *kv)
-{
-       if (kv->refcnt > 1)
-               kv->refcnt--;
-       else
-               _csr1212_destroy_keyval(kv);
-}
+extern void csr1212_release_keyval(struct csr1212_keyval *kv);
 
 
 /*
index 857e46c6e386bee18526b04b29f8936ade76ffee..270885679df1716b79426f0498f6b557ee40ef42 100644 (file)
@@ -1372,11 +1372,10 @@ EXPORT_SYMBOL(hpsb_iso_wake);
 EXPORT_SYMBOL(hpsb_iso_recv_flush);
 
 /** csr1212.c **/
-EXPORT_SYMBOL(csr1212_new_directory);
 EXPORT_SYMBOL(csr1212_attach_keyval_to_directory);
 EXPORT_SYMBOL(csr1212_detach_keyval_from_directory);
-EXPORT_SYMBOL(csr1212_release_keyval);
-EXPORT_SYMBOL(csr1212_read);
+EXPORT_SYMBOL(csr1212_get_keyval);
+EXPORT_SYMBOL(csr1212_new_directory);
 EXPORT_SYMBOL(csr1212_parse_keyval);
-EXPORT_SYMBOL(_csr1212_read_keyval);
-EXPORT_SYMBOL(_csr1212_destroy_keyval);
+EXPORT_SYMBOL(csr1212_read);
+EXPORT_SYMBOL(csr1212_release_keyval);