OSDN Git Service

scsi: qedf: fix LTO-enabled build
authorArnd Bergmann <arnd@arndb.de>
Fri, 2 Feb 2018 13:12:18 +0000 (14:12 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 14 Feb 2018 02:37:01 +0000 (21:37 -0500)
commitd9ea463a1cc7f0a6254cbd8228e1948c345a4acd
treeb38b55d94a8223912d927f254f89898b327b3569
parentbc2e1299a828a13a44c3140a3c0a183c87872606
scsi: qedf: fix LTO-enabled build

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@arndb.de>
Acked-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_dbg.h
drivers/scsi/qedf/qedf_debugfs.c
drivers/scsi/qedf/qedf_main.c