Hi,

I have a question regarding EXPORT_SYMBOL vs. EXPORT_SYMBOL_GPL:
I did stumble upon different export declarations between different 
architectures, e.g.:

$ grep -r -e "EXPORT_SYMBOL[^(]*(" * | tr ":()" "   " | sort -s -k 3 -k 2  | 
grep __virt_addr_valid
arch/mips/mm/mmap.c EXPORT_SYMBOL_GPL __virt_addr_valid ;
arch/x86/mm/physaddr.c EXPORT_SYMBOL __virt_addr_valid ;

Bug or feature?

Other examples are:
clk_disable     EXPORT_SYMBOL   7
clk_disable     EXPORT_SYMBOL_GPL       3
clk_enable      EXPORT_SYMBOL   7
clk_enable      EXPORT_SYMBOL_GPL       3
clk_get_parent  EXPORT_SYMBOL   4
clk_get_parent  EXPORT_SYMBOL_GPL       2
clk_get_rate    EXPORT_SYMBOL   7
clk_get_rate    EXPORT_SYMBOL_GPL       3
clk_register    EXPORT_SYMBOL   2
clk_register    EXPORT_SYMBOL_GPL       2
clk_round_rate  EXPORT_SYMBOL   6
clk_round_rate  EXPORT_SYMBOL_GPL       4
clk_set_parent  EXPORT_SYMBOL   5
clk_set_parent  EXPORT_SYMBOL_GPL       2
clk_set_rate    EXPORT_SYMBOL   6
clk_set_rate    EXPORT_SYMBOL_GPL       4
clk_unregister  EXPORT_SYMBOL   2
clk_unregister  EXPORT_SYMBOL_GPL       2
copy_user_highpage      EXPORT_SYMBOL   4
copy_user_highpage      EXPORT_SYMBOL_GPL       1
cpu_have_feature        EXPORT_SYMBOL   1
cpu_have_feature        EXPORT_SYMBOL_GPL       1
ec_read EXPORT_SYMBOL   1
ec_read EXPORT_SYMBOL_GPL       1
ec_write        EXPORT_SYMBOL   1
ec_write        EXPORT_SYMBOL_GPL       1
elf_hwcap       EXPORT_SYMBOL   2
elf_hwcap       EXPORT_SYMBOL_GPL       2
empty_zero_page EXPORT_SYMBOL   26
empty_zero_page EXPORT_SYMBOL_GPL       1
flush_icache_range      EXPORT_SYMBOL   9
flush_icache_range      EXPORT_SYMBOL_GPL       2
ioremap_uc      EXPORT_SYMBOL   1
ioremap_uc      EXPORT_SYMBOL_GPL       1
irq_of_parse_and_map    EXPORT_SYMBOL   1
irq_of_parse_and_map    EXPORT_SYMBOL_GPL       1
irq_to_desc     EXPORT_SYMBOL   1
irq_to_desc     EXPORT_SYMBOL_GPL       1
machine_power_off       EXPORT_SYMBOL   1
machine_power_off       EXPORT_SYMBOL_GPL       1
memcpy_flushcache       EXPORT_SYMBOL   1
memcpy_flushcache       EXPORT_SYMBOL_GPL       1
memstart_addr   EXPORT_SYMBOL   1
memstart_addr   EXPORT_SYMBOL_GPL       1
node_data       EXPORT_SYMBOL   7
node_data       EXPORT_SYMBOL_GPL       1
pci_domain_nr   EXPORT_SYMBOL   2
pci_domain_nr   EXPORT_SYMBOL_GPL       1
pci_iomap_wc    EXPORT_SYMBOL   1
pci_iomap_wc    EXPORT_SYMBOL_GPL       1
pci_iomap_wc_range      EXPORT_SYMBOL   1
pci_iomap_wc_range      EXPORT_SYMBOL_GPL       1
perf_num_counters       EXPORT_SYMBOL   1
perf_num_counters       EXPORT_SYMBOL_GPL       2
perf_pmu_name   EXPORT_SYMBOL   1
perf_pmu_name   EXPORT_SYMBOL_GPL       2
pm_power_off    EXPORT_SYMBOL   22
pm_power_off    EXPORT_SYMBOL_GPL       3
pv_ops  EXPORT_SYMBOL   1
pv_ops  EXPORT_SYMBOL_GPL       2
rcu_barrier     EXPORT_SYMBOL   1
rcu_barrier     EXPORT_SYMBOL_GPL       1
return_address  EXPORT_SYMBOL   1
return_address  EXPORT_SYMBOL_GPL       3
rtc_lock        EXPORT_SYMBOL   5
rtc_lock        EXPORT_SYMBOL_GPL       2
save_stack_trace        EXPORT_SYMBOL   1
save_stack_trace        EXPORT_SYMBOL_GPL       14
save_stack_trace_tsk    EXPORT_SYMBOL   1
save_stack_trace_tsk    EXPORT_SYMBOL_GPL       11
smp_call_function_single_async  EXPORT_SYMBOL   1
smp_call_function_single_async  EXPORT_SYMBOL_GPL       1
start_thread    EXPORT_SYMBOL   4
start_thread    EXPORT_SYMBOL_GPL       2
ww_mutex_lock   EXPORT_SYMBOL   1
ww_mutex_lock   EXPORT_SYMBOL_GPL       1
ww_mutex_lock_interruptible     EXPORT_SYMBOL   1
ww_mutex_lock_interruptible     EXPORT_SYMBOL_GPL       1
xen_domain_type EXPORT_SYMBOL   1
xen_domain_type EXPORT_SYMBOL_GPL       1
xen_start_info  EXPORT_SYMBOL   1
xen_start_info  EXPORT_SYMBOL_GPL       1

Mfg
thomas

Reply via email to