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>