[PATCH v4] bus: imx-weim: support CS GPR configuration

Philippe De Muyter phdm at macq.eu
Mon Feb 17 05:52:24 EST 2014


On Mon, Feb 17, 2014 at 05:22:47PM +0800, Shawn Guo wrote:
> On Mon, Feb 17, 2014 at 09:52:21AM +0100, Philippe De Muyter wrote:
> > On Sun, Feb 16, 2014 at 10:31:16PM +0800, Shawn Guo wrote:
> > > On Sun, Feb 16, 2014 at 06:22:44PM +0400, Alexander Shiyan wrote:
> > > > Воскресенье, 16 февраля 2014, 22:03 +08:00 от Shawn Guo <shawn.guo at linaro.org>:
> > > > > For imx50-weim and imx6q-weim type of devices, there might a WEIM CS
> > > > > space configuration register in General Purpose Register controller,
> > > > > e.g. IOMUXC_GPR1 on i.MX6Q.
> > > > ...
> > > > > +static int __init imx_weim_gpr_setup(struct platform_device *pdev)
> > > > > +{
> > > > > +	struct device_node *np = pdev->dev.of_node;
> > > > > +	struct property *prop;
> > > > > +	const __be32 *p;
> > > > > +	struct regmap *gpr;
> > > > > +	u32 gprvals[4] = {
> > > > > +		05,	/* CS0(128M) CS1(0M)  CS2(0M)  CS3(0M) */
> > > > > +		033,	/* CS0(64M)  CS1(64M) CS2(0M)  CS3(0M) */
> > > > > +		0113,	/* CS0(64M)  CS1(32M) CS2(32M) CS3(0M) */
> > > > > +		01111,	/* CS0(64M)  CS1(32M) CS2(32M) CS3(0M) */
> > > > > +	};
> > > > > +	u32 gprval = 0;
> > > > > +	u32 val;
> > > > > +	int cs = 0;
> > > > > +	int i = 0;
> > > > > +
> > > > > +	gpr = syscon_regmap_lookup_by_phandle(np, "fsl,weim-cs-gpr");
> > > > > +	if (IS_ERR(gpr)) {
> > > > > +		dev_dbg(&pdev->dev, "failed to find weim-cs-gpr\n");
> > > > > +		return 0;
> > > > 
> > > > Only one comment:
> > > > You do not use these error codes in the probe(),
> > > > so let's declare this function as void.
> > > 
> > > Oh, yes.  I should check return of imx_weim_gpr_setup() in probe().
> > > Will add in the next version.
> > 
> > Well, as all the error cases are already covered by error messages, there is
> > no added value in testing that again in probe().  As Alexander wrote, you can
> > declare imx_weim_gpr_setup() as 'void'.
> 
> Hmm, shouldn't we stop probing when running into the error of invalid
> ranges configuration?

I agree, we could do that :)

Philippe

-- 
Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles



More information about the linux-arm-kernel mailing list