Now that I can live with. If everyone else is ok with it, I'll apply it to
our tree for when I sync to Linus.

On Sat, Jul 09, 2005 at 12:32:33PM +0200, Stefan Richter wrote:
> Ben Collins wrote:
> > Can we, instead of removing these, wrap then in a "Export full API" config
> > option? I've already got several reports from external projects that are
> > using most of these exported symbols, and I'd hate to make it harder on
> > them to use our drivers (for internal projects or otherwise).
> 
> OK, why not. Here is an alternative patch, split in two parts. The first
> part is independent of the second, although the 2nd motivates the 1st.
> 2nd part follows in a separate posting.
> 
> - - - - - - - - - - - - 8< - - - - - - - - - - - -
> 
> IEEE 1394 subsystem: Wrap symbols that are neither used by the 1394 drivers in
> the mainline kernel (a.k.a. Linux1394) nor by dfg1394 (a.k.a the video-2-1394
> project) into a new configuration option. Switch this option on by default.
> 
> Signed-off-by: Stefan Richter <[EMAIL PROTECTED]>
> 
> 
> diff -ru linux-2.6.13-rc2.old/drivers/ieee1394/Kconfig 
> linux-2.6.13-rc2/drivers/ieee1394/Kconfig
> --- linux-2.6.13-rc2.old/drivers/ieee1394/Kconfig     2005-07-06 
> 05:46:33.000000000 +0200
> +++ linux-2.6.13-rc2/drivers/ieee1394/Kconfig 2005-07-09 12:01:32.000000000 
> +0200
> @@ -66,6 +66,18 @@
>         with MacOSX and WinXP IP-over-1394), enable this option and the
>         eth1394 option below.
>  
> +config IEEE1394_EXPORT_FULL_API
> +     bool "Export all symbols of ieee1394's API"
> +     depends on IEEE1394
> +     default y
> +     help
> +       Export all symbols of ieee1394's driver programming interface, even
> +       those that are not currently used by the standard IEEE 1394 drivers.
> +
> +       This option does not affect the interface to userspace applications.
> +       Say Y here if you want to compile externally developed drivers that
> +       make extended use of ieee1394's API. It is otherwise safe to say N.
> +
>  comment "Device Drivers"
>       depends on IEEE1394
>  
> diff -ru linux-2.6.13-rc2.old/drivers/ieee1394/ieee1394_core.c 
> linux-2.6.13-rc2/drivers/ieee1394/ieee1394_core.c
> --- linux-2.6.13-rc2.old/drivers/ieee1394/ieee1394_core.c     2005-07-06 
> 05:46:33.000000000 +0200
> +++ linux-2.6.13-rc2/drivers/ieee1394/ieee1394_core.c 2005-07-09 
> 11:53:25.000000000 +0200
> @@ -1223,9 +1223,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);
> @@ -1233,6 +1231,10 @@
>  EXPORT_SYMBOL(hpsb_packet_sent);
>  EXPORT_SYMBOL(hpsb_packet_received);
>  EXPORT_SYMBOL_GPL(hpsb_disable_irm);
> +#ifdef CONFIG_IEEE1394_EXPORT_FULL_API
> +EXPORT_SYMBOL(hpsb_send_phy_config);
> +EXPORT_SYMBOL(hpsb_send_packet_and_wait);
> +#endif
>  
>  /** ieee1394_transactions.c **/
>  EXPORT_SYMBOL(hpsb_get_tlabel);
> @@ -1262,9 +1264,11 @@
>  EXPORT_SYMBOL(hpsb_set_hostinfo_key);
>  EXPORT_SYMBOL(hpsb_get_hostinfo_bykey);
>  EXPORT_SYMBOL(hpsb_set_hostinfo);
> +EXPORT_SYMBOL(highlevel_host_reset);
> +#ifdef CONFIG_IEEE1394_EXPORT_FULL_API
>  EXPORT_SYMBOL(highlevel_add_host);
>  EXPORT_SYMBOL(highlevel_remove_host);
> -EXPORT_SYMBOL(highlevel_host_reset);
> +#endif
>  
>  /** nodemgr.c **/
>  EXPORT_SYMBOL(hpsb_node_fill_packet);
> @@ -1272,7 +1276,9 @@
>  EXPORT_SYMBOL(hpsb_register_protocol);
>  EXPORT_SYMBOL(hpsb_unregister_protocol);
>  EXPORT_SYMBOL(ieee1394_bus_type);
> +#ifdef CONFIG_IEEE1394_EXPORT_FULL_API
>  EXPORT_SYMBOL(nodemgr_for_each_host);
> +#endif
>  
>  /** csr.c **/
>  EXPORT_SYMBOL(hpsb_update_config_rom);
> @@ -1309,19 +1315,21 @@
>  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);
> +#ifdef CONFIG_IEEE1394_EXPORT_FULL_API
> +EXPORT_SYMBOL(csr1212_create_csr);
> +EXPORT_SYMBOL(csr1212_init_local_csr);
> +EXPORT_SYMBOL(csr1212_new_immediate);
> +EXPORT_SYMBOL(csr1212_associate_keyval);
> +EXPORT_SYMBOL(csr1212_new_string_descriptor_leaf);
> +EXPORT_SYMBOL(csr1212_destroy_csr);
> +EXPORT_SYMBOL(csr1212_generate_csr_image);
> +EXPORT_SYMBOL(csr1212_parse_csr);
> +#endif
> 

-- 
Debian     - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
SwissDisk  - http://www.swissdisk.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to