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

From: Scott Wood
Date: Fri Jul 15 2016 - 15:13:28 EST


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@xxxxxxx> 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@xxxxxxx>
> > Acked-by: Scott Wood <oss@xxxxxxxxxxxx>
> > ---
> > 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