Hi Greg, On Sun, Oct 18, 2015 at 09:07:52AM -0700, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > This is a note to let you know that I've just added the patch titled > > ttyFDC: Fix build problems due to use of module_{init,exit} > > to my tty git tree which can be found at > git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git > in the tty-next branch. > > The patch will show up in the next release of the linux-next tree > (usually sometime within the next 24 hours during the week.) > > The patch will also be merged in the next major kernel release > during the merge window. Any chance of applying patch 1 (MIPS: CDMM: Add builtin_mips_cdmm_driver() macro) before this one? This patch needs it for the definition of the builtin_mips_cdmm_driver macro. Thanks James > > If you have any questions about this process, please let me know. > > > From 3e8137a185240fa6da0ff91cd9c604716371903b Mon Sep 17 00:00:00 2001 > From: James Hogan <james.hogan@xxxxxxxxxx> > Date: Tue, 6 Oct 2015 15:12:06 +0100 > Subject: ttyFDC: Fix build problems due to use of module_{init,exit} > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 8bit > > Commit 0fd972a7d91d (module: relocate module_init from init.h to > module.h) broke the build of ttyFDC driver due to that driver's (mis)use > of module_mips_cdmm_driver() without first including module.h, for > example: > > In file included from ./arch/mips/include/asm/cdmm.h +11 :0, > from drivers/tty/mips_ejtag_fdc.c +34 : > include/linux/device.h +1295 :1: warning: data definition has no type or storage class > ./arch/mips/include/asm/cdmm.h +84 :2: note: in expansion of macro ‘module_driver’ > drivers/tty/mips_ejtag_fdc.c +1157 :1: note: in expansion of macro ‘module_mips_cdmm_driver’ > include/linux/device.h +1295 :1: error: type defaults to ‘int’ in declaration of ‘module_init’ [-Werror=implicit-int] > ./arch/mips/include/asm/cdmm.h +84 :2: note: in expansion of macro ‘module_driver’ > drivers/tty/mips_ejtag_fdc.c +1157 :1: note: in expansion of macro ‘module_mips_cdmm_driver’ > drivers/tty/mips_ejtag_fdc.c +1157 :1: warning: parameter names (without types) in function declaration > > Instead of just adding the module.h include, switch to using the new > builtin_mips_cdmm_driver() helper macro and drop the remove callback, > since it isn't needed. If module support is added later, the code can > always be resurrected. > > Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Jiri Slaby <jslaby@xxxxxxxx> > Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxx > Cc: <stable@xxxxxxxxxxxxxxx> # 4.2.x- > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > drivers/tty/mips_ejtag_fdc.c | 35 +---------------------------------- > 1 file changed, 1 insertion(+), 34 deletions(-) > > diff --git a/drivers/tty/mips_ejtag_fdc.c b/drivers/tty/mips_ejtag_fdc.c > index 5a6d0b5cd18b..a119176a1855 100644 > --- a/drivers/tty/mips_ejtag_fdc.c > +++ b/drivers/tty/mips_ejtag_fdc.c > @@ -1048,38 +1048,6 @@ err_destroy_ports: > return ret; > } > > -static int mips_ejtag_fdc_tty_remove(struct mips_cdmm_device *dev) > -{ > - struct mips_ejtag_fdc_tty *priv = mips_cdmm_get_drvdata(dev); > - struct mips_ejtag_fdc_tty_port *dport; > - int nport; > - unsigned int cfg; > - > - if (priv->irq >= 0) { > - raw_spin_lock_irq(&priv->lock); > - cfg = mips_ejtag_fdc_read(priv, REG_FDCFG); > - /* Disable interrupts */ > - cfg &= ~(REG_FDCFG_TXINTTHRES | REG_FDCFG_RXINTTHRES); > - cfg |= REG_FDCFG_TXINTTHRES_DISABLED; > - cfg |= REG_FDCFG_RXINTTHRES_DISABLED; > - mips_ejtag_fdc_write(priv, REG_FDCFG, cfg); > - raw_spin_unlock_irq(&priv->lock); > - } else { > - priv->removing = true; > - del_timer_sync(&priv->poll_timer); > - } > - kthread_stop(priv->thread); > - if (dev->cpu == 0) > - mips_ejtag_fdc_con.tty_drv = NULL; > - tty_unregister_driver(priv->driver); > - for (nport = 0; nport < NUM_TTY_CHANNELS; nport++) { > - dport = &priv->ports[nport]; > - tty_port_destroy(&dport->port); > - } > - put_tty_driver(priv->driver); > - return 0; > -} > - > static int mips_ejtag_fdc_tty_cpu_down(struct mips_cdmm_device *dev) > { > struct mips_ejtag_fdc_tty *priv = mips_cdmm_get_drvdata(dev); > @@ -1152,12 +1120,11 @@ static struct mips_cdmm_driver mips_ejtag_fdc_tty_driver = { > .name = "mips_ejtag_fdc", > }, > .probe = mips_ejtag_fdc_tty_probe, > - .remove = mips_ejtag_fdc_tty_remove, > .cpu_down = mips_ejtag_fdc_tty_cpu_down, > .cpu_up = mips_ejtag_fdc_tty_cpu_up, > .id_table = mips_ejtag_fdc_tty_ids, > }; > -module_mips_cdmm_driver(mips_ejtag_fdc_tty_driver); > +builtin_mips_cdmm_driver(mips_ejtag_fdc_tty_driver); > > static int __init mips_ejtag_fdc_init_console(void) > { > -- > 2.6.1 > >
Attachment:
signature.asc
Description: Digital signature