Inaky Perez-Gonzalez wrote: > As reported by Toralf F?rster and Randy Dunlap. > > - http://linuxwimax.org/pipermail/wimax/2009-January/000460.html > > - http://lkml.org/lkml/2009/1/29/279 Thanks. That one builds. > The definitions needed for the wimax stack and i2400m driver debug > infrastructure was, by mistake, compiled depending on CONFIG_DEBUG_FS > (by them being placed in the debugfs.c files); thus the build broke in > 2.6.29-rc3 when debugging was enabled (CONFIG_WIMAX_DEBUG) and > DEBUG_FS was disabled. > > These definitions are always needed if debug is enabled at compile > time (independently of DEBUG_FS being or not enabled), so moving them > to a file that is always compiled fixes the issue. > > Signed-off-by: Inaky Perez-Gonzalez <inaky@xxxxxxxxxxxxxxx> > --- > drivers/net/wimax/i2400m/debugfs.c | 14 -------------- > drivers/net/wimax/i2400m/driver.c | 16 ++++++++++++++++ > net/wimax/debugfs.c | 11 ----------- > net/wimax/stack.c | 13 +++++++++++++ > 4 files changed, 29 insertions(+), 25 deletions(-) > > diff --git a/drivers/net/wimax/i2400m/debugfs.c b/drivers/net/wimax/i2400m/debugfs.c > index 6266329..9b81af3 100644 > --- a/drivers/net/wimax/i2400m/debugfs.c > +++ b/drivers/net/wimax/i2400m/debugfs.c > @@ -234,20 +234,6 @@ struct dentry *debugfs_create_i2400m_reset( > &fops_i2400m_reset); > } > > -/* > - * Debug levels control; see debug.h > - */ > -struct d_level D_LEVEL[] = { > - D_SUBMODULE_DEFINE(control), > - D_SUBMODULE_DEFINE(driver), > - D_SUBMODULE_DEFINE(debugfs), > - D_SUBMODULE_DEFINE(fw), > - D_SUBMODULE_DEFINE(netdev), > - D_SUBMODULE_DEFINE(rfkill), > - D_SUBMODULE_DEFINE(rx), > - D_SUBMODULE_DEFINE(tx), > -}; > -size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL); > > #define __debugfs_register(prefix, name, parent) \ > do { \ > diff --git a/drivers/net/wimax/i2400m/driver.c b/drivers/net/wimax/i2400m/driver.c > index 5f98047..e80a0b6 100644 > --- a/drivers/net/wimax/i2400m/driver.c > +++ b/drivers/net/wimax/i2400m/driver.c > @@ -707,6 +707,22 @@ void i2400m_release(struct i2400m *i2400m) > EXPORT_SYMBOL_GPL(i2400m_release); > > > +/* > + * Debug levels control; see debug.h > + */ > +struct d_level D_LEVEL[] = { > + D_SUBMODULE_DEFINE(control), > + D_SUBMODULE_DEFINE(driver), > + D_SUBMODULE_DEFINE(debugfs), > + D_SUBMODULE_DEFINE(fw), > + D_SUBMODULE_DEFINE(netdev), > + D_SUBMODULE_DEFINE(rfkill), > + D_SUBMODULE_DEFINE(rx), > + D_SUBMODULE_DEFINE(tx), > +}; > +size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL); > + > + > static > int __init i2400m_driver_init(void) > { > diff --git a/net/wimax/debugfs.c b/net/wimax/debugfs.c > index 87cf443..94d216a 100644 > --- a/net/wimax/debugfs.c > +++ b/net/wimax/debugfs.c > @@ -28,17 +28,6 @@ > #include "debug-levels.h" > > > -/* Debug framework control of debug levels */ > -struct d_level D_LEVEL[] = { > - D_SUBMODULE_DEFINE(debugfs), > - D_SUBMODULE_DEFINE(id_table), > - D_SUBMODULE_DEFINE(op_msg), > - D_SUBMODULE_DEFINE(op_reset), > - D_SUBMODULE_DEFINE(op_rfkill), > - D_SUBMODULE_DEFINE(stack), > -}; > -size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL); > - > #define __debugfs_register(prefix, name, parent) \ > do { \ > result = d_level_register_debugfs(prefix, name, parent); \ > diff --git a/net/wimax/stack.c b/net/wimax/stack.c > index d4da92f..3869c03 100644 > --- a/net/wimax/stack.c > +++ b/net/wimax/stack.c > @@ -516,6 +516,19 @@ void wimax_dev_rm(struct wimax_dev *wimax_dev) > } > EXPORT_SYMBOL_GPL(wimax_dev_rm); > > + > +/* Debug framework control of debug levels */ > +struct d_level D_LEVEL[] = { > + D_SUBMODULE_DEFINE(debugfs), > + D_SUBMODULE_DEFINE(id_table), > + D_SUBMODULE_DEFINE(op_msg), > + D_SUBMODULE_DEFINE(op_reset), > + D_SUBMODULE_DEFINE(op_rfkill), > + D_SUBMODULE_DEFINE(stack), > +}; > +size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL); > + > + > struct genl_family wimax_gnl_family = { > .id = GENL_ID_GENERATE, > .name = "WiMAX", -- ~Randy