Re: [v10, 3/7] soc: fsl: add GUTS driver for QorIQ platforms

Scott Wood
2016-07-15T19:13:13Z

On Fri, 2016-07-15 at 12:43 -0400, Paul Gortmaker wrote:
> On Wed, May 4, 2016 at 11:12 PM, Yangbo Lu <yangbo.lu@nxp.com> wrote:
> >
> > The global utilities block controls power management, I/O device
> > enabling, power-onreset(POR) configuration monitoring, alternate
> > function selection for multiplexed signals,and clock control.
> >
> > This patch adds GUTS driver to manage and access global utilities
> > block.
> >
> > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
> > Acked-by: Scott Wood <oss@buserror.net>
> > ---
> > Changes for v4:
> >         - Added this patch
> > Changes for v5:
> >         - Modified copyright info
> >         - Changed MODULE_LICENSE to GPL
> >         - Changed EXPORT_SYMBOL_GPL to EXPORT_SYMBOL
> >         - Made FSL_GUTS user-invisible
> >         - Added a complete compatible list for GUTS
> >         - Stored guts info in file-scope variable
> >         - Added mfspr() getting SVR
> >         - Redefined GUTS APIs
> >         - Called fsl_guts_init rather than using platform driver
> >         - Removed useless parentheses
> >         - Removed useless 'extern' key words
> > Changes for v6:
> >         - Made guts thread safe in fsl_guts_init
> > Changes for v7:
> >         - Removed 'ifdef' for function declaration in guts.h
> > Changes for v8:
> >         - Fixes lines longer than 80 characters checkpatch issue
> >         - Added 'Acked-by: Scott Wood'
> > Changes for v9:
> >         - None
> > Changes for v10:
> >         - None
> > ---
> >  drivers/soc/Kconfig      |   2 +-
> >  drivers/soc/fsl/Kconfig  |   8 +++
> >  drivers/soc/fsl/Makefile |   1 +
> >  drivers/soc/fsl/guts.c   | 119
> > ++++++++++++++++++++++++++++++++++++++++++++
> >  include/linux/fsl/guts.h | 126 +++++++++++++++++++++++++++++-------------
> > -----
> >  5 files changed, 207 insertions(+), 49 deletions(-)
> >  create mode 100644 drivers/soc/fsl/Kconfig
> >  create mode 100644 drivers/soc/fsl/guts.c
> >
> > diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
> > index cb58ef0..7106463 100644
> > --- a/drivers/soc/Kconfig
> > +++ b/drivers/soc/Kconfig
> > @@ -2,7 +2,7 @@ menu "SOC (System On Chip) specific Drivers"
> >
> >  source "drivers/soc/bcm/Kconfig"
> >  source "drivers/soc/brcmstb/Kconfig"
> > -source "drivers/soc/fsl/qe/Kconfig"
> > +source "drivers/soc/fsl/Kconfig"
> >  source "drivers/soc/mediatek/Kconfig"
> >  source "drivers/soc/qcom/Kconfig"
> >  source "drivers/soc/rockchip/Kconfig"
> > diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig
> > new file mode 100644
> > index 0000000..b313759
> > --- /dev/null
> > +++ b/drivers/soc/fsl/Kconfig
> > @@ -0,0 +1,8 @@
> > +#
> > +# Freescale SOC drivers
> > +#
> > +
> > +source "drivers/soc/fsl/qe/Kconfig"
> > +
> > +config FSL_GUTS
> > +       bool
> > diff --git a/drivers/soc/fsl/Makefile b/drivers/soc/fsl/Makefile
> > index 203307f..02afb7f 100644
> > --- a/drivers/soc/fsl/Makefile
> > +++ b/drivers/soc/fsl/Makefile
> > @@ -4,3 +4,4 @@
> >
> >  obj-$(CONFIG_QUICC_ENGINE)             += qe/
> >  obj-$(CONFIG_CPM)                      += qe/
> > +obj-$(CONFIG_FSL_GUTS)                 += guts.o
> > diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c
> > new file mode 100644
> > index 0000000..fa155e6
> > --- /dev/null
> > +++ b/drivers/soc/fsl/guts.c
> > @@ -0,0 +1,119 @@
> > +/*
> > + * Freescale QorIQ Platforms GUTS Driver
> > + *
> > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + */
> > +
> > +#include <linux/io.h>
> > +#include <linux/module.h>
> Seems there was lots of discussion on this.  If it does end up being
> resent, it would be nice to get the module.h and other modular stuff
> gone since it is a bool Kconfig.

I plan to resend just the GUTS driver portion and send it through the PPC
tree.

I don't see any modular stuff in there besides the linux/module.h include.

-Scott