2011-06-08 20:10:17

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support

>    [SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support
>
>    This is a comprehensive patch for FC-FC4 provider. tcm_fc is a FC-FC4
>    provider which glues target core (TCM) with Fiber channel library
>    (libfc). tcm_fc uses existing FC4 provider hooks from Fiber channel
>    library. This Fiber channel library is used by FCoE (transport - FC
>    over Ethernet) protocol driver as well.

> --- /dev/null
> +++ b/drivers/target/tcm_fc/tfc_conf.c

> +static int __init ft_init(void)
> +{
> +       if (ft_register_configfs())
> +               return -1;
> +       if (fc_fc4_register_provider(FC_TYPE_FCP, &ft_prov)) {
> +               ft_deregister_configfs();
> +               return -1;
> +       }
> +       blocking_notifier_chain_register(&fc_lport_notifier_head, &ft_notifier);
> +       fc_lport_iterate(ft_lport_add, NULL);
> +       return 0;
> +}
> +
> +static void __exit ft_exit(void)
> +{
> +       blocking_notifier_chain_unregister(&fc_lport_notifier_head,
> +                                          &ft_notifier);
> +       fc_fc4_deregister_provider(FC_TYPE_FCP, &ft_prov);
> +       fc_lport_iterate(ft_lport_del, NULL);
> +       ft_deregister_configfs();
> +       synchronize_rcu();
> +}
> +
> +#ifdef MODULE
> +MODULE_DESCRIPTION("FC TCM fabric driver " FT_VERSION);
> +MODULE_LICENSE("GPL");
> +module_init(ft_init);
> +module_exit(ft_exit);
> +#endif /* MODULE */

If CONFIG_TCM_FC=y, this gives:

| drivers/target/tcm_fc/tfc_conf.c:642: warning: ‘ft_init’ defined but not used

Shouldn't the #ifdef MODULE and #endif just be removed?

Who else initializes this module if it's builtin?
E.g. ft_register_configfs() is global, but not used outside this source file?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


2011-06-08 20:51:43

by Patil, Kiran

[permalink] [raw]
Subject: Re: [SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support

Hi Geert,

Response in-line.

On 6/8/2011 1:10 PM, Geert Uytterhoeven wrote:
>> [SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support
>>
>> This is a comprehensive patch for FC-FC4 provider. tcm_fc is a FC-FC4
>> provider which glues target core (TCM) with Fiber channel library
>> (libfc). tcm_fc uses existing FC4 provider hooks from Fiber channel
>> library. This Fiber channel library is used by FCoE (transport - FC
>> over Ethernet) protocol driver as well.
>> --- /dev/null
>> +++ b/drivers/target/tcm_fc/tfc_conf.c
>> +static int __init ft_init(void)
>> +{
>> + if (ft_register_configfs())
>> + return -1;
>> + if (fc_fc4_register_provider(FC_TYPE_FCP,&ft_prov)) {
>> + ft_deregister_configfs();
>> + return -1;
>> + }
>> + blocking_notifier_chain_register(&fc_lport_notifier_head,&ft_notifier);
>> + fc_lport_iterate(ft_lport_add, NULL);
>> + return 0;
>> +}
>> +
>> +static void __exit ft_exit(void)
>> +{
>> + blocking_notifier_chain_unregister(&fc_lport_notifier_head,
>> +&ft_notifier);
>> + fc_fc4_deregister_provider(FC_TYPE_FCP,&ft_prov);
>> + fc_lport_iterate(ft_lport_del, NULL);
>> + ft_deregister_configfs();
>> + synchronize_rcu();
>> +}
>> +
>> +#ifdef MODULE
>> +MODULE_DESCRIPTION("FC TCM fabric driver " FT_VERSION);
>> +MODULE_LICENSE("GPL");
>> +module_init(ft_init);
>> +module_exit(ft_exit);
>> +#endif /* MODULE */
> If CONFIG_TCM_FC=y, this gives:
>
> | drivers/target/tcm_fc/tfc_conf.c:642: warning: ‘ft_init’ defined but not used
>
> Shouldn't the #ifdef MODULE and #endif just be removed?
Agree. Will get it fixed.
> Who else initializes this module if it's builtin?
> E.g. ft_register_configfs() is global, but not used outside this source file?
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
Thanks
-- KIran P.