Re: [PATCH 4/6] scsi: qedf: fix LTO-enabled build

From: Chad Dupuis
Date: Wed Feb 07 2018 - 10:40:33 EST



On Fri, 2 Feb 2018, 8:12am, Arnd Bergmann wrote:

> The prototype for qedf_dbg_fops/qedf_debugfs_ops doesn't match the definition,
> which causes the final link to fail with link-time optimizations:
>
> drivers/scsi/qedf/qedf_main.c:34: error: type of 'qedf_dbg_fops' does not match original declaration [-Werror=lto-type-mismatch]
> extern struct file_operations qedf_dbg_fops;
>
> drivers/scsi/qedf/qedf_debugfs.c:443: note: 'qedf_dbg_fops' was previously declared here
> const struct file_operations qedf_dbg_fops[] = {
>
> drivers/scsi/qedf/qedf_main.c:33: error: type of 'qedf_debugfs_ops' does not match original declaration [-Werror=lto-type-mismatch]
> extern struct qedf_debugfs_ops qedf_debugfs_ops;
>
> drivers/scsi/qedf/qedf_debugfs.c:102: note: 'qedf_debugfs_ops' was previously declared here
> struct qedf_debugfs_ops qedf_debugfs_ops[] = {
>
> This corrects the prototype and moves it into a shared header file where it
> belongs. The file operations can also be marked 'const' like the
> qedf_debugfs_ops.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/scsi/qedf/qedf_dbg.h | 17 ++++++++++-------
> drivers/scsi/qedf/qedf_debugfs.c | 6 +++---
> drivers/scsi/qedf/qedf_main.c | 8 +++-----
> 3 files changed, 16 insertions(+), 15 deletions(-)
>

Thanks.

Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx>