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

Scott Wood
2016-07-15T19:12:57Z

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