From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753920Ab1LFGxh (ORCPT ); Tue, 6 Dec 2011 01:53:37 -0500 Received: from ch1ehsobe004.messaging.microsoft.com ([216.32.181.184]:31917 "EHLO ch1outboundpool.messaging.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753080Ab1LFGxf (ORCPT ); Tue, 6 Dec 2011 01:53:35 -0500 X-SpamScore: -6 X-BigFish: VS-6(zz1432N98dKc8kzz1202hzz8275bh8275dhz2dh2a8h668h839h944h) X-Forefront-Antispam-Report: CIP:70.37.183.190;KIP:(null);UIP:(null);IPV:NLI;H:mail.freescale.net;RD:none;EFVD:NLI Date: Tue, 6 Dec 2011 15:06:16 +0800 From: Shawn Guo To: Dong Aisheng CC: , , , , Subject: Re: [RFC PATCH 1/3] pinctrl: imx: add pinmux imx core driver Message-ID: <20111206070615.GJ2980@S2100-06.ap.freescale.net> References: <1322999384-7886-1-git-send-email-b29396@freescale.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1322999384-7886-1-git-send-email-b29396@freescale.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Dec 04, 2011 at 07:49:42PM +0800, Dong Aisheng wrote: > --- > This patch series shows the basic idea of driver design. There're still > some TODOes like adding more pinmux functions and gpio support. > The patch is here for request for comments on the driver design > and other might exist issues. > > Signed-off-by: Dong Aisheng > Cc: Linus Walleij > Cc: Sascha Hauer > Cc: Shawn Guo > --- > drivers/pinctrl/Kconfig | 6 + > drivers/pinctrl/Makefile | 2 + > drivers/pinctrl/pinmux-imx-core.c | 284 +++++++++++++++++++++++++++++++++++++ > drivers/pinctrl/pinmux-imx-core.h | 83 +++++++++++ > 4 files changed, 375 insertions(+), 0 deletions(-) > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig > index ef56644..214d072 100644 > --- a/drivers/pinctrl/Kconfig > +++ b/drivers/pinctrl/Kconfig > @@ -40,4 +40,10 @@ config PINMUX_U300 > help > Say Y here to enable the U300 pinmux driver > > +config PINMUX_IMX > + bool "IMX pinmux driver" > + depends on ARCH_MXC > + select PINMUX > + help > + Say Y here to enable the IMX pinmux driver > endif > diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile > index bdc548a..764657b 100644 > --- a/drivers/pinctrl/Makefile > +++ b/drivers/pinctrl/Makefile > @@ -4,5 +4,7 @@ ccflags-$(CONFIG_DEBUG_PINMUX) += -DDEBUG > > obj-$(CONFIG_PINCTRL) += core.o > obj-$(CONFIG_PINMUX) += pinmux.o > +obj-$(CONFIG_PINMUX_IMX) += pinmux-imx-core.o \ > + pinmux-imx53.o pinmux-imx6q.o You do not have pinmux-imx53.c and pinmux-imx6q.c in this patch yet. > obj-$(CONFIG_PINMUX_SIRF) += pinmux-sirf.o > obj-$(CONFIG_PINMUX_U300) += pinmux-u300.o > diff --git a/drivers/pinctrl/pinmux-imx-core.c b/drivers/pinctrl/pinmux-imx-core.c > new file mode 100644 > index 0000000..1e60932 > --- /dev/null > +++ b/drivers/pinctrl/pinmux-imx-core.c > @@ -0,0 +1,284 @@ > +/* > + * Core driver for the imx pin controller > + * > + * Copyright (C) 2011 Freescale Semiconductor, Inc. > + * Copyright (C) 2011 Linaro Ltd. > + * > + * Author: Dong Aisheng > + * > + * 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 > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include "pinmux-imx-core.h" > + > +#define DRIVER_NAME "pinmux-imx" > + > +/** > + * @dev: a pointer back to containing device > + * @virtbase: the offset to the controller in virtual memory > + */ > +struct imx_pmx { > + struct device *dev; > + struct pinctrl_dev *pctl; > + void __iomem *virtbase; > + struct imx_pinctrl_info *info; > +}; > + > +#define IMX_PINCTRL_REG_SIZE 4 > +#define IMX_PINCTRL_MAX_FUNC 7 > + > +extern struct imx_pinctrl_info mx53_pinctrl_info; > +extern struct imx_pinctrl_info mx6q_pinctrl_info; > + You do not have mx53_pinctrl_info and mx6q_pinctrl_info in this patch yet. Regards, Shawn