drivers/ieee1394/: remove unneeded EXPORT_SYMBOL's
PATCH 1/1 drivers/ieee1394/: remove unneeded EXPORT_SYMBOL's
This patch removes unneeded EXPORT_SYMBOL's.
---
drivers/ieee1394/ieee1394_core.c | 16 ---------------- 1 files changed, 16 deletions(-)
drivers/ieee1394/ieee1394_core.c renamed from drivers/ieee1394/ieee1394_core.c.old +0 -16
@@ -1225,9 +1225,7 @@EXPORT_SYMBOL (hpsb_set_packet_complete_task);EXPORT_SYMBOL (hpsb_alloc_packet);EXPORT_SYMBOL (hpsb_free_packet); -EXPORT_SYMBOL (hpsb_send_phy_config);EXPORT_SYMBOL (hpsb_send_packet); -EXPORT_SYMBOL (hpsb_send_packet_and_wait);EXPORT_SYMBOL (hpsb_reset_bus);EXPORT_SYMBOL (hpsb_bus_reset);EXPORT_SYMBOL (hpsb_selfid_received);
@@ -1246,9 +1244,6 @@EXPORT_SYMBOL (hpsb_make_lock64packet);EXPORT_SYMBOL (hpsb_make_phypacket);EXPORT_SYMBOL (hpsb_make_isopacket); -EXPORT_SYMBOL (hpsb_read); -EXPORT_SYMBOL (hpsb_write); -EXPORT_SYMBOL (hpsb_lock);EXPORT_SYMBOL (hpsb_packet_success);/** highlevel.c **/
@@ -1265,8 +1260,6 @@EXPORT_SYMBOL (hpsb_set_hostinfo_key);EXPORT_SYMBOL (hpsb_get_hostinfo_bykey);EXPORT_SYMBOL (hpsb_set_hostinfo); -EXPORT_SYMBOL (highlevel_add_host); -EXPORT_SYMBOL (highlevel_remove_host);EXPORT_SYMBOL (highlevel_host_reset);/** nodemgr.c **/
@@ -1275,7 +1268,6 @@EXPORT_SYMBOL (hpsb_register_protocol);EXPORT_SYMBOL (hpsb_unregister_protocol);EXPORT_SYMBOL (ieee1394_bus_type); -EXPORT_SYMBOL (nodemgr_for_each_host);/** csr.c **/ EXPORT_SYMBOL (hpsb_update_config_rom);
@@ -1312,19 +1304,11 @@EXPORT_SYMBOL (hpsb_iso_recv_flush);/** csr1212.c **/ -EXPORT_SYMBOL (csr1212_create_csr); -EXPORT_SYMBOL (csr1212_init_local_csr); -EXPORT_SYMBOL (csr1212_new_immediate);EXPORT_SYMBOL (csr1212_new_directory); -EXPORT_SYMBOL (csr1212_associate_keyval);EXPORT_SYMBOL (csr1212_attach_keyval_to_directory); -EXPORT_SYMBOL (csr1212_new_string_descriptor_leaf);EXPORT_SYMBOL (csr1212_detach_keyval_from_directory);EXPORT_SYMBOL (csr1212_release_keyval); -EXPORT_SYMBOL (csr1212_destroy_csr);EXPORT_SYMBOL (csr1212_read); -EXPORT_SYMBOL (csr1212_generate_csr_image);EXPORT_SYMBOL (csr1212_parse_keyval); -EXPORT_SYMBOL (csr1212_parse_csr);EXPORT_SYMBOL (_csr1212_read_keyval);EXPORT_SYMBOL (_csr1212_destroy_keyval);
Quoted 1 line · Adrian Bunk
This patch removes unneeded EXPORT_SYMBOL's.
Didn't you already send something like this (with fewer removals, mind you) in December?
http://marc.theaimsgroup.com/?l=linux1394-devel&m=110350765817261&w=2
Given the objections to your December patch, why should we accept this one now?
Jody
Quoted 78 lines
Signed-off-by Adrian Bunk <[email protected]>---
drivers/ieee1394/ieee1394_core.c | 16 ---------------- 1 files changed, 16 deletions(-)drivers/ieee1394/ieee1394_core.c renamed from drivers/ieee1394/ieee1394_core.c.old +0
-17@@ -1225,9 +1225,7 @@EXPORT_SYMBOL (hpsb_set_packet_complete_task);EXPORT_SYMBOL (hpsb_alloc_packet);EXPORT_SYMBOL (hpsb_free_packet); -EXPORT_SYMBOL (hpsb_send_phy_config);EXPORT_SYMBOL (hpsb_send_packet); -EXPORT_SYMBOL (hpsb_send_packet_and_wait);EXPORT_SYMBOL (hpsb_reset_bus);EXPORT_SYMBOL (hpsb_bus_reset);EXPORT_SYMBOL (hpsb_selfid_received);@@ -1246,9 +1244,6 @@EXPORT_SYMBOL (hpsb_make_lock64packet);EXPORT_SYMBOL (hpsb_make_phypacket);EXPORT_SYMBOL (hpsb_make_isopacket); -EXPORT_SYMBOL (hpsb_read); -EXPORT_SYMBOL (hpsb_write); -EXPORT_SYMBOL (hpsb_lock);EXPORT_SYMBOL (hpsb_packet_success);/** highlevel.c **/ @@ -1265,8 +1260,6 @@EXPORT_SYMBOL (hpsb_set_hostinfo_key);EXPORT_SYMBOL (hpsb_get_hostinfo_bykey);EXPORT_SYMBOL (hpsb_set_hostinfo); -EXPORT_SYMBOL (highlevel_add_host); -EXPORT_SYMBOL (highlevel_remove_host);EXPORT_SYMBOL (highlevel_host_reset);/** nodemgr.c **/ @@ -1275,7 +1268,6 @@EXPORT_SYMBOL (hpsb_register_protocol);EXPORT_SYMBOL (hpsb_unregister_protocol);EXPORT_SYMBOL (ieee1394_bus_type); -EXPORT_SYMBOL (nodemgr_for_each_host);/** csr.c **/ EXPORT_SYMBOL (hpsb_update_config_rom);@@ -1312,19 +1304,11 @@EXPORT_SYMBOL (hpsb_iso_recv_flush);/** csr1212.c **/ -EXPORT_SYMBOL (csr1212_create_csr); -EXPORT_SYMBOL (csr1212_init_local_csr); -EXPORT_SYMBOL (csr1212_new_immediate);EXPORT_SYMBOL (csr1212_new_directory); -EXPORT_SYMBOL (csr1212_associate_keyval);EXPORT_SYMBOL (csr1212_attach_keyval_to_directory); -EXPORT_SYMBOL (csr1212_new_string_descriptor_leaf);EXPORT_SYMBOL (csr1212_detach_keyval_from_directory);EXPORT_SYMBOL (csr1212_release_keyval); -EXPORT_SYMBOL (csr1212_destroy_csr);EXPORT_SYMBOL (csr1212_read); -EXPORT_SYMBOL (csr1212_generate_csr_image);EXPORT_SYMBOL (csr1212_parse_keyval); -EXPORT_SYMBOL (csr1212_parse_csr);EXPORT_SYMBOL (_csr1212_read_keyval);EXPORT_SYMBOL (_csr1212_destroy_keyval); -------------------------------------------------------SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/linux1394-devel
Quoted 10 lines · Jody McIntyre
Quoted 1 line · Adrian Bunk
This patch removes unneeded EXPORT_SYMBOL's.
Didn't you already send something like this (with fewer removals, mind you) in December?
http://marc.theaimsgroup.com/?l=linux1394-devel&m=110350765817261&w=2
Given the objections to your December patch, why should we accept this one now?
since there still isn't a user ??
Quoted 3 lines · Arjan van de Ven
Quoted 2 lines · Jody McIntyre
Quoted 1 line · Adrian Bunk
This patch removes unneeded EXPORT_SYMBOL's.
...
Quoted 4 lines
Quoted 2 lines
Given the objections to your December patch, why should we accept this one now?
since there still isn't a user ??
There are users (though not in "the" kernel at the moment), have been users, will be users.
Note: There is no architectural problem or something like that which would be a reason to change the API.
Signature · 3 lines
Stefan Richter -=====-=-=-= --== -===- http://arcgraph.de/sr/
Quoted 11 lines · Stefan Richter
Quoted 3 lines · Arjan van de Ven
Quoted 2 lines · Jody McIntyre
Quoted 1 line · Adrian Bunk
This patch removes unneeded EXPORT_SYMBOL's.
...
Quoted 4 lines
Quoted 2 lines
Given the objections to your December patch, why should we accept this one now?
since there still isn't a user ??
There are users (though not in "the" kernel at the moment)
nor for the last 5 months... how long will it be ?
Quoted 3 lines · Arjan van de Ven
Quoted 1 line · Stefan Richter
There are users (though not in "the" kernel at the moment)
nor for the last 5 months... how long will it be ?
Have there been problems with the API during the past 5 months, except that several kernel trees are using some parts of the API? (We are actually speaking about two APIs of the ieee1394 framework.)
Which problems are solved by this patch? Do they outweigh the problems it creates? The latter have been discussed. Dismissing them as Other People's Problems does not nullify them.
Where is the agreed-upon, published plan for removal of features in ieee1394?
Signature · 3 lines
Stefan Richter -=====-=-=-= -=-- =-=-- http://arcgraph.de/sr/
Quoted 10 lines · Stefan Richter
Quoted 3 lines · Arjan van de Ven
Quoted 1 line · Stefan Richter
There are users (though not in "the" kernel at the moment)
nor for the last 5 months... how long will it be ?
Have there been problems with the API during the past 5 months, except that several kernel trees are using some parts of the API? (We are actually speaking about two APIs of the ieee1394 framework.)
Which problems are solved by this patch?
exports and the functions beneath them cause the kernel binary be bigger than needed. If nothing is using an api.. is it really the right one?
Quoted 1 line · Arjan van de Ven
If nothing is using an api
Check the archive.
Signature · 3 lines
Stefan Richter -=====-=-=-= -=-- =-=-- http://arcgraph.de/sr/
Quoted 4 lines · Stefan Richter
Quoted 1 line · Arjan van de Ven
If nothing is using an api
Check the archive.
I don't care and in fact ignore external drivers that don't ever want to get upstream. If there is a driver that wants this surely it wants to go upstream soonish ?
Quoted 9 lines · Stefan Richter
Quoted 3 lines · Arjan van de Ven
Quoted 1 line · Stefan Richter
There are users (though not in "the" kernel at the moment)
nor for the last 5 months... how long will it be ?
Have there been problems with the API during the past 5 months, except that several kernel trees are using some parts of the API? (We are actually speaking about two APIs of the ieee1394 framework.)
Quoted 6 lines
Which problems are solved by this patch? Do they outweigh the problems it creates? The latter have been discussed. Dismissing them as Other People's Problems does not nullify them.
Where is the agreed-upon, published plan for removal of features in ieee1394?
Of course, there is none. In an unofficial capacity, there is just the opinion and votes of the subsystem maintainers, extended team (e.g., Stefan and me), and kernel maintainers (Linus, Andrew, and Marcello). The users are represented by the subsystem maintainers and extended team. So, Arjan's opinion does not matter except to offer some voice of reason.
I think I was first to raise objection upon the initial submission some months back, and then I just observed the dialog. There are technical merits for removal of the external symbols that I accept. I also accept that we have no way of maintaining any sort of stable subsystem for external projects we are not aware of or who are not communicating with us about their requirements (it goes beyond just a stable interface).
Based upon my experience of several years on this project there is only one external kernel module project we need to consider because that developer has been involved and voiced requirements. That is Arne Caspari's (The Imaging Source) DFG/1394 driver.
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Of course, I may be voted down, but I ask the others to be realistic about what we are arguing for (i.e. just being defensive?) and consider the fact that there are valid reasons for their removal.
Quoted 5 lines · Dan Dennedy
...
Based upon my experience of several years on this project there is only one external kernel module project we need to consider because that developer has been involved and voiced requirements. That is Arne Caspari's (The Imaging Source) DFG/1394 driver.
The ideal solution would be to get this driver included in the kernel. Are there any reasons against including it?
Quoted 5 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Of course, I may be voted down, but I ask the others to be realistic about what we are arguing for (i.e. just being defensive?) and consider the fact that there are valid reasons for their removal.
The DFG/1394 driver requires hpsb_read and hpsb_write.
Are there any Linux1394.org modules that are not in 2.6.12-rc2-mm3?
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 8 lines · Adrian Bunk
Quoted 4 lines · Dan Dennedy
Based upon my experience of several years on this project there is only one external kernel module project we need to consider because that developer has been involved and voiced requirements. That is Arne Caspari's (The Imaging Source) DFG/1394 driver.
The ideal solution would be to get this driver included in the kernel. Are there any reasons against including it?
Arne stated his reasons: http://marc.theaimsgroup.com/?m=110361846312128
(BTW, does Arne have commit access to the linux1394 repo yet?)
Quoted 5 lines
Quoted 5 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Of course, I may be voted down, but I ask the others to be realistic about what we are arguing for (i.e. just being defensive?) and consider the fact that there are valid reasons for their removal.
Yes, there are. (Although one of the reasons -- size of the kernel -- is in effect neglectible.) So let's see if further opinions are coming in at the lists now. Then let's decide how to manage removal of the stuff.
Quoted 3 lines
The DFG/1394 driver requires
hpsb_readandhpsb_write.Are there any Linux1394.org modules that are not in 2.6.12-rc2-mm3?
No.
Signature · 3 lines
Stefan Richter -=====-=-=-= -=-- =-=-= http://arcgraph.de/sr/
Dan Dennedy wrote on 2005-04-20:
Quoted 5 lines
There are technical
merits for removal of the external symbols that I accept. I also accept that we have no way of maintaining any sort of stable subsystem for external projects we are not aware of or who are not communicating with us about their requirements (it goes beyond just a stable interface).
...
Quoted 2 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Nobody else posted specific requirements so far. So let's clean up the API. How about this:
- Determine a date or event at which unused symbols and functions will vanish. ("Unused": Not used by the mainline drivers and video-2-1394
or any other project of similar scope of which the linux1394
maintainers are informed soon enough.)
- Add an according entry to Documentation/feature-removal-schedule.txt.
- Add warning comments next to obsolete EXPORT_SYMBOLs. Add warning
printks to obsolete functions? (If there are any.)
Are there proposals for a date? How about end of June?
Signature · 3 lines
Stefan Richter -=====-=-=-= -=-- ==-== http://arcgraph.de/sr/
Quoted 12 lines · Stefan Richter
Dan Dennedy wrote on 2005-04-20:
Quoted 5 lines
There are technical
merits for removal of the external symbols that I accept. I also accept that we have no way of maintaining any sort of stable subsystem for external projects we are not aware of or who are not communicating with us about their requirements (it goes beyond just a stable interface)....
Quoted 2 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Nobody else posted specific requirements so far. So let's clean up the API. How about this:
<snip>
Quoted 2 lines
- Add warning comments next to obsolete
EXPORT_SYMBOLs. Add warning printks to obsolete functions? (If there are any.)
how about just adding __deprecated to them?
Signature · 1 line
Jesper Juhl
Quoted 12 lines · Jesper Juhl
Quoted 10 lines · Stefan Richter
Dan Dennedy wrote on 2005-04-20:
Quoted 5 lines
There are technical
merits for removal of the external symbols that I accept. I also accept that we have no way of maintaining any sort of stable subsystem for external projects we are not aware of or who are not communicating with us about their requirements (it goes beyond just a stable interface)....
Quoted 2 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Quoted 7 lines
Quoted 2 lines
Nobody else posted specific requirements so far. So let's clean up the API. How about this:
<snip>
Quoted 2 lines
- Add warning comments next to obsolete
EXPORT_SYMBOLs. Add warning printks to obsolete functions? (If there are any.)how about just adding
__deprecatedto them?
Some of these functions might have valid users (e.g. from the same file).
__deprecated_for_modules (already in -mm) is the right solution.
Quoted 1 line
Jesper Juhl
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 19 lines · Adrian Bunk
Quoted 18 lines · Jesper Juhl
Quoted 12 lines · Stefan Richter
Dan Dennedy wrote on 2005-04-20:
Quoted 5 lines
There are technical
merits for removal of the external symbols that I accept. I also accept that we have no way of maintaining any sort of stable subsystem for external projects we are not aware of or who are not communicating with us about their requirements (it goes beyond just a stable interface)....
Quoted 2 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Nobody else posted specific requirements so far. So let's clean up the API. How about this:
<snip>
Quoted 2 lines
- Add warning comments next to obsolete
EXPORT_SYMBOLs. Add warning printks to obsolete functions? (If there are any.)
Quoted 6 lines
Quoted 1 line
how about just adding
__deprecatedto them?Some of these functions might have valid users (e.g. from the same file).
__deprecated_for_modules(already in -mm) is the right solution.
Correcting myself:
Unfortunately, this doesn't work since this also gives you a bunch of warnings for usage that doesn't use the EXPORT_SYMBOL's (e.g. if the whole ieee1394 stuff is built as a module).
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 10 lines · Stefan Richter
Dan Dennedy wrote on 2005-04-20:
Quoted 5 lines
There are technical
merits for removal of the external symbols that I accept. I also accept that we have no way of maintaining any sort of stable subsystem for external projects we are not aware of or who are not communicating with us about their requirements (it goes beyond just a stable interface)....
Quoted 2 lines
I vote to remove external symbols not used by the Linux1394.org modules or the module at http://sourceforge.net/projects/video-2-1394/
Quoted 6 lines
Nobody else posted specific requirements so far. So let's clean up the API. How about this:
- Determine a date or event at which unused symbols and functions will vanish. ("Unused": Not used by the mainline drivers and video-2-1394 or any other project of similar scope of which the linux1394 maintainers are informed soon enough.)
OK.
Quoted 1 line
- Add an according entry to
Documentation/feature-removal-schedule.txt.
OK.
Quoted 2 lines
- Add warning comments next to obsolete
EXPORT_SYMBOLs. Add warning printks to obsolete functions? (If there are any.)
OK.
Quoted 1 line
Are there proposals for a date? How about end of June?
OK (now it's perhaps beginning of Juli).
Is this OK for everyone?
If yes, I can prepare a patch.
Quoted 1 line
Stefan Richter
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 2 lines · Adrian Bunk
Is this OK for everyone?
If yes, I can prepare a patch.
I think it is finally time to do so. I even wanted to prepare a patch but got distracted...
Signature · 3 lines
Stefan Richter -=====-=-=-= -=-= -==-= http://arcgraph.de/sr/
PATCH 1/1 drivers/ieee1394/: schedule unused EXPORT_SYMBOL's for removal
Quoted 6 lines · Stefan Richter
Quoted 2 lines · Adrian Bunk
Is this OK for everyone?
If yes, I can prepare a patch.I think it is finally time to do so. I even wanted to prepare a patch but got distracted...
Patch below.
Quoted 1 line
Stefan Richter
cu
Adrian
<-- snip -->
This patch schedules unused EXPORT_SYMBOL's for removal.
---
Documentation/feature-removal-schedule.txt | 21 ++++++++++++++ drivers/ieee1394/ieee1394_core.c | 31 +++++++++++++++++++++ 2 files changed, 52 insertions(+)
Documentation/feature-removal-schedule.txt renamed from Documentation/feature-removal-schedule.txt.old +21 -0
@@ -93,0 +94,21 @@ + +--------------------------- + +What: remove the following ieee1394 EXPORT_SYMBOL's: + - hpsb_send_phy_config + - hpsb_send_packet_and_wait + - highlevel_add_host + - highlevel_remove_host + - nodemgr_for_each_host + - csr1212_create_csr + - csr1212_init_local_csr + - csr1212_new_immediate + - csr1212_associate_keyval + - csr1212_new_string_descriptor_leaf + - csr1212_destroy_csr + - csr1212_generate_csr_image + - csr1212_parse_csr +When: July 2005 +Files: drivers/ieee1394/ieee1394_core.c +Why: No modular usage in the kernel. +Who: Adrian Bunk <[email protected]>
drivers/ieee1394/ieee1394_core.c renamed from drivers/ieee1394/ieee1394_core.c.old +31 -0
@@ -1226,7 +1226,13 @@EXPORT_SYMBOL (hpsb_alloc_packet);EXPORT_SYMBOL (hpsb_free_packet); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (hpsb_send_phy_config); +EXPORT_SYMBOL (hpsb_send_packet); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (hpsb_send_packet_and_wait); +EXPORT_SYMBOL (hpsb_reset_bus);EXPORT_SYMBOL (hpsb_bus_reset);
@@ -1265,6 +1271,11 @@EXPORT_SYMBOL (hpsb_get_hostinfo_bykey);EXPORT_SYMBOL (hpsb_set_hostinfo); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (highlevel_add_host); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (highlevel_remove_host); +EXPORT_SYMBOL (highlevel_host_reset);
@@ -1275,4 +1286,6 @@EXPORT_SYMBOL (hpsb_unregister_protocol);EXPORT_SYMBOL (ieee1394_bus_type); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (nodemgr_for_each_host);
@@ -1312,18 +1325,36 @@/** csr1212.c **/ + +/* EXPORT_SYMBOLs scheduled for removal */ EXPORT_SYMBOL (csr1212_create_csr);EXPORT_SYMBOL (csr1212_init_local_csr);EXPORT_SYMBOL (csr1212_new_immediate); +EXPORT_SYMBOL (csr1212_new_directory); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (csr1212_associate_keyval); +EXPORT_SYMBOL (csr1212_attach_keyval_to_directory); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (csr1212_new_string_descriptor_leaf); +EXPORT_SYMBOL (csr1212_detach_keyval_from_directory);EXPORT_SYMBOL (csr1212_release_keyval); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (csr1212_destroy_csr); +EXPORT_SYMBOL (csr1212_read); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (csr1212_generate_csr_image); +EXPORT_SYMBOL (csr1212_parse_keyval); + +/* EXPORT_SYMBOL scheduled for removal */ EXPORT_SYMBOL (csr1212_parse_csr); +EXPORT_SYMBOL (_csr1212_read_keyval);EXPORT_SYMBOL (_csr1212_destroy_keyval);